diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 5c2096cfe4d88b934ccad403e99147eb00b7bd03..58834f4597e5d1393cc83f5241ba5a025e29b064 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 466d8d2c359eb9f08fee284092a51e6240e05d02..d7463385ae587553d7ef6c708368e7d458e3f418 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 0000000000000000000000000000000000000000..8cc9a80758d331f13d77c107e1d29a41b5f8dfb5 --- /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 0000000000000000000000000000000000000000..1ddcd983f31b22fc88b25d5752f839c0b1d38fd3 --- /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 22940f5ea9895802e9a0520d00bf87d9283a18d9..a4f1c61e8f59119409805889074f42184edab7c6 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 360de6347ae2525da923af8badfd4263712327fd..ba19dc3bb41eab373afe125b2874aafd25e5027e 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 7c52fb76897811e118de63afdba849007abb8b36..9a73903d6df1c13050792807b6976a79d18488f5 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ -Copyright (c) 2003-2018 Eelco Dolstra and the Nixpkgs/NixOS contributors +Copyright (c) 2003-2019 Eelco Dolstra and the Nixpkgs/NixOS contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/README.md b/README.md index 29c023e4dcdff0d254eb2dd526188621769c4f35..d589b953d182315d0a15b6d1383ffd66d1261244 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 cb07135e6858f2cd23d356bcd0c18aee48f359b6..b5c58be03d150485cea560432ab36171e79ceab3 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 cd6d7eb8d1c85fff5098c4935bb091c07b24303b..e7ca31b20d71b0c58f9c9b4e40e47122ca4224d1 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 d2c7a1baae9c689da80f553a6a956664e81b1f92..48356247a49e1bf07d86462998eec4293b944745 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 8a5ff8dcb8e0a409f6b344e684880d924a2ceb07..b497fa4e2722cafe5cd36f875dc69bdfd67fac72 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 d28442b7a2c6ab6c12e03edcc2a038bbc102462d..523c1c9c8f03030e76ba0971c584b561114a90ac 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 40cf11304eae4d782004bc32723d7fcc7b0ba8f5..b7844da195d7f58f18f25ed5ce3aa72cc99bf366 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 7ceaec28af38b781a1a66acbd2266cc65a9d4093..d9051167dee5ded1afd8d618226fac5f8cc1c39e 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 0000000000000000000000000000000000000000..53990b6771962097c646d3f0b45ef32870ba0d30 --- /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 421f848d25abffc5b1e782a8af117f57dbaaac43..5199b949e7b869c6431c86028650ae802cae18ce 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 0000000000000000000000000000000000000000..bc13e2b70dec972d20a6c57b5365c97a03782ae6 --- /dev/null +++ b/doc/doc-support/parameters.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/doc/functions.xml b/doc/functions.xml index 53b3654fc450825f86d88fbb128568120f2bfcd0..3b60f46d81dadfc446cd99603a1286115a93f829 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 0000000000000000000000000000000000000000..e6dbc22f48ddd14489fa41c3faf3277423f1c90d --- /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 ff446cbfffdd813556f61a50040e19f8009c56a6..a284182bb047c1b3c4c6785179f6abfe4132651c 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 b3bd2fe0f45e257ab859cac7d515dbf3a83cfbb7..a736008c9d41817c1027c3d214da34815091ad50 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 b01de3c6e41345d133952f003845547e13897b1f..e6aedaa6efdd5e77b2c2c6113af709e5b687cb85 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 465b38e0bf1d0f3aaf8d1d306aaef97fb5a09ef9..9011570d1eaed005b66fc7359c71e01dd098701e 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 0000000000000000000000000000000000000000..d58c98a65a2e7fd8639eb2028253fd307c88e05d --- /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 0000000000000000000000000000000000000000..123da80c5477583b1f9301f3dba9fa65f9494e5f --- /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 0000000000000000000000000000000000000000..d0e3efdf6c674c8d7cb7a42d8a9ca729c898b0d6 --- /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 92a07aedb5b9cf08c6aacf6322268c71fbdaa18c..0211a4f31728141f77f873ceaff0a6c253d3a349 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 237f3441874f02d6fb7b2920b0636d1d2dd9407b..f268c552566028a335a98386883ab2ea13b0e3d7 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 ac7a83ed426508d59fb26861568829451699f914..dee7f2d74191eca4a69458be47500329635066ca 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 { - name = "cowboy"; - version = "1.0.4"; - - src = fetchHex { - pkg = "cowboy"; - version = "1.0.4"; - sha256 = "6a0edee96885fae3a8dd0ac1f333538a42e807db638a9453064ccfdaa6b9fdac"; - }; - - beamDeps = [ cowlib ranch ]; - - meta = { - description = '' - Small, fast, modular HTTP server written in Erlang - ''; - license = stdenv.lib.licenses.isc; - homepage = https://github.com/ninenines/cowboy; - }; - } - +{ buildErlangMk, fetchHex, cowlib, ranch }: + +buildErlangMk { + name = "cowboy"; + version = "1.0.4"; + + src = fetchHex { + pkg = "cowboy"; + version = "1.0.4"; + sha256 = "6a0edee96885fae3a8dd0ac1f333538a42e807db638a9453064ccfdaa6b9fdac"; + }; + + beamDeps = [ cowlib ranch ]; + + 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 { - name = "absinthe_plug"; - version = "1.0.0"; - - src = fetchHex { - pkg = "absinthe_plug"; - version = "1.0.0"; - sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33"; - }; - - 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; - }; - } - +{ buildMix, fetchHex, plug, absinthe }: + +buildMix { + name = "absinthe_plug"; + version = "1.0.0"; + + src = fetchHex { + pkg = "absinthe_plug"; + version = "1.0.0"; + sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33"; + }; + + 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; + }; +} + 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] - - 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> - + +$ 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> + 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 0000000000000000000000000000000000000000..07bfc65a553f00076c457a9cfa20378aa9a50f9a --- /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 ab4c9f0f7c8857f6d527b2dcbdc0e8e37c678f45..b2b4962cb5f633666b65b10270cf6c2675b50a5d 100644 --- a/doc/languages-frameworks/go.xml +++ b/doc/languages-frameworks/go.xml @@ -3,12 +3,91 @@ xml:id="sec-language-go"> Go - - The function buildGoPackage builds standard Go programs. - +
+ Go modules - - buildGoPackage + + The function buildGoModule builds Go programs managed + with Go modules. It builds a + Go + modules through a two phase build: + + + + An intermediate fetcher derivation. This derivation will be used to fetch + all of the dependencies of the Go module. + + + + + A final derivation will use the output of the intermediate derivation to + build the binaries and produce the final output. + + + + + + + buildGoModule + +pet = buildGoModule rec { + name = "pet-${version}"; + version = "0.3.4"; + + src = fetchFromGitHub { + owner = "knqyf263"; + repo = "pet"; + rev = "v${version}"; + sha256 = "0m2fzpqxk7hrbxsgqplkg7h2p7gv6s1miymv3gvw0cz039skag0s"; + }; + + modSha256 = "1879j77k96684wi554rkjxydrj8g3hpp0kvxz03sd8dmwr3lh83j"; + + subPackages = [ "." ]; + + meta = with lib; { + description = "Simple command-line snippet manager, written in Go"; + homepage = https://github.com/knqyf263/pet; + license = licenses.mit; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} + + + + + is an example expression using + buildGoModule, the following arguments are of special significance to the + function: + + + + modSha256 is the hash of the output of the + intermediate fetcher derivation. + + + + + subPackages limits the builder from building child + packages that have not been listed. If subPackages is + not specified, all child packages will be built. + + + + +
+ +
+ Go legacy + + + The function buildGoPackage builds legacy Go programs, + not supporting Go modules. + + + + buildGoPackage deis = buildGoPackage rec { name = "deis-${version}"; @@ -29,56 +108,56 @@ deis = buildGoPackage rec { buildFlags = "--tags release"; } - - - - is an example expression using - buildGoPackage, the following arguments are of special significance to the - function: - - - - goPackagePath specifies the package's canonical Go - import path. - - - - - subPackages limits the builder from building child - packages that have not been listed. If subPackages is - not specified, all child packages will be built. - - - In this example only github.com/deis/deis/client will - be built. - - - - - goDeps is where the Go dependencies of a Go program are - listed as a list of package source identified by Go import path. It could - be imported as a separate deps.nix file for - readability. The dependency data structure is described below. - - - - - buildFlags is a list of flags passed to the go build - command. - - - - - - - The goDeps attribute can be imported from a separate - nix file that defines which Go libraries are needed and - should be included in GOPATH for - buildPhase. - - - - deps.nix + + + + is an example expression using + buildGoPackage, the following arguments are of special significance to the + function: + + + + goPackagePath specifies the package's canonical Go + import path. + + + + + subPackages limits the builder from building child + packages that have not been listed. If subPackages is + not specified, all child packages will be built. + + + In this example only github.com/deis/deis/client will + be built. + + + + + goDeps is where the Go dependencies of a Go program + are listed as a list of package source identified by Go import path. It + could be imported as a separate deps.nix file for + readability. The dependency data structure is described below. + + + + + buildFlags is a list of flags passed to the go build + command. + + + + + + + The goDeps attribute can be imported from a separate + nix file that defines which Go libraries are needed and + should be included in GOPATH for + buildPhase. + + + + deps.nix [ { @@ -101,60 +180,62 @@ deis = buildGoPackage rec { } ] - - - - - - - goDeps is a list of Go dependencies. - - - - - goPackagePath specifies Go package import path. - - - - - fetch type that needs to be used to get package source. - If git is used there should be url, - rev and sha256 defined next to it. - - - - - - - To extract dependency information from a Go package in automated way use - go2nix. It can - produce complete derivation and goDeps file for Go - programs. - - - - buildGoPackage produces - where - bin includes program binaries. You can test build a Go - binary as follows: + + + + + + + goDeps is a list of Go dependencies. + + + + + goPackagePath specifies Go package import path. + + + + + fetch type that needs to be used to get package + source. If git is used there should be + url, rev and + sha256 defined next to it. + + + + + + + To extract dependency information from a Go package in automated way use + go2nix. It can + produce complete derivation and goDeps file for Go + programs. + + + + buildGoPackage produces + where + bin includes program binaries. You can test build a Go + binary as follows: - $ nix-build -A deis.bin - - or build all outputs with: +$ 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. - - - - You may use Go packages installed into the active Nix profiles by adding the - following to your ~/.bashrc: +$ 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: 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 81f662f1a17d382d6df8e49002c597107440e0f3..48d22831cd9b01de19b45d6d4908823cc87c3f00 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 50979d76d98be98951fcee60f74ae0f2e4a52fe2..e88015f08e3f872cf3fbff0eb6d3ac877581a27a 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 ]; +} ``` -$ nix-env -iE 'pkgs: pkgs.idrisPackages.with-packages (with pkgs.idrisPackages; [ contrib pruviloj ])' + +And then: + +``` +$ # 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 4564df98fe99b34187481e98fd441927bb48e4d8..cd4e95cfae69a699d8d6d843c33958882a3da7de 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 667a795a8d3ac50a558c4a4d01cee7d96f4de47a..68a1a097984deffaa742f83705e38e1b07db39b3 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 2101402999607e5df56493728912f0f34e8a2e68..5144bb24ff6e729573bbc468d53b061c1a2523ee 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 ea0770616802a0fa27da7daa8106bfb126ce6f7d..b7006ecba998137d3baad7347d72b75ba59f62e6 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 a675e66658630532ee1ea2c9b6aa7ef7dabbf0e6..065212a0e18079459bbe91b63ef65b31d7dd4d23 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 acd2bf769b0dc18b4372a7a1d995a8852a698a33..4963c97a6c9a4fdd16ecd9d8543e887f2b1c98b6 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"; - -buildInputs = with pkgs.pythonPackages; [ pyramid ]; +pythonPackages.buildPythonPackage { + name = "myproject"; + buildInputs = with 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 b9b605b81da1284dbb6749365a75fad6f4dfe3fb..3332ce8c06e429e311b7ef6032d4034aa3d83fbc 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 }: - - 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. - +mkDerivation { + pname = "myapp"; + version = "1.0"; - - 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. - -
+ buildInputs = [ qtbase ]; +} + + -
- Packaging Applications for Nixpkgs + + + + 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. + + + - - 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. - + + 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 { + # ... - - 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. - + 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 + ''; +} + + + + - 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. + 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. -
+ + + + Libraries are built with every available version of Qt. Use the meta.broken + attribute to disable the package for unsupported Qt versions: + +mkDerivation { + # ... + + # Disable this library with Qt < 5.9.0 + meta.broken = builtins.compareVersions qtbase.version "5.9.0" < 0; +} + + + + + 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> + +{ + # ... + + 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/ {}; + + # ... +} + + + + +
diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md index 14b36f55f52f2a0402c4818fe370ea4c27943ae4..2d9338f2e89bf0ce1efe600e0ec6ba9380ef0c4d 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 5792a16963a97fe3bd78059acabce2222683c7eb..97f274933bef274aff2087abbfc75cdfe25ece6d 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 e4c486a0e52e57e16f0c1c794a151deaf73c4d91..537e7b93e5230dbcaa2df1c2a5831dc3fb6bde7e 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"; - - vimrcConfig.vam.knownPlugins = plugins; # optional - vimrcConfig.vam.pluginDictionaries = [ - copy paste output2 here - ]; - - # Pathogen would be - # vimrcConfig.pathogen.knownPlugins = plugins; # plugins - # vimrcConfig.pathogen.pluginNames = ["tlib"]; - }; +``` +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"]; + }; +``` 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 f31897aed039add2365f5ea718c5ae210913f287..ab845e1a10866a972445e31d08e09d07bd644807 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 774ed2db75009a28378c74d48eb1c37f7aaec637..58c390a68b84da9bbf9e8c18f50d9a8c778db6ea 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 d18e282c5bd341291fd6cc9d699edad6c231625c..d0247e081f9958fa46d18b9d15519f45cef8a97e 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 e23593107d8d72a7779e0c3fcfc64a7f471286ce..d2c660e22a9b010dfb580d2885e0eb9307e2e38a 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 update Elm compiler, see + nixpkgs/pkgs/development/compilers/elm/README.md. - To package Elm applications, read about elm2nix. + 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 0000000000000000000000000000000000000000..a176f4d13959895c51ea78ca42b256ed9d46ced0 --- /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 6050271dbf6f985836e8d66d34eb2f89578d4506..157d3fe2fcdda7b51f51a648957e90d7e5477174 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 8dd673ed2733fe8eea8610659862504e720da712..292d66864a4c1d073f7186b16996eaeae0b3f377 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 f541b7f22daa6e5b3244263c5da3b79e716bafb2..5aa950625efa55cf350508c44d4f07fdbe889872 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 81bd4556193f1e6e05d553584cfb8f5a0e479806..fe5929656565d8bf1b4b8255ea2f789d526ba2c2 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. - - - 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 + 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 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 4a6a2c634a5820be0dd913c01152cd5f7cdce791..a04ec08b048438f61140fed442ebad15eb69f4ee 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. + If you are updating a package's version, you can use nix-review to make + sure all packages that depend on the updated package still compile + correctly. The nix-review utility can look for and build + all dependencies either based on uncommited changes with the + wip option or specifying a github pull request number. - review uncommitted changes: -nix-shell -p nox --run "nox-review wip" + review changes from pull request number 12345: +nix-shell -p nix-review --run "nix-review pr 12345" - review changes from pull request number 12345: -nix-shell -p nox --run "nox-review pr 12345" + review uncommitted changes: +nix-shell -p nix-review --run "nix-review wip"
@@ -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 d400907ebb0cbe0c41632ac162de93e46bdec392..18d2dfae1e183e35835b56289f1bca9ad06e3c66 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 2f818c88de5dbd35e8508dcb2dd7951695924bf4..968930526a6394a80d3f5f635b3883a77441bc2b 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 863ba847423ee0c322a3fd3abe5679b28d2414c3..a71654bec6c3673bd9f64202b4918818ec518833 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 b022d8bc11bf6ea0ce872d5cbfde5e49f24aa09a..c964060d2a5c88436f4652084066d8d91991b3a2 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 be541427c2470ae1fc6c22d8f07052d70ac30409..e4fcf959b60c845671e1fde2187c6d0dea3ee0d8 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 5c9d66d8f97b926e619f8bfdb2d4bf591f5f12c1..c3c903c1dfa800eab8f407cb71e7c022381f402c 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 5cea99067aaba5e41d43bf7ecdc24711c17c9e07..e5c0631a5437330bd4b4184d5809cbab763f086e 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 1a9f3f7d1f343b8a2b023f3394ecab30f1abefd3..c4680087b2454f76efbdb0085a8142f0bff3e40f 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 47c881cfbc7cc1cd32802c851029b940b5dbd69e..ae0d74c6721dc48867235cc0321771e7b44ee224 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 77f200952958bb923b0866604c552d5c8b531c05..8aa413f53817b9e60249c1f7478390b2f2b700f7 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 58677c0bdd90089ba0b22a0490540647e988ae50..823f6a915d6e7fe31eb545149e4e235b608b71b1 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 90068f566ed086a01f2241c411e6ceca4e4fda14..4861fe634a02e4a6a50adf3f0c63738d9b8ab613 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 51fb6ae760d1e9fd8c68711b51bd9f73d712fc9b..0000000000000000000000000000000000000000 --- 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 bf186126d4a9b5aa68344c9aea2fdc237df95447..8a95787110b827546f3bce131c593d81eed317d9 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 a20b334311efa254cad505bdcc592c0787cd5b51..0c42689a9b13729959a05c99ba68966452c32f4f 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"; }; - - 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"; }; + armv5tel = { bits = 32; significantByte = littleEndian; family = "arm"; version = "5"; arch = "armv5t"; }; + armv6m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "6"; arch = "armv6-m"; }; + armv6l = { bits = 32; significantByte = littleEndian; family = "arm"; version = "6"; arch = "armv6"; }; + armv7a = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; arch = "armv7-a"; }; + armv7r = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; arch = "armv7-r"; }; + armv7m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; arch = "armv7-m"; }; + armv7l = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; arch = "armv7"; }; + armv8a = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; arch = "armv8-a"; }; + armv8r = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; arch = "armv8-a"; }; + armv8m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; arch = "armv8-m"; }; + aarch64 = { bits = 64; significantByte = littleEndian; family = "arm"; version = "8"; arch = "armv8-a"; }; + aarch64_be = { bits = 64; significantByte = bigEndian; family = "arm"; version = "8"; arch = "armv8-a"; }; + + i386 = { bits = 32; significantByte = littleEndian; family = "x86"; arch = "i386"; }; + i486 = { bits = 32; significantByte = littleEndian; family = "x86"; arch = "i486"; }; + i586 = { bits = 32; significantByte = littleEndian; family = "x86"; arch = "i586"; }; + i686 = { bits = 32; significantByte = littleEndian; family = "x86"; arch = "i686"; }; + x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; arch = "x86-64"; }; mips = { bits = 32; significantByte = bigEndian; family = "mips"; }; mipsel = { bits = 32; significantByte = littleEndian; family = "mips"; }; @@ -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 03bfce256103cac171de1ab090e5739c9c3d5f4a..a2b43c970a411ef6e894d1a5fb1b1bcea48da20e 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -253,22 +253,11 @@ rec { kernelTarget = "zImage"; }; - # https://developer.android.com/ndk/guides/abis#armeabi - armv5te-android = { - name = "armeabi"; - gcc = { - arch = "armv5te"; - float = "soft"; - float-abi = "soft"; - }; - }; - # https://developer.android.com/ndk/guides/abis#v7a armv7a-android = { name = "armeabi-v7a"; gcc = { arch = "armv7-a"; - float = "hard"; float-abi = "softfp"; fpu = "vfpv3-d16"; }; diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index a72777cbf2a685c733ae985c5442ba3b1a878b87..cf344122cf4e427a27e3cc29737de587dec35048 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 a6b26895f3a8dc5af609969226c11fa353b01651..9a18c9d9f613b59868d9d5d54f1d76dd67ebb650 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 923483684cb165427c025fcba5824db40273e10a..a35a06fc6974931ffee770d742afd2d1be2f8ee1 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 0000000000000000000000000000000000000000..5a0fa978a1381c8fb1d484c73178d4c66389a86a --- /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 0000000000000000000000000000000000000000..df092a14f81e2744e2b76378735be4cd0ec93ed4 --- /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 d9a8a006725385216255aeac775bc38b9a02fb81..737d142d253245456df4de5947fc00f5ae9f2387 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 5e12936582159efca6767b81dd2d6b32a45f21a6..5748c09b564d545060641b7601e59d3a8499ed98 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 17489311236d074a5f1e535ab957c669dedc1584..f2710a6f0338d50bb70e8c7f0418a8d6a15215c5 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 7a88e1b9e36bec31e27f839277d24306f2d57cf1..bcb5de0c379b8b2b86909d708d1fc6a41ace241d 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 bbf016194efe846fbc21701e14a93c51e91be3f7..7298ed804bbf06d89968bf8da393f062e0616943 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"; - }; - shmish111 = { - email = "shmish111@gmail.com"; - github = "shmish111"; - name = "David Smith"; + turbomack = { + email = "marek.faj@gmail.com"; + github = "turboMaCk"; + githubId = 2130305; + name = "Marek Fajkus"; + }; + 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 1357f87aaa5d3ced8b152e003037afa2744d88d3..a267a5fa8715dfdbd3f7768304b766b1b8e1260a 100755 --- a/maintainers/scripts/fetch-kde-qt.sh +++ b/maintainers/scripts/fetch-kde-qt.sh @@ -14,12 +14,13 @@ fi tmp=$(mktemp -d) pushd $tmp >/dev/null -wget -nH -r -c --no-parent "${WGET_ARGS[@]}" >/dev/null +wget -nH -r -c --no-parent "${WGET_ARGS[@]}" -A '*.tar.xz.sha256' -A '*.mirrorlist' >/dev/null +find -type f -name '*.mirrorlist' -delete csv=$(mktemp) find . -type f | while read src; do # Sanitize file name - filename=$(basename "$src" | tr '@' '_') + filename=$(gawk '{ print $2 }' "$src" | tr '@' '_') nameVersion="${filename%.tar.*}" name=$(echo "$nameVersion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,' | sed -e 's,-everywhere-src$,,') version=$(echo "$nameVersion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,') @@ -38,8 +39,8 @@ gawk -F , "{ print \$1 }" $csv | sort | uniq | while read name; do latestVersion=$(echo "$versions" | sort -rV | head -n 1) src=$(gawk -F , "/^$name,$latestVersion,/ { print \$3 }" $csv) filename=$(gawk -F , "/^$name,$latestVersion,/ { print \$4 }" $csv) - url="${src:2}" - sha256=$(nix-hash --type sha256 --base32 --flat "$src") + url="$(dirname "${src:2}")/$filename" + sha256=$(gawk '{ print $1 }' "$src") cat >>"$SRCS" <${1:?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" + + 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 -function convert_pkg () { - pkg="$1" - server="" - if [ ! -z "$2" ]; then - server=" --server=$2" - 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 0000000000000000000000000000000000000000..23a940b3691b33edb513a30bc92fd1e72c5e78ba --- /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 120cd5552f4804b4741731b941b995e006b88ef9..04723cb8a366a98144146a51c44923f3e021773b 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 b251a1f5e2c3dfa88bff918741bcd89d85369dd9..9ff599a0090f7b3229553a3ced9bd60cfcfa4c13 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 f078b8c3ba370916661543a3eb524dc4bd4626c6..526803e429baff1c156da6b170643367cd5c9923 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 2ee8bfdd50f1b94ba0adb2d12335724f93d2b69d..42486f01fe8c2b3837166722ec451b26ba62bf7d 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 bb8b7f83d9e0a1b314c7e77f65f7d455d369612e..16d03cc0d1abb6542cc9f97adc4675c3417f5873 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 9bb62bc2ece9e8acde2a354a2b7c4d05fdf5fab4..7ded0c11786e1426a8366dcb00b8bea24ac613dc 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 a41936b373d6f126518f18a20db9ac4ff7387b33..da4877fcdf0809c925d25cfb32014c84f29eaeb4 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 07c6acaa469c9fc5f12ca1e2bcab548e44a64c6c..fb87810ba4612ab5c60978d0d7bcbb2d1ad6a76f 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 786dd5e2390d6579f90e55881717d723c95bf4f8..19bec1f7794d8724a604fb66d48600659551a10d 100644 --- a/nixos/doc/manual/administration/running.xml +++ b/nixos/doc/manual/administration/running.xml @@ -4,7 +4,7 @@ version="5.0" xml:id="ch-running"> Administration - + This chapter describes various aspects of managing a running NixOS system, such as how to use the systemd service manager. diff --git a/nixos/doc/manual/administration/service-mgmt.xml b/nixos/doc/manual/administration/service-mgmt.xml index 0c2085c815597d3a3c1894e70941f774d10cdc35..1b9c745eb59f6b159ee3aa4dab5bea1d8c7f6037 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 a4ca3b651e20e20c7e5e16769195ba2ca6b8f75c..b9d11152d5e1361c9b5e7006f10a5f4a9255d547 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 1d95cfb22b69674816c2ae1c483ebcca54f3be16..80daf6bdbff0b81cc21fb0c723cfb707d2479ed5 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 19159d8db5b6703cfff53084155d6d9befffad1b..c7e882d846fa3c71493f6cf73e99f68391d03ce0 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 cdcfa10b8200ee6980e62b6bb6d888f8622ae5c4..182641055e4d2b8003e0bf56c8940aa0616dc154 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 c77cfe137baa2cb68340bf6d2a93a2dee778fd83..eadafb94b8f6d1b3aabdbbe6c50ffbec236184c4 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 cebc4122c6c66a1271ac9c8bf0770c3cf73f7c5e..5961209bc13ace2d262906147b5422e1d3760fb0 100644 --- a/nixos/doc/manual/configuration/configuration.xml +++ b/nixos/doc/manual/configuration/configuration.xml @@ -4,7 +4,7 @@ version="5.0" xml:id="ch-configuration"> Configuration - + This chapter describes how to configure various aspects of a NixOS machine through the configuration file @@ -21,7 +21,9 @@ + + diff --git a/nixos/doc/manual/configuration/declarative-packages.xml b/nixos/doc/manual/configuration/declarative-packages.xml index be9884fe9dce14bcc6ff6889c96f888283762241..5fb3bcb9f8f568528f60ce620f82b1bbb05aff2f 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 e9ab7cce4eb25ba38726c061a126a3bf63076769..675a5d9a260dcf97ef90bdff5335ade2d6971ad6 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 0000000000000000000000000000000000000000..54a100e44795473a1efe4f54f46191d12799f49b --- /dev/null +++ b/nixos/doc/manual/configuration/kubernetes.xml @@ -0,0 +1,112 @@ + + Kubernetes + + The NixOS Kubernetes module is a collective term for a handful of individual + submodules implementing the Kubernetes cluster components. + + + There are generally two ways of enabling Kubernetes on NixOS. One way is to + enable and configure cluster components appropriately by hand: + +services.kubernetes = { + apiserver.enable = true; + controllerManager.enable = true; + scheduler.enable = true; + addonManager.enable = true; + proxy.enable = true; + flannel.enable = true; +}; + + Another way is to assign cluster roles ("master" and/or "node") to the host. + This enables apiserver, controllerManager, scheduler, addonManager, + kube-proxy and etcd: + + = [ "master" ]; + + While this will enable the kubelet and kube-proxy only: + + = [ "node" ]; + + Assigning both the master and node roles is usable if you want a single node + Kubernetes cluster for dev or testing purposes: + + = [ "master" "node" ]; + + Note: Assigning either role will also default both + and + to true. This sets up + flannel as CNI and activates automatic PKI bootstrapping. + + + As of kubernetes 1.10.X it has been deprecated to open non-tls-enabled ports + on kubernetes components. Thus, from NixOS 19.03 all plain HTTP ports have + been disabled by default. While opening insecure ports is still possible, it + is recommended not to bind these to other interfaces than loopback. To + re-enable the insecure port on the apiserver, see options: + and + + + + + As of NixOS 19.03, it is mandatory to configure: + . The masterAddress + must be resolveable and routeable by all cluster nodes. In single node + clusters, this can be set to localhost. + + + + Role-based access control (RBAC) authorization mode is enabled by default. + This means that anonymous requests to the apiserver secure port will + expectedly cause a permission denied error. All cluster components must + therefore be configured with x509 certificates for two-way tls communication. + The x509 certificate subject section determines the roles and permissions + granted by the apiserver to perform clusterwide or namespaced operations. See + also: + + Using RBAC Authorization. + + + The NixOS kubernetes module provides an option for automatic certificate + bootstrapping and configuration, + . The PKI bootstrapping + process involves setting up a certificate authority (CA) daemon (cfssl) on + the kubernetes master node. cfssl generates a CA-cert for the cluster, and + uses the CA-cert for signing subordinate certs issued to each of the cluster + components. Subsequently, the certmgr daemon monitors active certificates and + renews them when needed. For single node Kubernetes clusters, setting + = true is sufficient and + no further action is required. For joining extra node machines to an existing + cluster on the other hand, establishing initial trust is mandatory. + + + To add new nodes to the cluster: On any (non-master) cluster node where + is enabled, the helper + script nixos-kubernetes-node-join is available on PATH. + Given a token on stdin, it will copy the token to the kubernetes secrets + directory and restart the certmgr service. As requested certificates are + issued, the script will restart kubernetes cluster components as needed for + them to pick up new keypairs. + + + + Multi-master (HA) clusters are not supported by the easyCerts module. + + + + In order to interact with an RBAC-enabled cluster as an administrator, one + needs to have cluster-admin privileges. By default, when easyCerts is + enabled, a cluster-admin kubeconfig file is generated and linked into + /etc/kubernetes/cluster-admin.kubeconfig as determined by + . + export KUBECONFIG=/etc/kubernetes/cluster-admin.kubeconfig + will make kubectl use this kubeconfig to access and authenticate the cluster. + The cluster-admin kubeconfig references an auto-generated keypair owned by + root. Thus, only root on the kubernetes master may obtain cluster-admin + rights by means of this file. + + diff --git a/nixos/doc/manual/configuration/matrix.xml b/nixos/doc/manual/configuration/matrix.xml new file mode 100644 index 0000000000000000000000000000000000000000..ef8d5cbda8895d150fd4d2b6cf57483365a14949 --- /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 5ff5bc22c85eda32c91e60eb73ce0aa29eeb0e14..7ad0ae80a48af09f8626fff30283511b3d36e6db 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 92c0f6202f283a05845912a6f330b582ee68ba11..9d08f7f7bed2f564ed55e37f8f8776f742423003 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 172975199474e11d94e5673647642d35f56027d8..2936f71069d539b5425d55387895145be9951d7e 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 f58a35d626ed322e67d09c2686d7309cee8a13e5..b75f6ba25b4f6173978706deb21b72b6711d6f82 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 87c8b9ee31b69127ac17cbe1fb0913fd15426232..04fa1643d0fd06363e666648c3d664d725d54ef8 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 98829e4696df72ebe396bd10e994ba0cbab5b905..395a5ec357c9069912973f085f31c3c1f19f3adb 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 bf962442ccefa696c83dc41be4aa334bb0fe3219..efa7b8f24c430018ca8a0648406e8280228356f5 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 5ded61d9763b02a119fe010b45dec41a80857559..73e3abc59d0cc33101c07a25115b530cf6ec7ab0 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 b3b433792f5346cdae105a455fd62b736c5b9969..dc83fc837e2a34c207d27297daeb4abe0775ef61 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 54dc61f236e0b348e8c232b3f52e5003cd4a5fd5..1b64497ebf7f10d8b68c57868514784d3f8441fd 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 44ccfc538ad1b83107320c1019887f06c4dec407..192ae955b689627e6fe039308ebcf91539db12c1 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 a24af21bd7f78d5cfeaecf780c097840f7bb1b12..179f2d0be64b34062dc9de0fe52d0bbfc4b682aa 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 d08068650fbe9d4a643c141dbe86b1277a41b357..5d055c45d2d836fd7ee383832a1be48b57340c41 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 66c1c6eb3a115f4369a917c8dd0e637069152a97..4b1710f3a2b111bc528557b53d864493d6a4569a 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 f7e99ff0e35c2b98b64d04adb3a3fa53bec4cc7c..9c0e3a8d7aa4fb649111409a3b360102bfcef7d9 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 +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 +# 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 e7d66f391f55c9d63a6ef53de76be9b2921d7577..7cdc5196e0d2e5acace52796947aa0e22c518a13 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 77d5d963279212513373e00d286e963aba78a418..6ac99c6b2bee4d8af9af202e1a36311b27b3238c 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 02b91773f5dadf9075561237ab8f8438fad63f1e..f9de2db1a084376fe6dbbae8328b8063b8d25bbb 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 23d9ddf88a776c107e9f90f6c4b209a4d5e68a4e..56a596baed005ef20c04764e9840ed46a1f481e7 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 b4791b72970f68de495cd1536fa90598d35bebbf..88369fb891b381c7f1f0e329efe5ce1cc906374e 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 03dee6ff09bb958fdc087c5ae2bd24fd69ca4f1d..43f511b3e96ba710618666983de95efad8cbaf9b 100644 --- a/nixos/doc/manual/development/development.xml +++ b/nixos/doc/manual/development/development.xml @@ -4,7 +4,7 @@ version="5.0" xml:id="ch-development"> Development - + This chapter describes how you can modify and extend NixOS. diff --git a/nixos/doc/manual/development/option-types.xml b/nixos/doc/manual/development/option-types.xml index d993e47bc914bcb32e95d22f1f2bd939b68c8b4e..8fcbb627342b2af55682deae862bd478f7fdbebe 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 d4e5ff3f4312e713d3ff445e51452cab743ea908..1cdec64f69b045295f8f501dd763d2e0cf07eea1 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 c15ad448317fdb60d7bdce65fe7daebdc159d49c..e390d62fde2f80b3f0851aaf398661450662b38c 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 eadbe1ea4f2691524561585a49ac7a8ac4a4755b..13ae1ed9369998c872a452c769533b41ed7dcdfc 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 eec9b56b1c07ca141aab3e03aebfcbc7a652e84e..3c30c782746df4ab9180803882adbf29542ff0bb 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 63f5f3de7f4df781bb2fa7ddb05f84214a5cc4ea..902f995fbc1be9636474621cf1fd55e86319c1ba 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 4a2615c9407b0174df5938a3891306b11e9acb22..6be2d0a4d231f62c78d6c198d1663b5b948e0c4f 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 1a116ec0b6556dc8ef698dc86870cbc2765ebf83..48193d986ab7c50fa8b3ce90a07aae3cf7cea7ce 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 d4276be95d6893df24151ab1f63ecc5652c6b011..2901f462dee04ae2e51e0f59a33093602a837dbc 100644 --- a/nixos/doc/manual/installation/installation.xml +++ b/nixos/doc/manual/installation/installation.xml @@ -4,7 +4,7 @@ version="5.0" xml:id="ch-installation"> Installation - + This section describes how to obtain, install, and configure NixOS for first-time use. diff --git a/nixos/doc/manual/installation/installing-from-other-distro.xml b/nixos/doc/manual/installation/installing-from-other-distro.xml index d1e49a2a1597cc903909379595fa7ba785a69b96..8ed45899fd7ff828fe0d80081972c7fa96b0cc49 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 c0372e8ebd9bb766eed9178298657cfdba7e40e4..83598635accab54bd732d5e0f358331d17835e06 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 766785dfe070e9862e955bbfb47e49ba9c0f5f42..5c86eacfbf45c509e21815a56c749a41151ab952 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 8e94f946c5eef2a8f35ea6575c220b1212a951fa..9cea2db610e0d85d9b10c484cac9a39e79738d68 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 69668b1d4bd601d5d8aa38bd3cbb3739d642da72..35b4d266e12efa5c29e33f30e680d99d51aaedc8 100644 --- a/nixos/doc/manual/installation/upgrading.xml +++ b/nixos/doc/manual/installation/upgrading.xml @@ -14,11 +14,11 @@ Stable channels, such as nixos-17.03. + xlink:href="https://nixos.org/channels/nixos-19.03">nixos-19.03. These only get conservative bug fixes and package upgrades. For instance, a channel update may cause the Linux kernel on your system to be upgraded - from 4.9.16 to 4.9.17 (a minor bug fix), but not from - 4.9.x to 4.11.x (a + from 4.19.34 to 4.19.38 (a minor bug fix), but not from + 4.19.x to 4.20.x (a major change that has the potential to break things). Stable channels are generally maintained until the next stable branch is created. @@ -38,7 +38,7 @@ Small channels, such as nixos-17.03-small + xlink:href="https://nixos.org/channels/nixos-19.03-small">nixos-19.03-small or nixos-unstable-small. @@ -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 87e4f3dae869072658a6dbd32d4b427d880920a0..7d6e04e0dd90bbf056bb6070adcc71989cc6a0b6 100644 --- a/nixos/doc/manual/man-nixos-build-vms.xml +++ b/nixos/doc/manual/man-nixos-build-vms.xml @@ -24,8 +24,14 @@ - - + + + + + name + value + + network.nix @@ -115,6 +121,18 @@ + + + name value + + + Set the Nix configuration option + name to value. + This overrides settings in the Nix configuration file (see + nix.conf5). + + + diff --git a/nixos/doc/manual/man-nixos-enter.xml b/nixos/doc/manual/man-nixos-enter.xml index 42edaa1ae5b607a7a61964b439a3e57033403c25..1481db467122d9577e807c67a80b14884bbef237 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 43d6c2696a2817e22b92ecb3582982b433f0ed7f..61531a8f01ca043d6f37dc620cde68871eeba0cb 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 25f4f40613ace000cfa488e9e193a3e922a23e0b..4fb94ee7494c86a346143e2960e946404e4db2b8 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 d436cce742a2b912d293babf693e0676705d783e..3e316e10d4eb4d5c14387f0b6d4094769bfd0ec1 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 b6a247286d4b2b7ddb7b9ddcc2019e18c80a24f4..4c20cfcdd7d2f6a120c17e728229fe79642f24e5 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 0390dda6468fa3ab8fb161dd2b025bc0aadc44b2..f5a1dd2d69f49b1aae4b03ef531f849e86d4d221 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 a222bfa29d5af27fbf3e17c242434d6481bbbc7d..02b5914772143cdaf8f28b4049f29c10c9448363 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 e500c9d634224224cbe9a376efe8a03296591ee8..5c4d99701785a730f1caa7fd68158b9b4d0ff626 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 6ca79e2bc00da1d145c5c37af99d59a8af5477de..86f4a1ccfb788fc3f356bb0c169f074f3d065ad7 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 8715a05f508b6e85c5947db0570c580d034e60a4..3f10b26223ddcc2702eb65918f0ab07035f71b0c 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 6f78983d48294298751b55f67b40a49222689907..8ff1681d3b4a9a6207cd9dc83970cc946a3bc7f6 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. + + + 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. + + + - Because of that it is recommended to retain this precaution, however if you'd like to change this set: + 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. - - - - - - - - - - - - - to false and enable your preferred display manager. -
@@ -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]]>. - - - - + might do more extensive checks are being executed. Previously, the whole + account module verification was exited prematurely in case a nss module + provided the account name to pam_unix. The LDAP and + SSSD NixOS modules already add their NSS modules when enabled. In case + your setup breaks due to some later PAM account module previosuly + shadowed, or failing NSS lookups, please file a bug. You can get back the + old behaviour by manually setting +.text]]> + . + + + + The pam_unix password module is now loaded with its control field set to sufficient instead of - required, so that password managed only - by later PAM password modules are being executed. - Previously, for example, changing an LDAP account's password through PAM - was not possible: the whole password module verification - was exited prematurely by pam_unix, - preventing pam_ldap to manage the password as it should. - - - - - fish has been upgraded to 3.0. - It comes with a number of improvements and backwards incompatible changes. - See the fish release notes for more information. - - - - - The ibus-table input method has had a change in config format, which - causes all previous settings to be lost. See - this commit message - for details. - - - - - 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). - - + required, so that password managed only by later PAM + password modules are being executed. Previously, for example, changing an + LDAP account's password through PAM was not possible: the whole password + module verification was exited prematurely by pam_unix, + preventing pam_ldap to manage the password as it + should. + + + + + fish has been upgraded to 3.0. It comes with a number + of improvements and backwards incompatible changes. See the + fish + release + notes for more information. + + + + + The ibus-table input method has had a change in config format, which + causes all previous settings to be lost. See + this + commit message for details. + + + + + NixOS module system type types.optionSet and + lib.mkOption argument options are + deprecated. Use types.submodule instead. + (#54637) + + + + + matrix-synapse has been updated to version 0.99. It + will no + longer generate a self-signed certificate on first launch and will + be + the + last version to accept self-signed certificates. As such, it is now + recommended to use a proper certificate verified by a root CA (for example + Let's Encrypt). The new manual + chapter on Matrix contains a working example of using nginx as a + reverse proxy in front of matrix-synapse, using Let's + Encrypt certificates. + + mailutils now works by default when sendmail is not in a setuid wrapper. As a consequence, - the sendmailPath argument, having lost its main use, has - been removed. + 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 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 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 httpd service now saves log files with a .log file extension by default for - easier integration with the logrotate service. - + + The astah-community package was removed from nixpkgs due to it being + discontinued and the downloads not being available anymore. + - - The owncloud server packages and httpd subservice module were removed - from nixpkgs due to the lack of maintainers. - + + The httpd service now saves log files with a .log file extension by + default for easier integration with the logrotate service. + - - 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 owncloud server packages and httpd subservice module were 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. + 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. + + + + + 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. - 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 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 + . - The Grafana module now supports declarative - datasource and dashboard - provisioning. + A new subcommand nixos-rebuild edit was added. diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml new file mode 100644 index 0000000000000000000000000000000000000000..11c13b8d942b118ad10180443184685d76c4473f --- /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 a5580f4712ebca824c66709ceec356ddf3e9082d..1bad63b9194ce4cfdfa696a14c02484a64181921 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 5f05b037bdde39a51af48a5c697bfe0de4daf522..77490ca3762a53688b0ebd3b8a63dc6e38f8b69f 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 47c6374c81adab155a061598848cb2d37ac4247d..932adcd979670d179294b4e97578ef39df083a85 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 0000000000000000000000000000000000000000..88e052106a2890f02c1121f2e1e9bee733cdf727 --- /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 006da889671eea860b18c27266614761aff0c5ca..4d3d63cd2dbf92755c604403450c2b961b3bc7ca 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 a13e76a695603f5d7350157710f3b06c84f66e45..7670687710363d90b9b5e51dbce5b11aa65639d6 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 103721cadc383dc11420423ec7efebcf5f4893fd..e272f66a5765e0f0534a11923d5083aa0669eda4 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 242c2a4dd442f2e15b5c44d023d20dde54c3da83..11247666ecda9d7d41cde372c93fe0bf7d0efd91 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 0000000000000000000000000000000000000000..37b46db059c063e726aae8866dda32d9b18bb5e6 --- /dev/null +++ b/nixos/maintainers/scripts/cloudstack/cloudstack-image.nix @@ -0,0 +1,23 @@ +# nix-build '' -A config.system.build.cloudstackImage --arg configuration "{ imports = [ ./nixos/maintainers/scripts/cloudstack/cloudstack-image.nix ]; }" + +{ config, lib, pkgs, ... }: + +with lib; + +{ + imports = + [ ../../../modules/virtualisation/cloudstack-config.nix ]; + + system.build.cloudstackImage = import ../../../lib/make-disk-image.nix { + inherit lib config pkgs; + diskSize = 8192; + format = "qcow2"; + configFile = pkgs.writeText "configuration.nix" + '' + { + imports = [ ]; + } + ''; + }; + +} diff --git a/nixos/maintainers/scripts/ec2/amazon-image.nix b/nixos/maintainers/scripts/ec2/amazon-image.nix index eeae27ede0f89f04f43dc5d12a284cc87fd7559e..88d95e675447cb568da555c1fbb9b19e3beb7f22 100644 --- a/nixos/maintainers/scripts/ec2/amazon-image.nix +++ b/nixos/maintainers/scripts/ec2/amazon-image.nix @@ -53,6 +53,7 @@ in { pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package partitionTableType = if config.ec2.hvm then "legacy" else "none"; diskSize = cfg.sizeMB; + fsType = "ext4"; configFile = pkgs.writeText "configuration.nix" '' { diff --git a/nixos/modules/config/fonts/fontconfig-penultimate.nix b/nixos/modules/config/fonts/fontconfig-penultimate.nix index 7e05e77d967a29606e168fac199a28a4ae5160dd..7100f10dcfc88f396418a51a06204741c7aa50c0 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 7549dc6c0651c029221b79a760d7fccadb50a080..45328f3eaf13915df97901fc55ce8d96655e2fac 100644 --- a/nixos/modules/config/fonts/fontconfig-ultimate.nix +++ b/nixos/modules/config/fonts/fontconfig-ultimate.nix @@ -7,7 +7,7 @@ let cfg = config.fonts.fontconfig.ultimate; latestVersion = pkgs.fontconfig.configVersion; # The configuration to be included in /etc/font/ - confPkg = pkgs.runCommand "font-ultimate-conf" {} '' + confPkg = pkgs.runCommand "font-ultimate-conf" { preferLocalBuild = true; } '' support_folder=$out/etc/fonts/conf.d latest_folder=$out/etc/fonts/${latestVersion}/conf.d diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix index 12f5ca2e7993a455221a0cbc5254420a978b58e9..bcb86f11ead7637350fba75a12a0e3e3ff71d6d9 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; - - fcBool = x: "" + (boolToString x) + ""; - - # 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; - - # 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 {}; - - # 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" '' +let + cfg = config.fonts.fontconfig; + + fcBool = x: "" + (boolToString x) + ""; + + # 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; + + # 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 {}; + + # 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; - - # 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} + # rendering settings configuration file + # priority 10 + renderConf = pkgs.writeText "fc-10-nixos-rendering.conf" '' + + + + + + + + ${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 - ''} - - # 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 - - # 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 - - ${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 + ${optionalString (cfg.dpi != 0) '' + + + ${toString cfg.dpi} + + ''} - ''; - # 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; - }; + + ''; + + # local configuration file + localConf = pkgs.writeText "fc-local.conf" cfg.localConf; + + # 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"} + + ${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 180e38f81f4fcaceaee5a59de56fa4c803301ff6..cc70fbf8744d9d4b8f19db9fd80676c7959ae73b 100644 --- a/nixos/modules/config/fonts/fontdir.nix +++ b/nixos/modules/config/fonts/fontdir.nix @@ -4,7 +4,7 @@ with lib; let - x11Fonts = pkgs.runCommand "X11-fonts" { } '' + x11Fonts = pkgs.runCommand "X11-fonts" { preferLocalBuild = true; } '' mkdir -p "$out/share/X11-fonts" find ${toString config.fonts.fonts} \ \( -name fonts.dir -o -name '*.ttf' -o -name '*.otf' \) \ diff --git a/nixos/modules/config/fonts/fonts.nix b/nixos/modules/config/fonts/fonts.nix index 0dd01df9da7476e3fcfb5da4273954fa490a9e10..abb806b601a76a5f497531204b6120bf569579b1 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 f65a3fc50d548101faba68bcd45b02d43622f51f..e008497a2a6e04c6eb7bcceaba0b7dfd231fad5d 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 } - ''; - }; - - insertLdapPassword = !config.users.ldap.daemon.enable && - config.users.ldap.bind.distinguishedName != ""; + nslcdConfig = writeText "nslcd.conf" '' + uid nslcd + gid nslcd + uri ${cfg.server} + base ${cfg.base} + timelimit ${toString cfg.timeLimit} + bind_timelimit ${toString cfg.bind.timeLimit} + ${optionalString (cfg.bind.distinguishedName != "") + "binddn ${cfg.bind.distinguishedName}" } + ${optionalString (cfg.daemon.rootpwmoddn != "") + "rootpwmoddn ${cfg.daemon.rootpwmoddn}" } + ${optionalString (cfg.daemon.extraConfig != "") cfg.daemon.extraConfig } + ''; + + # nslcd normally reads configuration from /etc/nslcd.conf. + # this file might contain secrets. We append those at runtime, + # so redirect its location to something more temporary. + nslcdWrapped = runCommandNoCC "nslcd-wrapped" { nativeBuildInputs = [ makeWrapper ]; } '' + mkdir -p $out/bin + makeWrapper ${nss_pam_ldapd}/sbin/nslcd $out/bin/nslcd \ + --set LD_PRELOAD "${pkgs.libredirect}/lib/libredirect.so" \ + --set NIX_REDIRECTS "/etc/nslcd.conf=/run/nslcd/nslcd.conf" + ''; in @@ -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 0000000000000000000000000000000000000000..6f05658818774f9956f67d6d78724f0c4345ae1f --- /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 0000000000000000000000000000000000000000..65130454735c734cc30917deac8965e314a237e0 --- /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 25253cf02e1d99e4b2e805af728d6ea66dee5620..4b9086022ed53d2e8b1cd56e86c909c2e02e26e9 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 37e66c645429410eb7b3ec660f8119c0e08ec2d9..74cf74d74181fbadb779ee77671ff2fa617ae28c 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 b601e908e49f079d5bf3ae710f93b3b2771b51de..13277fe56e42484ec07f14e06898ed23a7eec09b 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 e61a3a7312018ec05249a21d40db455fa6e5d7a9..5c3e3930258379b05e2c4414d64a1cb07030fb4e 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 0000000000000000000000000000000000000000..7de1c0f5d5574eedfab86d716bb786ab789f7436 --- /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 0000000000000000000000000000000000000000..406c6a7ac32960750839c1f765291635d5cca23c --- /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 74bff602a4771ec6bdfd5fa82e1835f415163f3f..fb2b58eed7203fec0f9d8514ad11f6190fcb308f 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 7a65e44e828d44c812188d3fa9c86b1895219fb4..fae2fc74008290df848919ec3c5a385bec8bb219 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 b15948f6e2e58c4da6c4953cce2b648674df78ca..0000000000000000000000000000000000000000 --- 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 ef5e6346f02e7d7026c964c3111ed7ba165931c8..59cea51c611b497aa980293516699d64cdf9600a 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 c3f228c9bcc4d78e0b4114397b159c8174a9be9f..c91eb0ebb8769bbd6a74bc5321970b507e49ebcb 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 0000000000000000000000000000000000000000..d4a8c926fef2e19a18fdb57152a18cd4443aaae0 --- /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 cd1064630fbcce0c671b2e3f1bbfe7a215ed8aae..a5374c2b468daffdce3d6799478f0e7e91cc4da7 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 0000000000000000000000000000000000000000..bdbbfda2bb424be5fe53e5f2d0f50e6731eae253 --- /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 925d945c081ee59bc3929d0c8fdd1385b4ceda48..5d411c73a560951ba78912c2d013a205b31c341d 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 0000000000000000000000000000000000000000..34e8a222096533b942317ac1f25a1d698eae5b9f --- /dev/null +++ b/nixos/modules/hardware/acpilight.nix @@ -0,0 +1,24 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.hardware.acpilight; +in +{ + options = { + hardware.acpilight = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Enable acpilight. + This will allow brightness control via xbacklight from users in the video group + ''; + }; + }; + }; + + config = mkIf cfg.enable { + services.udev.packages = with pkgs; [ acpilight ]; + }; +} diff --git a/nixos/modules/hardware/all-firmware.nix b/nixos/modules/hardware/all-firmware.nix index 69cc22aaa34b1be6cb2dca4d6782a80c2284857c..534fcc34276b496985ccaa5dd49d342be894285b 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 0000000000000000000000000000000000000000..f57502d4c83e9fc1ab12f7575a94571484f63d39 --- /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 d6ac69b5d65e997f3d6653b91bfbe816d4ad5442..99d46c25236e00fd165b563f4865476475d85d0e 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 0000000000000000000000000000000000000000..41abe74315a0f467a0eafc9cea72b055e899ed26 --- /dev/null +++ b/nixos/modules/hardware/ledger.nix @@ -0,0 +1,14 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.hardware.ledger; + +in { + options.hardware.ledger.enable = mkEnableOption "udev rules for Ledger devices"; + + config = mkIf cfg.enable { + services.udev.packages = [ pkgs.ledger-udev-rules ]; + }; +} diff --git a/nixos/modules/hardware/logitech.nix b/nixos/modules/hardware/logitech.nix new file mode 100644 index 0000000000000000000000000000000000000000..d6f43bdddcc8c46e27d94125f71bd8a517f115a8 --- /dev/null +++ b/nixos/modules/hardware/logitech.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.hardware.logitech; + +in { + options.hardware.logitech = { + enable = mkEnableOption "Logitech Devices"; + + enableGraphical = mkOption { + type = types.bool; + default = false; + description = "Enable graphical support applications."; + }; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = [ + pkgs.ltunify + ] ++ lib.optional cfg.enableGraphical pkgs.solaar; + + # ltunifi and solaar both provide udev rules but the most up-to-date have been split + # out into a dedicated derivation + services.udev.packages = with pkgs; [ logitech-udev-rules ]; + }; +} diff --git a/nixos/modules/hardware/opengl.nix b/nixos/modules/hardware/opengl.nix index 6b7b8069fd44a23f08ea91d113c8b955f7599435..57cac56bd8ab18202f0e5228c3046ddbb854e537 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 3a65cb800a98a9f938ca0bdf5cadea3dbdc53a18..4d7af138292cc93569fa30de2fbe1d636edf9671 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 ab9e0c92020e0c49a0b118753d548fb721085906..8e91e9d2baa9397798cb3c1a6a737e1071fe2848 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 6102919f0155f78202a438173a2f3cc87647e308..f867bba806304bc904dc8b4b5a1e359408aee136 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 6ba8130af71f6479f49e2e1c361f9efcbae32b0a..3ab2afc9740704eb1fc06eec48c73235edc1b6da 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 2cf5f13bc159e6259d9c6cdefecf3b5834c91420..a808429c99968518c0739889982069d4bdcfb8c8 100644 --- a/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix +++ b/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix @@ -29,6 +29,7 @@ runCommand "uvcdynctrl-udev-rules-${version}" ]; dontPatchELF = true; dontStrip = true; + preferLocalBuild = true; } '' mkdir -p "$out/lib/udev" diff --git a/nixos/modules/i18n/input-method/ibus.nix b/nixos/modules/i18n/input-method/ibus.nix index f8e021f551e854e89ab291a85ffdf34d6d343e33..8109ef76c4029226ef467604c9daf4727c483b29 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 e946c4abc57617a244972b0b3d5fff68d23aca02..ab5e7c0645f3bbb4ed3c782f501d79afa74e7c31 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 228ef371d2523eb092b6cbd9b5037dea8c6b33a8..1578e1547bc1fc1b2deff01848b1c59e0eb7a811 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 42b5ec8822726c099de9058b49db2cd824c089f9..0b813bbf37b4c408bd9456cd94d466e15cab531a 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 1c3c9cb30b41b68dd90428433e611e8f7b083afb..2536ba73a1deafa73e51a20971772f9a253770d3 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 e78e290e74387dbd1416a6f85f93bb1063137412..d5c92cfc1d9e4a8111a5520f97149a24068dc489 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 5f7194e92a364ba3c98bd0404a91844d3ee6b221..2d34406a0320e46e9939295e8d4859882c25eb85 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 71448f74c3611096e961a34e243b601b97a7f2b1..651d1a36dc11b057d160529bff5dfd92b8b96280 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 96e06670694e8e631a5480678a8da9e7361af15f..2a131d9ce980f946ad09d7f16353089c9e697c8e 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 69746a8e9799e4067b130b5a9538c356e8607a5c..0a01504415549bbad3d134ae294676954e274baa 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/firmware partition, in megabytes. + ''; + }; + + populateFirmwareCommands = mkOption { + example = literalExample "'' cp \${pkgs.myBootLoader}/u-boot.bin firmware/ ''"; description = '' - Size of the /boot partition, in megabytes. + Shell commands to populate the ./firmware directory. + All files in that directory are copied to the + /boot/firmware partition on the SD image. ''; }; - populateBootCommands = mkOption { - example = literalExample "'' cp \${pkgs.myBootLoader}/u-boot.bin boot/ ''"; + populateRootCommands = mkOption { + example = literalExample "''\${extlinux-conf-builder} -t 3 -c \${config.system.build.toplevel} -d ./files/boot''"; description = '' - Shell commands to populate the ./boot directory. + Shell commands to populate the ./files directory. All files in that directory are copied to the - /boot partition on the SD image. + 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 518dbbbf21e311c0f950ce8529317e20a9edc290..4680cd8ae95a4a1076247880af01d1c46b52c44b 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 686204ee034253b610299e6d1fe82f6df3e3a38e..cfdbdaabf5c52051f383908c591f6abf5d095d51 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 00c4d5018bf56ff1c2ef689954af418518dff1b9..05add59117d1190bb5c837d780af184e7cad0b87 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 2e1b4b3998b55c916ddfb98d867a621ec018e047..af3e1aecca713515add23003803fc9540d0b6232 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 6e0b49fa9af095da04b7b455d1129629e2a5e29e..3c47e79d05128eab5ee457ba12b0778eb5721565 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 9b2e1235b7481c7588913dc7b51e6105f524034f..deecb005270f09031d2b37bb11e01215930683ab 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 5f134b51939c3948a81c7a765bfd7d94bc35ce3b..ac6af1ce8b77ff49d3a51d488ba55ee16ba94ceb 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 0000000000000000000000000000000000000000..20c143286afa49c382c43fc9b5dfe85d8a6d1823 --- /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 3a717fddaba2be68af2c4958e37827c03da439dc..afb74581e239885b0a151ada55ff1299851f44d8 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 c576cf4cb925ebdc99a0bf2ea3c0194c304e8b29..3ae60cb7916018f788eec290dbc2164cc6037769 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 8a9a936d3b20189cac6a8578c5157b61c40359ee..4bc37ed3f17162548a19781fd42ed47559ce33ab 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 fba756391b11826d298e3ec3e3a21bce16b305c7..649f5564ac61207c862e5cace41cf2b824491382 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 9ab2ee87a19e503771ad585f1e8349028440110c..626d8b1d2bde5508e92eba2eb5bb01af1a515d36 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 580ea4a58e5b48c0e61848e8c9f8e68688e8e1fb..fd30220ce1c918bc5d6315d8bf45587536176832 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 d22f9dfa3199b0d6376c42e9b153bb2d9c5a5ae5..99daec5ff5b7299d892694fa40072d66befd19e8 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 5f8a44a9848ece9723f829d97d952f9e36477619..e1456d3c184854dbd71ac51a7a55bf1ead9ddf76 100644 --- a/nixos/modules/programs/browserpass.nix +++ b/nixos/modules/programs/browserpass.nix @@ -4,19 +4,28 @@ with lib; { - ###### interface - options = { - programs.browserpass.enable = mkEnableOption "the NativeMessaging configuration for Chromium, Chrome, and Vivaldi."; - }; + options.programs.browserpass.enable = mkEnableOption "Browserpass native messaging host"; - ###### implementation config = mkIf config.programs.browserpass.enable { - environment.systemPackages = [ pkgs.browserpass ]; - environment.etc = { - "chromium/native-messaging-hosts/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-host.json"; - "chromium/policies/managed/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-policy.json"; - "opt/chrome/native-messaging-hosts/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-host.json"; - "opt/chrome/policies/managed/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-policy.json"; + environment.etc = let + appId = "com.github.browserpass.native.json"; + source = part: "${pkgs.browserpass}/lib/browserpass/${part}/${appId}"; + in { + # chromium + "chromium/native-messaging-hosts/${appId}".source = source "hosts/chromium"; + "chromium/policies/managed/${appId}".source = source "policies/chromium"; + + # chrome + "opt/chrome/native-messaging-hosts/${appId}".source = source "hosts/chromium"; + "opt/chrome/policies/managed/${appId}".source = source "policies/chromium"; + + # vivaldi + "opt/vivaldi/native-messaging-hosts/${appId}".source = source "hosts/chromium"; + "opt/vivaldi/policies/managed/${appId}".source = source "policies/chromium"; + + # brave + "opt/brave/native-messaging-hosts/${appId}".source = source "hosts/chromium"; + "opt/brave/policies/managed/${appId}".source = source "policies/chromium"; }; nixpkgs.config.firefox.enableBrowserpass = true; }; diff --git a/nixos/modules/programs/captive-browser.nix b/nixos/modules/programs/captive-browser.nix new file mode 100644 index 0000000000000000000000000000000000000000..55d474e5c9db07297c3f775bc79d07acc0b1df1c --- /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 0000000000000000000000000000000000000000..9980a7daf5254964145a654d55b7a2ad599547de --- /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 9c9765b06b6f8ca0e4e38af03150fbb18a67d6e5..eeebc3558bdf9b5160101448459c201f44cbb669 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 3c6d356ef998d517880b27046d2e495342e9c051..66eb83482664999581336c29e7ae30dbe11da049 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 0000000000000000000000000000000000000000..473fddb09d02e077d223e59693e73f867261a986 --- /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 0000000000000000000000000000000000000000..64f6a94e7641b9d46b117b6327a0b84bd87bd178 --- /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 b38af07b92c378913eca8fb8a066c78093839fd0..87f6816e4ac0540da44442919adb05ff1a233320 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 0000000000000000000000000000000000000000..a8c797d185a6852b390c2b51d517a42299b35d3d --- /dev/null +++ b/nixos/modules/programs/fish_completion-generator.patch @@ -0,0 +1,11 @@ +--- a/create_manpage_completions.py ++++ b/create_manpage_completions.py +@@ -776,8 +776,6 @@ def parse_manpage_at_path(manpage_path, output_directory): + + built_command_output.insert(0, "# " + CMDNAME) + +- # Output the magic word Autogenerated so we can tell if we can overwrite this +- built_command_output.insert(1, "# Autogenerated from man page " + manpage_path) + # built_command_output.insert(2, "# using " + parser.__class__.__name__) # XXX MISATTRIBUTES THE CULPABILE PARSER! Was really using Type2 but reporting TypeDeroffManParser + + for line in built_command_output: diff --git a/nixos/modules/programs/fuse.nix b/nixos/modules/programs/fuse.nix new file mode 100644 index 0000000000000000000000000000000000000000..c15896efbb51a221a4fd25d83d8d82ce5f4ceb28 --- /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 0000000000000000000000000000000000000000..1cf839a6ddb0df357d79151db680846bbc85d125 --- /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 0000000000000000000000000000000000000000..bfa3d409ee301f0f9d6b2633890f98fd2be8ffa2 --- /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 0000000000000000000000000000000000000000..0036677a1576527c80c30ea25f305f751c859f64 --- /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 b01de9efaa5eb9efa444ccd17d2ef7792c730802..bcbc994efe9b316b40c20ea74249a8ee22ea9759 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,12 +94,14 @@ 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 + ${cfg.package}/bin/gpg-connect-agent --quiet updatestartuptty /bye > /dev/null + ''); + environment.extraInit = mkIf cfg.agent.enableSSHSupport '' if [ -z "$SSH_AUTH_SOCK" ]; then - export SSH_AUTH_SOCK=$(${pkgs.gnupg}/bin/gpgconf --list-dirs agent-ssh-socket) + export SSH_AUTH_SOCK=$(${cfg.package}/bin/gpgconf --list-dirs agent-ssh-socket) fi - ''); + ''; assertions = [ { assertion = cfg.agent.enableSSHSupport -> !config.programs.ssh.startAgent; diff --git a/nixos/modules/programs/gpaste.nix b/nixos/modules/programs/gpaste.nix new file mode 100644 index 0000000000000000000000000000000000000000..4f6deb77e5ebcc172388aa49581181df36b4f52a --- /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 d39103a58057d6a09a3c22276144841b9ae8af70..9fdf99e9c694af257f93526c769e7c9a2685a66d 100644 --- a/nixos/modules/programs/less.nix +++ b/nixos/modules/programs/less.nix @@ -25,7 +25,7 @@ let ''; lessKey = pkgs.runCommand "lesskey" - { src = pkgs.writeText "lessconfig" configText; } + { src = pkgs.writeText "lessconfig" configText; preferLocalBuild = true; } "${pkgs.less}/bin/lesskey -o $out $src"; in diff --git a/nixos/modules/programs/nylas-mail.nix b/nixos/modules/programs/nylas-mail.nix deleted file mode 100644 index 08a6cd0a6049be2fccf33cc7407013e2de394f7c..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..c08b0a85374cdeb8e1b85efdb8f90f9a88ec81f1 --- /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 9842e2bef643dfc58ec6f4b4ef191fea529bfeae..b7f7b91b5fbe265b31e02ca4ceabdf8655dd9d52 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 46965dd35b713459185cf15177f6e3adf3aea676..733b8f7636fd22426e9ed45d8aac058a3375b641 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 44756171b74cfa2d1c6e2eb52bfdbc5d96387922..0e060e3f522610911b519ae53d881db8471cc423 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 3c235de0ce63fc2fb35bd611c51993d678e5bc83..0000000000000000000000000000000000000000 --- 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 b3847db8cd9ccfdd2e2edbd9232bd47c87a387a3..b4f03151cdc1a4184ed2f5cb0c9a5d9d1e7ef50e 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 21ed6603c1bdd283bef4ebea5f83a9b6766c81b8..b909916158d3897103227fdfc3837486238affda 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 3d5a37274ae2da8a330fc2e6e729f8c6967dbc77..ed077e3daa76209031a441b76ef8bb587dd35b10 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 0000000000000000000000000000000000000000..eb6f12475286f1e96bd15ef93eb5c6316401d358 --- /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 0000000000000000000000000000000000000000..c1b6ee38caa1d78624d27256b523fbe39f8d1235 --- /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 0000000000000000000000000000000000000000..22530e6c7d4d09b2fc02b4a6b269aa8a657aa20d --- /dev/null +++ b/nixos/modules/programs/waybar.nix @@ -0,0 +1,20 @@ +{ lib, pkgs, config, ... }: + +with lib; + +{ + options.programs.waybar = { + enable = mkEnableOption "waybar"; + }; + + config = mkIf config.programs.waybar.enable { + systemd.user.services.waybar = { + description = "Waybar as systemd service"; + wantedBy = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; + script = "${pkgs.waybar}/bin/waybar"; + }; + }; + + meta.maintainers = [ maintainers.FlorianFranzen ]; +} diff --git a/nixos/modules/programs/x2goserver.nix b/nixos/modules/programs/x2goserver.nix new file mode 100644 index 0000000000000000000000000000000000000000..d9e7b6e4a5c0205344f3815e6b977de866cc65dc --- /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 f967ca82ac8c78b22bac51c3233677463e266ade..5cd2a49f8073395f6deebbb7d17b634b45c5f9cf 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 c290df01b96044a066a5c892a992948c0bb37408..a7ad9b89db4dbb22176b60692836f7c878684494 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 db085211366ee84f3aa13e5c63e033de70698a96..5de9331ac5204d6642fcf0f80baa96d4b474da9d 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 0000000000000000000000000000000000000000..2e27fce4d7c6711e2bc40dec006d888fb2d58314 --- /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 b26980daf067d760f8b1b47125871ae84832b9ad..568c2de655766cd94cf45ae191c056797018281d 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 89087a229eb7396c27bae2915b4e617d130f4f2d..7184e5d9b9a826a5a4ccc67f5e442517880a044f 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 164d8db5859a80db946fd9ca2c999825c7cf2069..6e9eefd74d18a8ad78fb90fd3944682adb9be85e 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 7bcdfdb52309c8c1ac17181f882069a8447c8dd4..9e0ab60ca679845ae3e0788ccb891d73d7236647 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 092704c6fc3f69bbd6fe4f3e32c0932bb1c2c510..feb54affbf83102919fedbf4cba9468563a9796a 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 ef71fe53d0c7e5d04e4ebc1d46bdd3cbb618d13b..9d0a1995e0ff08fca1857b239bed8956f8a6c3a0 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 d323a158a4df6a985b3f2f7e1ea4a4dae719ce48..cfc65b347bc69466f5b6b7bb8325ddbcad148390 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 6abac244dac24a0be9f99f28d7b68d5cb071e1e5..9d26cfbcfb10ecdb02d7459f208ce7f7748799a5 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 67469be18b413c9e7bf24777ad8d34b52d5f3bb8..1c4ee421fc56aec3844ae075dcafbd00bbec42f4 100644 --- a/nixos/modules/security/ca.nix +++ b/nixos/modules/security/ca.nix @@ -14,6 +14,7 @@ let { files = cfg.certificateFiles ++ [ (builtins.toFile "extra.crt" (concatStringsSep "\n" cfg.certificates)) ]; + preferLocalBuild = true; } '' cat $files > $out diff --git a/nixos/modules/security/duosec.nix b/nixos/modules/security/duosec.nix index df6108dede7c476b6842f31d300570969cd34f7a..997328ad9e6ab0a4d4978343b5f50f04b2621e59 100644 --- a/nixos/modules/security/duosec.nix +++ b/nixos/modules/security/duosec.nix @@ -7,7 +7,7 @@ let boolToStr = b: if b then "yes" else "no"; - configFile = '' + configFilePam = '' [duo] ikey=${cfg.ikey} skey=${cfg.skey} @@ -16,21 +16,24 @@ let failmode=${cfg.failmode} pushinfo=${boolToStr cfg.pushinfo} autopush=${boolToStr cfg.autopush} - motd=${boolToStr cfg.motd} prompts=${toString cfg.prompts} - accept_env_factor=${boolToStr cfg.acceptEnvFactor} fallback_local_ip=${boolToStr cfg.fallbackLocalIP} ''; + configFileLogin = configFilePam + '' + motd=${boolToStr cfg.motd} + accept_env_factor=${boolToStr cfg.acceptEnvFactor} + ''; + loginCfgFile = optional cfg.ssh.enable - { source = pkgs.writeText "login_duo.conf" configFile; + { source = pkgs.writeText "login_duo.conf" configFileLogin; mode = "0600"; user = "sshd"; target = "duo/login_duo.conf"; }; pamCfgFile = optional cfg.pam.enable - { source = pkgs.writeText "pam_duo.conf" configFile; + { source = pkgs.writeText "pam_duo.conf" configFilePam; mode = "0600"; user = "sshd"; target = "duo/pam_duo.conf"; @@ -73,7 +76,7 @@ in }; failmode = mkOption { - type = types.enum [ "safe" "enum" ]; + type = types.enum [ "safe" "secure" ]; default = "safe"; description = '' On service or configuration errors that prevent Duo @@ -180,12 +183,6 @@ in }; config = mkIf (cfg.ssh.enable || cfg.pam.enable) { - assertions = - [ { assertion = !cfg.pam.enable; - message = "PAM support is currently not implemented."; - } - ]; - environment.systemPackages = [ pkgs.duo-unix ]; security.wrappers.login_duo.source = "${pkgs.duo-unix.out}/bin/login_duo"; diff --git a/nixos/modules/security/misc.nix b/nixos/modules/security/misc.nix index 4506a67487d411713566d54a90ccc53e95b68ed8..16e3bfb14199bf3fd6cf30086248bb63d2cbc2ff 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 206b529ed6807d76ad26f19bb80af2eaa0910484..9c7ddc2f4eea27aaebdd48bce8158ec8a71f41d7 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 a54ef2e6fcad1bd8310cf3ee6ce585aae7630517..d9d6d9c9f2536d12597ecba48e698b2ea23907f1 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 69a2a4f8f9ae442c219e513b4567abc098b44828..10ee036be84ebc6653b79a6690d0b5fbf3f737fd 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 0000000000000000000000000000000000000000..cd4eb81dbe197e7d66e7a0f81c8586b2740a060e --- /dev/null +++ b/nixos/modules/security/systemd-confinement.nix @@ -0,0 +1,199 @@ +{ config, pkgs, lib, ... }: + +let + toplevelConfig = config; + inherit (lib) types; + inherit (import ../system/boot/systemd-lib.nix { + inherit config pkgs lib; + }) mkPathSafeName; +in { + options.systemd.services = lib.mkOption { + type = types.attrsOf (types.submodule ({ name, config, ... }: { + options.confinement.enable = lib.mkOption { + type = types.bool; + default = false; + description = '' + If set, all the required runtime store paths for this service are + bind-mounted into a tmpfs-based + chroot + 2 + . + ''; + }; + + options.confinement.fullUnit = lib.mkOption { + type = types.bool; + default = false; + description = '' + Whether to include the full closure of the systemd unit file into the + chroot, instead of just the dependencies for the executables. + + While it may be tempting to just enable this option to + make things work quickly, please be aware that this might add paths + to the closure of the chroot that you didn't anticipate. It's better + to use to explicitly add additional store paths to the + chroot. + ''; + }; + + options.confinement.packages = lib.mkOption { + type = types.listOf (types.either types.str types.package); + default = []; + description = let + mkScOption = optName: ""; + in '' + Additional packages or strings with context to add to the closure of + the chroot. By default, this includes all the packages from the + ${lib.concatMapStringsSep ", " mkScOption [ + "ExecReload" "ExecStartPost" "ExecStartPre" "ExecStop" + "ExecStopPost" + ]} and ${mkScOption "ExecStart"} options. If you want to have all the + dependencies of this systemd unit, you can use + . + + The store paths listed in are + not included in the closure as + well as paths from other options except those listed + above. + ''; + }; + + options.confinement.binSh = lib.mkOption { + type = types.nullOr types.path; + default = toplevelConfig.environment.binsh; + defaultText = "config.environment.binsh"; + example = lib.literalExample "\${pkgs.dash}/bin/dash"; + description = '' + The program to make available as /bin/sh inside + the chroot. If this is set to null, no + /bin/sh is provided at all. + + This is useful for some applications, which for example use the + + system + 3 + library function to execute commands. + ''; + }; + + options.confinement.mode = lib.mkOption { + type = types.enum [ "full-apivfs" "chroot-only" ]; + default = "full-apivfs"; + description = '' + The value full-apivfs (the default) sets up + private /dev, /proc, /sys and /tmp file systems in a separate user + name space. + + If this is set to chroot-only, only the file + system name space is set up along with the call to + chroot + 2 + . + + This doesn't cover network namespaces and is solely for + file system level isolation. + ''; + }; + + config = let + rootName = "${mkPathSafeName name}-chroot"; + inherit (config.confinement) binSh fullUnit; + wantsAPIVFS = lib.mkDefault (config.confinement.mode == "full-apivfs"); + in lib.mkIf config.confinement.enable { + serviceConfig = { + RootDirectory = pkgs.runCommand rootName {} "mkdir \"$out\""; + TemporaryFileSystem = "/"; + PrivateMounts = lib.mkDefault true; + + # https://github.com/NixOS/nixpkgs/issues/14645 is a future attempt + # to change some of these to default to true. + # + # If we run in chroot-only mode, having something like PrivateDevices + # set to true by default will mount /dev within the chroot, whereas + # with "chroot-only" it's expected that there are no /dev, /proc and + # /sys file systems available. + # + # However, if this suddenly becomes true, the attack surface will + # increase, so let's explicitly set these options to true/false + # depending on the mode. + MountAPIVFS = wantsAPIVFS; + PrivateDevices = wantsAPIVFS; + PrivateTmp = wantsAPIVFS; + PrivateUsers = wantsAPIVFS; + ProtectControlGroups = wantsAPIVFS; + ProtectKernelModules = wantsAPIVFS; + ProtectKernelTunables = wantsAPIVFS; + }; + confinement.packages = let + execOpts = [ + "ExecReload" "ExecStart" "ExecStartPost" "ExecStartPre" "ExecStop" + "ExecStopPost" + ]; + execPkgs = lib.concatMap (opt: let + isSet = config.serviceConfig ? ${opt}; + in lib.optional isSet config.serviceConfig.${opt}) execOpts; + unitAttrs = toplevelConfig.systemd.units."${name}.service"; + allPkgs = lib.singleton (builtins.toJSON unitAttrs); + unitPkgs = if fullUnit then allPkgs else execPkgs; + in unitPkgs ++ lib.optional (binSh != null) binSh; + }; + })); + }; + + config.assertions = lib.concatLists (lib.mapAttrsToList (name: cfg: let + whatOpt = optName: "The 'serviceConfig' option '${optName}' for" + + " service '${name}' is enabled in conjunction with" + + " 'confinement.enable'"; + in lib.optionals cfg.confinement.enable [ + { assertion = !cfg.serviceConfig.RootDirectoryStartOnly or false; + message = "${whatOpt "RootDirectoryStartOnly"}, but right now systemd" + + " doesn't support restricting bind-mounts to 'ExecStart'." + + " Please either define a separate service or find a way to run" + + " commands other than ExecStart within the chroot."; + } + { assertion = !cfg.serviceConfig.DynamicUser or false; + message = "${whatOpt "DynamicUser"}. Please create a dedicated user via" + + " the 'users.users' option instead as this combination is" + + " currently not supported."; + } + ]) config.systemd.services); + + config.systemd.packages = lib.concatLists (lib.mapAttrsToList (name: cfg: let + rootPaths = let + contents = lib.concatStringsSep "\n" cfg.confinement.packages; + in pkgs.writeText "${mkPathSafeName name}-string-contexts.txt" contents; + + chrootPaths = pkgs.runCommand "${mkPathSafeName name}-chroot-paths" { + closureInfo = pkgs.closureInfo { inherit rootPaths; }; + serviceName = "${name}.service"; + excludedPath = rootPaths; + } '' + mkdir -p "$out/lib/systemd/system" + serviceFile="$out/lib/systemd/system/$serviceName" + + echo '[Service]' > "$serviceFile" + + # /bin/sh is special here, because the option value could contain a + # symlink and we need to properly resolve it. + ${lib.optionalString (cfg.confinement.binSh != null) '' + binsh=${lib.escapeShellArg cfg.confinement.binSh} + realprog="$(readlink -e "$binsh")" + echo "BindReadOnlyPaths=$realprog:/bin/sh" >> "$serviceFile" + ''} + + while read storePath; do + if [ -L "$storePath" ]; then + # Currently, systemd can't cope with symlinks in Bind(ReadOnly)Paths, + # so let's just bind-mount the target to that location. + echo "BindReadOnlyPaths=$(readlink -e "$storePath"):$storePath" + elif [ "$storePath" != "$excludedPath" ]; then + echo "BindReadOnlyPaths=$storePath" + fi + done < "$closureInfo/store-paths" >> "$serviceFile" + ''; + in lib.optional cfg.confinement.enable chrootPaths) config.systemd.services); +} diff --git a/nixos/modules/services/admin/oxidized.nix b/nixos/modules/services/admin/oxidized.nix index 70f7dd9e36475a193852a3f7c2e2c5bc6dca8cae..39112c3970d5a055b0674282639c34040ee5c376 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 27bfd91cd2d58f0eaae5198050e353f531cffb64..7729da27304bb6438100a923f463e0c231d46b92 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 7373be2a9b0bba0cfab240e662e99062ec14a368..302b94de1965cdfff13a46c6f35e37b14632752f 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 376aad66e236225de09944bf4d8693a3b98fa0eb..4939adc4ee6541b9c985ac775caca8828462614f 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 0000000000000000000000000000000000000000..aa3351f401afb0b336a74b8058f32b5e05bbcfdd --- /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 66f84ef207622d869d8b8db3b63c2cc59b4b5a8f..3a047d10a6314d79767bab90aa68878a39faf885 100644 --- a/nixos/modules/services/audio/liquidsoap.nix +++ b/nixos/modules/services/audio/liquidsoap.nix @@ -14,15 +14,10 @@ let description = "${name} liquidsoap stream"; wantedBy = [ "multi-user.target" ]; path = [ pkgs.wget ]; - preStart = - '' - mkdir -p /var/log/liquidsoap - chown liquidsoap -R /var/log/liquidsoap - ''; serviceConfig = { - PermissionsStartOnly="true"; ExecStart = "${pkgs.liquidsoap}/bin/liquidsoap ${stream}"; User = "liquidsoap"; + LogsDirectory = "liquidsoap"; }; }; }; diff --git a/nixos/modules/services/audio/mopidy.nix b/nixos/modules/services/audio/mopidy.nix index e2f4ec39f94c6bb9016f85a79d4b919f8891cf37..a534b692f1771c29820c945d140ad731f8e2fba4 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 5bfe2b6a22ad78fc8b73a04e0d9c8c02ecda3ec4..0df8f9688d2540683536f10892b73f83f07622f2 100644 --- a/nixos/modules/services/audio/mpd.nix +++ b/nixos/modules/services/audio/mpd.nix @@ -158,18 +158,18 @@ in { }; }; + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - ${cfg.user} ${cfg.group} - -" + "d '${cfg.playlistDirectory}' - ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.mpd = { after = [ "network.target" "sound.target" ]; description = "Music Player Daemon"; wantedBy = optional (!cfg.startWhenNeeded) "multi-user.target"; - preStart = '' - mkdir -p "${cfg.dataDir}" && chown -R ${cfg.user}:${cfg.group} "${cfg.dataDir}" - mkdir -p "${cfg.playlistDirectory}" && chown -R ${cfg.user}:${cfg.group} "${cfg.playlistDirectory}" - ''; serviceConfig = { User = "${cfg.user}"; - PermissionsStartOnly = true; ExecStart = "${pkgs.mpd}/bin/mpd --no-daemon ${mpdConf}"; Type = "notify"; LimitRTPRIO = 50; diff --git a/nixos/modules/services/audio/roon-server.nix b/nixos/modules/services/audio/roon-server.nix new file mode 100644 index 0000000000000000000000000000000000000000..d4b0b098b78e9e0e5f5f4210082fe2f6960ca6ef --- /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 640403d2c97db816d915de2b2e53d749bd91b730..8f94a2b49404301fbed973e2ce3882a5d97ee79c 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 0000000000000000000000000000000000000000..b0b9264e816662b0058747db539b892d01dee624 --- /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 0000000000000000000000000000000000000000..e3556b2559c28605b1373f6f85fb5022abe3db45 --- /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 57ae385599394dfff178b33b588dc993d9e69bc4..05506f5bcc7ace2f97bfe88ed6a0d350bee5388e 100644 --- a/nixos/modules/services/audio/squeezelite.nix +++ b/nixos/modules/services/audio/squeezelite.nix @@ -3,8 +3,7 @@ with lib; let - - uid = config.ids.uids.squeezelite; + dataDir = "/var/lib/squeezelite"; cfg = config.services.squeezelite; in { @@ -17,14 +16,6 @@ in { enable = mkEnableOption "Squeezelite, a software Squeezebox emulator"; - dataDir = mkOption { - default = "/var/lib/squeezelite"; - type = types.str; - description = '' - The directory where Squeezelite stores its name file. - ''; - }; - extraArguments = mkOption { default = ""; type = types.str; @@ -46,22 +37,14 @@ in { wantedBy = [ "multi-user.target" ]; after = [ "network.target" "sound.target" ]; description = "Software Squeezebox emulator"; - preStart = "mkdir -p ${cfg.dataDir} && chown -R squeezelite ${cfg.dataDir}"; serviceConfig = { - ExecStart = "${pkgs.squeezelite}/bin/squeezelite -N ${cfg.dataDir}/player-name ${cfg.extraArguments}"; - User = "squeezelite"; - PermissionsStartOnly = true; + DynamicUser = true; + ExecStart = "${pkgs.squeezelite}/bin/squeezelite -N ${dataDir}/player-name ${cfg.extraArguments}"; + StateDirectory = builtins.baseNameOf dataDir; + SupplementaryGroups = "audio"; }; }; - users.users.squeezelite= { - inherit uid; - group = "nogroup"; - extraGroups = [ "audio" ]; - description = "Squeezelite user"; - home = "${cfg.dataDir}"; - }; - }; } diff --git a/nixos/modules/services/audio/ympd.nix b/nixos/modules/services/audio/ympd.nix index d34c1c9d83cc23d21f7064dcc8145663597dbcc1..551bd941fe687824ca8ace355c110c03e5ad6a9a 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 0000000000000000000000000000000000000000..1884f3536a97bb89398f444e532235919e1639ca --- /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 24cad612826069b23ca0b843144b7409e7f777dc..41bda7893a757b23672339d36327211a3783e2a5 100644 --- a/nixos/modules/services/backup/bacula.nix +++ b/nixos/modules/services/backup/bacula.nix @@ -15,7 +15,7 @@ let Name = "${fd_cfg.name}"; FDPort = ${toString fd_cfg.port}; WorkingDirectory = "${libDir}"; - Pid Directory = "/var/run"; + Pid Directory = "/run"; ${fd_cfg.extraClientConfig} } @@ -41,7 +41,7 @@ let Name = "${sd_cfg.name}"; SDPort = ${toString sd_cfg.port}; WorkingDirectory = "${libDir}"; - Pid Directory = "/var/run"; + Pid Directory = "/run"; ${sd_cfg.extraStorageConfig} } @@ -77,7 +77,7 @@ let Password = "${dir_cfg.password}"; DirPort = ${toString dir_cfg.port}; Working Directory = "${libDir}"; - Pid Directory = "/var/run/"; + Pid Directory = "/run/"; QueryFile = "${pkgs.bacula}/etc/query.sql"; ${dir_cfg.extraDirectorConfig} } 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 790dafefe66fd22003a4409409a904dc55fc9f81..0000000000000000000000000000000000000000 --- 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 c540cc6e2aee6a0da6683db36f8fab8ceca2b65c..0000000000000000000000000000000000000000 --- 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 80287f30b813f876e1068a3c7418ae5f92947598..0ff720c5897d75821df36f27e3758056319d4893 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 0000000000000000000000000000000000000000..a8d5642486235f451141f887e47ed3959bb87060 --- /dev/null +++ b/nixos/modules/services/backup/duplicity.nix @@ -0,0 +1,141 @@ +{ config, lib, pkgs, ...}: + +with lib; + +let + cfg = config.services.duplicity; + + stateDirectory = "/var/lib/duplicity"; + + localTarget = if hasPrefix "file://" cfg.targetUrl + then removePrefix "file://" cfg.targetUrl else null; + +in { + options.services.duplicity = { + enable = mkEnableOption "backups with duplicity"; + + root = mkOption { + type = types.path; + default = "/"; + description = '' + Root directory to backup. + ''; + }; + + include = mkOption { + type = types.listOf types.str; + default = []; + example = [ "/home" ]; + description = '' + List of paths to include into the backups. See the FILE SELECTION + section in duplicity + 1 for details on the syntax. + ''; + }; + + exclude = mkOption { + type = types.listOf types.str; + default = []; + description = '' + List of paths to exclude from backups. See the FILE SELECTION section in + duplicity + 1 for details on the syntax. + ''; + }; + + targetUrl = mkOption { + type = types.str; + example = "s3://host:port/prefix"; + description = '' + Target url to backup to. See the URL FORMAT section in + duplicity + 1 for supported urls. + ''; + }; + + secretFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Path of a file containing secrets (gpg passphrase, access key...) in + the format of EnvironmentFile as described by + systemd.exec + 5. For example: + + PASSPHRASE=... + AWS_ACCESS_KEY_ID=... + AWS_SECRET_ACCESS_KEY=... + + ''; + }; + + frequency = mkOption { + type = types.nullOr types.str; + default = "daily"; + description = '' + Run duplicity with the given frequency (see + systemd.time + 7 for the format). + If null, do not run automatically. + ''; + }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + example = [ "--full-if-older-than" "1M" ]; + description = '' + Extra command-line flags passed to duplicity. See + duplicity + 1. + ''; + }; + }; + + config = mkIf cfg.enable { + systemd = { + services.duplicity = { + description = "backup files with duplicity"; + + environment.HOME = stateDirectory; + + serviceConfig = { + ExecStart = '' + ${pkgs.duplicity}/bin/duplicity ${escapeShellArgs ( + [ + cfg.root + cfg.targetUrl + "--archive-dir" stateDirectory + ] + ++ concatMap (p: [ "--include" p ]) cfg.include + ++ concatMap (p: [ "--exclude" p ]) cfg.exclude + ++ cfg.extraFlags)} + ''; + PrivateTmp = true; + ProtectSystem = "strict"; + ProtectHome = "read-only"; + StateDirectory = baseNameOf stateDirectory; + } // optionalAttrs (localTarget != null) { + ReadWritePaths = localTarget; + } // optionalAttrs (cfg.secretFile != null) { + EnvironmentFile = cfg.secretFile; + }; + } // optionalAttrs (cfg.frequency != null) { + startAt = cfg.frequency; + }; + + tmpfiles.rules = optional (localTarget != null) "d ${localTarget} 0700 root root -"; + }; + + assertions = singleton { + # Duplicity will fail if the last file selection option is an include. It + # is not always possible to detect but this simple case can be caught. + assertion = cfg.include != [] -> cfg.exclude != [] || cfg.extraFlags != []; + message = '' + Duplicity will fail if you only specify included paths ("Because the + default is to include all files, the expression is redundant. Exiting + because this probably isn't what you meant.") + ''; + }; + }; +} diff --git a/nixos/modules/services/backup/mysql-backup.nix b/nixos/modules/services/backup/mysql-backup.nix index f0c273ffebf154d5841a472a4edcfcadf4f8c8b8..ba6e154f6b3d0f4387b4d072b310b0fa22399566 100644 --- a/nixos/modules/services/backup/mysql-backup.nix +++ b/nixos/modules/services/backup/mysql-backup.nix @@ -117,14 +117,12 @@ in enable = true; serviceConfig = { User = cfg.user; - PermissionsStartOnly = true; }; - preStart = '' - mkdir -m 0700 -p ${cfg.location} - chown -R ${cfg.user} ${cfg.location} - ''; script = backupScript; }; + tmpfiles.rules = [ + "d ${cfg.location} 0700 ${cfg.user} - - -" + ]; }; }; diff --git a/nixos/modules/services/backup/postgresql-backup.nix b/nixos/modules/services/backup/postgresql-backup.nix index 11efa47ec5b2ebe3c60512c8ba27075c627401f7..13a36ae32ac0ef82dc1a7e17ca0020cb819a8808 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 0000000000000000000000000000000000000000..d9a37037992e1fa7cc9733581477fdcda7f48885 --- /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 bb5dcab1dcf2da07873097bbf036193a70d9e927..6635a51ec2c656a76833058913893721f73d97c9 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 0000000000000000000000000000000000000000..3b2bb37491b5eb2ad6bf41a88b81bde50d738e59 --- /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 0000000000000000000000000000000000000000..785cedb98694b49fac7950088e08495c862d4efa --- /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 fc8a424190f7ee7ffced2ad4fcb0ad5f4b25aff7..9c7f846557279da27db5351f663dffa5cdc8cc38 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 0000000000000000000000000000000000000000..ad7d17c9c283989d69c954581dbd39e7192ebbaf --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/addon-manager.nix @@ -0,0 +1,242 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.addonManager; + + isRBACEnabled = elem "RBAC" top.apiserver.authorizationMode; + + addons = pkgs.runCommand "kubernetes-addons" { } '' + mkdir -p $out + # since we are mounting the addons to the addon manager, they need to be copied + ${concatMapStringsSep ";" (a: "cp -v ${a}/* $out/") (mapAttrsToList (name: addon: + pkgs.writeTextDir "${name}.json" (builtins.toJSON addon) + ) (cfg.addons))} + ''; +in +{ + ###### interface + options.services.kubernetes.addonManager = with lib.types; { + + bootstrapAddons = mkOption { + description = '' + Bootstrap addons are like regular addons, but they are applied with cluster-admin rigths. + They are applied at addon-manager startup only. + ''; + default = { }; + type = attrsOf attrs; + example = literalExample '' + { + "my-service" = { + "apiVersion" = "v1"; + "kind" = "Service"; + "metadata" = { + "name" = "my-service"; + "namespace" = "default"; + }; + "spec" = { ... }; + }; + } + ''; + }; + + addons = mkOption { + description = "Kubernetes addons (any kind of Kubernetes resource can be an addon)."; + default = { }; + type = attrsOf (either attrs (listOf attrs)); + example = literalExample '' + { + "my-service" = { + "apiVersion" = "v1"; + "kind" = "Service"; + "metadata" = { + "name" = "my-service"; + "namespace" = "default"; + }; + "spec" = { ... }; + }; + } + // import { cfg = config.services.kubernetes; }; + ''; + }; + + enable = mkEnableOption "Kubernetes addon manager"; + + kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes addon manager"; + bootstrapAddonsKubeconfig = top.lib.mkKubeConfigOptions "Kubernetes addon manager bootstrap"; + }; + + ###### implementation + config = let + + addonManagerPaths = filter (a: a != null) [ + cfg.kubeconfig.caFile + cfg.kubeconfig.certFile + cfg.kubeconfig.keyFile + ]; + bootstrapAddonsPaths = filter (a: a != null) [ + cfg.bootstrapAddonsKubeconfig.caFile + cfg.bootstrapAddonsKubeconfig.certFile + cfg.bootstrapAddonsKubeconfig.keyFile + ]; + + in mkIf cfg.enable { + environment.etc."kubernetes/addons".source = "${addons}/"; + + #TODO: Get rid of kube-addon-manager in the future for the following reasons + # - it is basically just a shell script wrapped around kubectl + # - it assumes that it is clusterAdmin or can gain clusterAdmin rights through serviceAccount + # - it is designed to be used with k8s system components only + # - it would be better with a more Nix-oriented way of managing addons + systemd.services.kube-addon-manager = { + description = "Kubernetes addon manager"; + wantedBy = [ "kubernetes.target" ]; + after = [ "kube-node-online.target" ]; + before = [ "kubernetes.target" ]; + environment = { + ADDON_PATH = "/etc/kubernetes/addons/"; + KUBECONFIG = top.lib.mkKubeConfig "kube-addon-manager" cfg.kubeconfig; + }; + path = with pkgs; [ gawk kubectl ]; + preStart = '' + until kubectl -n kube-system get serviceaccounts/default 2>/dev/null; do + echo kubectl -n kube-system get serviceaccounts/default: exit status $? + sleep 2 + done + ''; + serviceConfig = { + Slice = "kubernetes.slice"; + ExecStart = "${top.package}/bin/kube-addons"; + WorkingDirectory = top.dataDir; + User = "kubernetes"; + Group = "kubernetes"; + Restart = "on-failure"; + RestartSec = 10; + }; + unitConfig.ConditionPathExists = addonManagerPaths; + }; + + systemd.paths.kube-addon-manager = { + wantedBy = [ "kube-addon-manager.service" ]; + pathConfig = { + PathExists = addonManagerPaths; + PathChanged = addonManagerPaths; + }; + }; + + services.kubernetes.addonManager.kubeconfig.server = mkDefault top.apiserverAddress; + + systemd.services.kube-addon-manager-bootstrap = mkIf (top.apiserver.enable && top.addonManager.bootstrapAddons != {}) { + wantedBy = [ "kube-control-plane-online.target" ]; + after = [ "kube-apiserver.service" ]; + before = [ "kube-control-plane-online.target" ]; + path = [ pkgs.kubectl ]; + environment = { + KUBECONFIG = top.lib.mkKubeConfig "kube-addon-manager-bootstrap" cfg.bootstrapAddonsKubeconfig; + }; + preStart = with pkgs; let + files = mapAttrsToList (n: v: writeText "${n}.json" (builtins.toJSON v)) + cfg.bootstrapAddons; + in '' + until kubectl auth can-i '*' '*' -q 2>/dev/null; do + echo kubectl auth can-i '*' '*': exit status $? + sleep 2 + done + + kubectl apply -f ${concatStringsSep " \\\n -f " files} + ''; + script = "echo Ok"; + unitConfig.ConditionPathExists = bootstrapAddonsPaths; + }; + + systemd.paths.kube-addon-manager-bootstrap = { + wantedBy = [ "kube-addon-manager-bootstrap.service" ]; + pathConfig = { + PathExists = bootstrapAddonsPaths; + PathChanged = bootstrapAddonsPaths; + }; + }; + + services.kubernetes.addonManager.bootstrapAddonsKubeconfig.server = mkDefault top.apiserverAddress; + + services.kubernetes.addonManager.bootstrapAddons = mkIf isRBACEnabled + (let + name = system:kube-addon-manager; + namespace = "kube-system"; + in + { + + kube-addon-manager-r = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "Role"; + metadata = { + inherit name namespace; + }; + rules = [{ + apiGroups = ["*"]; + resources = ["*"]; + verbs = ["*"]; + }]; + }; + + kube-addon-manager-rb = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "RoleBinding"; + metadata = { + inherit name namespace; + }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "Role"; + inherit name; + }; + subjects = [{ + apiGroup = "rbac.authorization.k8s.io"; + kind = "User"; + inherit name; + }]; + }; + + kube-addon-manager-cluster-lister-cr = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "ClusterRole"; + metadata = { + name = "${name}:cluster-lister"; + }; + rules = [{ + apiGroups = ["*"]; + resources = ["*"]; + verbs = ["list"]; + }]; + }; + + kube-addon-manager-cluster-lister-crb = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "ClusterRoleBinding"; + metadata = { + name = "${name}:cluster-lister"; + }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "ClusterRole"; + name = "${name}:cluster-lister"; + }; + subjects = [{ + kind = "User"; + inherit name; + }]; + }; + }); + + services.kubernetes.pki.certs = { + addonManager = top.lib.mkCert { + name = "kube-addon-manager"; + CN = "system:kube-addon-manager"; + action = "systemctl restart kube-addon-manager.service"; + }; + }; + }; + +} diff --git a/nixos/modules/services/cluster/kubernetes/dashboard.nix b/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix similarity index 98% rename from nixos/modules/services/cluster/kubernetes/dashboard.nix rename to nixos/modules/services/cluster/kubernetes/addons/dashboard.nix index 454e7d35bc01cb9b39fdef552b83bc4ca147f16d..2295694ffc740072aaad095b5f3985a26f7c3ee3 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 ea3e0706163aa8bf1140be6768e146a764823d65..ee0ac632ecf0870bae1a6be3e2eea54824242304 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 0000000000000000000000000000000000000000..f293dd79f42a90a802b1a0b5c71100615bca77ec --- /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 0000000000000000000000000000000000000000..b94e8bd86d4c0596d602d74f60f7d1732ac16b51 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/controller-manager.nix @@ -0,0 +1,191 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.controllerManager; +in +{ + ###### interface + options.services.kubernetes.controllerManager = with lib.types; { + + allocateNodeCIDRs = mkOption { + description = "Whether to automatically allocate CIDR ranges for cluster nodes."; + default = true; + type = bool; + }; + + bindAddress = mkOption { + description = "Kubernetes controller manager listening address."; + default = "127.0.0.1"; + type = str; + }; + + clusterCidr = mkOption { + description = "Kubernetes CIDR Range for Pods in cluster."; + default = top.clusterCidr; + type = str; + }; + + enable = mkEnableOption "Kubernetes controller manager"; + + extraOpts = mkOption { + description = "Kubernetes controller manager extra command line options."; + default = ""; + type = str; + }; + + featureGates = mkOption { + description = "List set of feature gates"; + default = top.featureGates; + type = listOf str; + }; + + insecurePort = mkOption { + description = "Kubernetes controller manager insecure listening port."; + default = 0; + type = int; + }; + + kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes controller manager"; + + leaderElect = mkOption { + description = "Whether to start leader election before executing main loop."; + type = bool; + default = true; + }; + + rootCaFile = mkOption { + description = '' + Kubernetes controller manager certificate authority file included in + service account's token secret. + ''; + default = top.caFile; + type = nullOr path; + }; + + securePort = mkOption { + description = "Kubernetes controller manager secure listening port."; + default = 10252; + type = int; + }; + + serviceAccountKeyFile = mkOption { + description = '' + Kubernetes controller manager PEM-encoded private RSA key file used to + sign service account tokens + ''; + default = null; + type = nullOr path; + }; + + tlsCertFile = mkOption { + description = "Kubernetes controller-manager certificate file."; + default = null; + type = nullOr path; + }; + + tlsKeyFile = mkOption { + description = "Kubernetes controller-manager private key file."; + default = null; + type = nullOr path; + }; + + verbosity = mkOption { + description = '' + Optional glog verbosity level for logging statements. See + + ''; + default = null; + type = nullOr int; + }; + + }; + + ###### implementation + config = let + + controllerManagerPaths = filter (a: a != null) [ + cfg.kubeconfig.caFile + cfg.kubeconfig.certFile + cfg.kubeconfig.keyFile + cfg.rootCaFile + cfg.serviceAccountKeyFile + cfg.tlsCertFile + cfg.tlsKeyFile + ]; + + in mkIf cfg.enable { + systemd.services.kube-controller-manager = rec { + description = "Kubernetes Controller Manager Service"; + wantedBy = [ "kube-control-plane-online.target" ]; + after = [ "kube-apiserver.service" ]; + before = [ "kube-control-plane-online.target" ]; + environment.KUBECONFIG = top.lib.mkKubeConfig "kube-controller-manager" cfg.kubeconfig; + preStart = '' + until kubectl auth can-i get /api -q 2>/dev/null; do + echo kubectl auth can-i get /api: exit status $? + sleep 2 + done + ''; + serviceConfig = { + RestartSec = "30s"; + Restart = "on-failure"; + Slice = "kubernetes.slice"; + ExecStart = ''${top.package}/bin/kube-controller-manager \ + --allocate-node-cidrs=${boolToString cfg.allocateNodeCIDRs} \ + --bind-address=${cfg.bindAddress} \ + ${optionalString (cfg.clusterCidr!=null) + "--cluster-cidr=${cfg.clusterCidr}"} \ + ${optionalString (cfg.featureGates != []) + "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \ + --kubeconfig=${environment.KUBECONFIG} \ + --leader-elect=${boolToString cfg.leaderElect} \ + ${optionalString (cfg.rootCaFile!=null) + "--root-ca-file=${cfg.rootCaFile}"} \ + --port=${toString cfg.insecurePort} \ + --secure-port=${toString cfg.securePort} \ + ${optionalString (cfg.serviceAccountKeyFile!=null) + "--service-account-private-key-file=${cfg.serviceAccountKeyFile}"} \ + ${optionalString (cfg.tlsCertFile!=null) + "--tls-cert-file=${cfg.tlsCertFile}"} \ + ${optionalString (cfg.tlsKeyFile!=null) + "--tls-private-key-file=${cfg.tlsKeyFile}"} \ + ${optionalString (elem "RBAC" top.apiserver.authorizationMode) + "--use-service-account-credentials"} \ + ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} + ''; + WorkingDirectory = top.dataDir; + User = "kubernetes"; + Group = "kubernetes"; + }; + path = top.path ++ [ pkgs.kubectl ]; + unitConfig.ConditionPathExists = controllerManagerPaths; + }; + + systemd.paths.kube-controller-manager = { + wantedBy = [ "kube-controller-manager.service" ]; + pathConfig = { + PathExists = controllerManagerPaths; + PathChanged = controllerManagerPaths; + }; + }; + + services.kubernetes.pki.certs = with top.lib; { + controllerManager = mkCert { + name = "kube-controller-manager"; + CN = "kube-controller-manager"; + action = "systemctl restart kube-controller-manager.service"; + }; + controllerManagerClient = mkCert { + name = "kube-controller-manager-client"; + CN = "system:kube-controller-manager"; + action = "systemctl restart kube-controller-manager.service"; + }; + }; + + services.kubernetes.controllerManager.kubeconfig.server = mkDefault top.apiserverAddress; + }; +} diff --git a/nixos/modules/services/cluster/kubernetes/default.nix b/nixos/modules/services/cluster/kubernetes/default.nix index 6f3c45b29bf245e305d2a5cc1241e80dca498329..143b41f57f6a3f886acfe1897bfece1efa4f693e 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; - }; + kubeconfig = mkKubeConfigOptions "Default kubeconfig"; - caFile = mkOption { - description = "Etcd ca file."; - default = cfg.caFile; - type = types.nullOr types.path; - }; + apiserverAddress = mkOption { + description = '' + Clusterwide accessible address for the kubernetes apiserver, + including protocol and optional port. + ''; + example = "https://kubernetes-apiserver.example.com:6443"; + type = types.str; }; - kubeconfig = mkKubeConfigOptions "Default kubeconfig"; - caFile = mkOption { description = "Default kubernetes certificate authority"; type = types.nullOr types.path; @@ -230,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"; + (mkIf (elem "master" cfg.roles) { + services.kubernetes.apiserver.enable = mkDefault true; + services.kubernetes.scheduler.enable = mkDefault true; + services.kubernetes.controllerManager.enable = mkDefault true; + services.kubernetes.addonManager.enable = mkDefault true; + services.kubernetes.proxy.enable = mkDefault true; + services.etcd.enable = true; # Cannot mkDefault because of flannel default options + services.kubernetes.kubelet = { + enable = mkDefault true; + taints = mkIf (!(elem "node" cfg.roles)) { + master = { + key = "node-role.kubernetes.io/master"; + value = "true"; + effect = "NoSchedule"; + }; }; - path = cfg.path; }; - - services.kubernetes.controllerManager.kubeconfig = kubeConfigDefaults; }) - (mkIf cfg.proxy.enable { - systemd.services.kube-proxy = { - description = "Kubernetes Proxy Service"; - wantedBy = [ "kubernetes.target" ]; - after = [ "kube-apiserver.service" ]; - path = [pkgs.iptables pkgs.conntrack_tools]; - serviceConfig = { - Slice = "kubernetes.slice"; - ExecStart = ''${cfg.package}/bin/kube-proxy \ - --kubeconfig=${mkKubeConfig "kube-proxy" cfg.proxy.kubeconfig} \ - --bind-address=${cfg.proxy.address} \ - ${optionalString (cfg.proxy.featureGates != []) - "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.proxy.featureGates}"} \ - ${optionalString cfg.verbose "--v=6"} \ - ${optionalString cfg.verbose "--log-flush-frequency=1s"} \ - ${optionalString (cfg.clusterCidr!=null) - "--cluster-cidr=${cfg.clusterCidr}"} \ - ${cfg.proxy.extraOpts} - ''; - WorkingDirectory = cfg.dataDir; - }; - }; - - # kube-proxy needs iptables - networking.firewall.enable = mkDefault true; - services.kubernetes.proxy.kubeconfig = kubeConfigDefaults; + (mkIf (all (el: el == "master") cfg.roles) { + # if this node is only a master make it unschedulable by default + services.kubernetes.kubelet.unschedulable = mkDefault true; }) - (mkIf (any (el: el == "master") cfg.roles) { - virtualisation.docker.enable = mkDefault true; + (mkIf (elem "node" cfg.roles) { services.kubernetes.kubelet.enable = mkDefault true; - services.kubernetes.kubelet.allowPrivileged = mkDefault true; - services.kubernetes.kubelet.applyManifests = mkDefault true; - services.kubernetes.apiserver.enable = mkDefault true; - services.kubernetes.scheduler.enable = mkDefault true; - services.kubernetes.controllerManager.enable = mkDefault true; - services.etcd.enable = mkDefault (cfg.etcd.servers == ["http://127.0.0.1:2379"]); - services.kubernetes.addonManager.enable = mkDefault true; services.kubernetes.proxy.enable = mkDefault true; }) - # if this node is only a master make it unschedulable by default - (mkIf (all (el: el == "master") cfg.roles) { - services.kubernetes.kubelet.unschedulable = mkDefault true; + # Using "services.kubernetes.roles" will automatically enable easyCerts and flannel + (mkIf (cfg.roles != []) { + services.kubernetes.flannel.enable = mkDefault true; + services.flannel.etcd.endpoints = mkDefault etcdEndpoints; + services.kubernetes.easyCerts = mkDefault true; + }) + + (mkIf cfg.apiserver.enable { + services.kubernetes.pki.etcClusterAdminKubeconfig = mkDefault "kubernetes/cluster-admin.kubeconfig"; + services.kubernetes.apiserver.etcd.servers = mkDefault etcdEndpoints; }) - (mkIf (any (el: el == "node") cfg.roles) { + (mkIf cfg.kubelet.enable { virtualisation.docker = { enable = mkDefault true; @@ -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.kubelet = { - networkPlugin = mkDefault "cni"; - cni.config = mkDefault [{ - name = "mynet"; - type = "flannel"; - delegate = { - isDefaultGateway = true; - bridge = "docker0"; - }; - }]; - }; - - systemd.services."mk-docker-opts" = { - description = "Pre-Docker Actions"; - wantedBy = [ "flannel.service" ]; - before = [ "docker.service" ]; - after = [ "flannel.service" ]; - path = [ pkgs.gawk pkgs.gnugrep ]; - script = '' - mkdir -p /run/flannel - ${mkDockerOpts}/mk-docker-opts -d /run/flannel/docker - ''; - serviceConfig.Type = "oneshot"; - }; - systemd.services.docker.serviceConfig.EnvironmentFile = "/run/flannel/docker"; - - # read environment variables generated by mk-docker-opts - virtualisation.docker.extraOptions = "$DOCKER_OPTS"; + services.kubernetes.apiserverAddress = mkDefault ("https://${if cfg.apiserver.advertiseAddress != null + then cfg.apiserver.advertiseAddress + else "${cfg.masterAddress}:${toString cfg.apiserver.securePort}"}"); - networking.firewall.allowedUDPPorts = [ - 8285 # flannel udp - 8472 # flannel vxlan - ]; + services.kubernetes.kubeconfig.server = mkDefault cfg.apiserverAddress; }) ]; } diff --git a/nixos/modules/services/cluster/kubernetes/flannel.nix b/nixos/modules/services/cluster/kubernetes/flannel.nix new file mode 100644 index 0000000000000000000000000000000000000000..d9437427d6d1af488cecd9ec29dff9068f328e87 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/flannel.nix @@ -0,0 +1,184 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.flannel; + + # we want flannel to use kubernetes itself as configuration backend, not direct etcd + storageBackend = "kubernetes"; + + # needed for flannel to pass options to docker + mkDockerOpts = pkgs.runCommand "mk-docker-opts" { + buildInputs = [ pkgs.makeWrapper ]; + } '' + mkdir -p $out + cp ${pkgs.kubernetes.src}/cluster/centos/node/bin/mk-docker-opts.sh $out/mk-docker-opts.sh + + # bashInteractive needed for `compgen` + makeWrapper ${pkgs.bashInteractive}/bin/bash $out/mk-docker-opts --add-flags "$out/mk-docker-opts.sh" + ''; +in +{ + ###### interface + options.services.kubernetes.flannel = { + enable = mkEnableOption "flannel networking"; + kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes flannel"; + }; + + ###### implementation + config = let + + flannelPaths = filter (a: a != null) [ + cfg.kubeconfig.caFile + cfg.kubeconfig.certFile + cfg.kubeconfig.keyFile + ]; + kubeconfig = top.lib.mkKubeConfig "flannel" cfg.kubeconfig; + + in mkIf cfg.enable { + services.flannel = { + + enable = mkDefault true; + network = mkDefault top.clusterCidr; + inherit storageBackend kubeconfig; + nodeName = top.kubelet.hostname; + }; + + services.kubernetes.kubelet = { + networkPlugin = mkDefault "cni"; + cni.config = mkDefault [{ + name = "mynet"; + type = "flannel"; + delegate = { + isDefaultGateway = true; + bridge = "docker0"; + }; + }]; + }; + + systemd.services.mk-docker-opts = { + description = "Pre-Docker Actions"; + wantedBy = [ "flannel.target" ]; + before = [ "flannel.target" ]; + path = with pkgs; [ gawk gnugrep ]; + script = '' + ${mkDockerOpts}/mk-docker-opts -d /run/flannel/docker + systemctl restart docker + ''; + unitConfig.ConditionPathExists = [ "/run/flannel/subnet.env" ]; + serviceConfig.Type = "oneshot"; + }; + + systemd.paths.flannel-subnet-env = { + wantedBy = [ "mk-docker-opts.service" ]; + pathConfig = { + PathExists = [ "/run/flannel/subnet.env" ]; + PathChanged = [ "/run/flannel/subnet.env" ]; + Unit = "mk-docker-opts.service"; + }; + }; + + systemd.targets.flannel = { + wantedBy = [ "kube-node-online.target" ]; + before = [ "kube-node-online.target" ]; + }; + + systemd.services.flannel = { + wantedBy = [ "flannel.target" ]; + after = [ "kubelet.target" ]; + before = [ "flannel.target" ]; + path = with pkgs; [ iptables kubectl ]; + environment.KUBECONFIG = kubeconfig; + preStart = let + args = [ + "--selector=kubernetes.io/hostname=${top.kubelet.hostname}" + # flannel exits if node is not registered yet, before that there is no podCIDR + "--output=jsonpath={.items[0].spec.podCIDR}" + # if jsonpath cannot be resolved exit with status 1 + "--allow-missing-template-keys=false" + ]; + in '' + until kubectl get nodes ${concatStringsSep " " args} 2>/dev/null; do + echo Waiting for ${top.kubelet.hostname} to be RegisteredNode + sleep 1 + done + ''; + unitConfig.ConditionPathExists = flannelPaths; + }; + + systemd.paths.flannel = { + wantedBy = [ "flannel.service" ]; + pathConfig = { + PathExists = flannelPaths; + PathChanged = flannelPaths; + }; + }; + + services.kubernetes.flannel.kubeconfig.server = mkDefault top.apiserverAddress; + + systemd.services.docker = { + environment.DOCKER_OPTS = "-b none"; + serviceConfig.EnvironmentFile = "-/run/flannel/docker"; + }; + + # read environment variables generated by mk-docker-opts + virtualisation.docker.extraOptions = "$DOCKER_OPTS"; + + networking = { + firewall.allowedUDPPorts = [ + 8285 # flannel udp + 8472 # flannel vxlan + ]; + dhcpcd.denyInterfaces = [ "docker*" "flannel*" ]; + }; + + services.kubernetes.pki.certs = { + flannelClient = top.lib.mkCert { + name = "flannel-client"; + CN = "flannel-client"; + action = "systemctl restart flannel.service"; + }; + }; + + # give flannel som kubernetes rbac permissions if applicable + services.kubernetes.addonManager.bootstrapAddons = mkIf ((storageBackend == "kubernetes") && (elem "RBAC" top.apiserver.authorizationMode)) { + flannel-cr = { + apiVersion = "rbac.authorization.k8s.io/v1beta1"; + kind = "ClusterRole"; + metadata = { name = "flannel"; }; + rules = [{ + apiGroups = [ "" ]; + resources = [ "pods" ]; + verbs = [ "get" ]; + } + { + apiGroups = [ "" ]; + resources = [ "nodes" ]; + verbs = [ "list" "watch" ]; + } + { + apiGroups = [ "" ]; + resources = [ "nodes/status" ]; + verbs = [ "patch" ]; + }]; + }; + + flannel-crb = { + apiVersion = "rbac.authorization.k8s.io/v1beta1"; + kind = "ClusterRoleBinding"; + metadata = { name = "flannel"; }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "ClusterRole"; + name = "flannel"; + }; + subjects = [{ + kind = "User"; + name = "flannel-client"; + }]; + }; + }; + }; +} diff --git a/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixos/modules/services/cluster/kubernetes/kubelet.nix new file mode 100644 index 0000000000000000000000000000000000000000..4c5df96bcc6a89981a6db519a263a3e263a4ac31 --- /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 0000000000000000000000000000000000000000..47384ae50a07c41ed8e53e82040eda49decba976 --- /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 0000000000000000000000000000000000000000..23f4d97b7030268630f9ef667a86335a15b27075 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/proxy.nix @@ -0,0 +1,107 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.proxy; +in +{ + + ###### interface + options.services.kubernetes.proxy = with lib.types; { + + bindAddress = mkOption { + description = "Kubernetes proxy listening address."; + default = "0.0.0.0"; + type = str; + }; + + enable = mkEnableOption "Kubernetes proxy"; + + extraOpts = mkOption { + description = "Kubernetes proxy extra command line options."; + default = ""; + type = str; + }; + + featureGates = mkOption { + description = "List set of feature gates"; + default = top.featureGates; + type = listOf str; + }; + + kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes proxy"; + + verbosity = mkOption { + description = '' + Optional glog verbosity level for logging statements. See + + ''; + default = null; + type = nullOr int; + }; + + }; + + ###### implementation + config = let + + proxyPaths = filter (a: a != null) [ + cfg.kubeconfig.caFile + cfg.kubeconfig.certFile + cfg.kubeconfig.keyFile + ]; + + in mkIf cfg.enable { + systemd.services.kube-proxy = rec { + description = "Kubernetes Proxy Service"; + wantedBy = [ "kube-node-online.target" ]; + after = [ "kubelet-online.service" ]; + before = [ "kube-node-online.target" ]; + environment.KUBECONFIG = top.lib.mkKubeConfig "kube-proxy" cfg.kubeconfig; + path = with pkgs; [ iptables conntrack_tools kubectl ]; + preStart = '' + until kubectl auth can-i get nodes/${top.kubelet.hostname} -q 2>/dev/null; do + echo kubectl auth can-i get nodes/${top.kubelet.hostname}: exit status $? + sleep 2 + done + ''; + serviceConfig = { + Slice = "kubernetes.slice"; + ExecStart = ''${top.package}/bin/kube-proxy \ + --bind-address=${cfg.bindAddress} \ + ${optionalString (top.clusterCidr!=null) + "--cluster-cidr=${top.clusterCidr}"} \ + ${optionalString (cfg.featureGates != []) + "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \ + --kubeconfig=${environment.KUBECONFIG} \ + ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} + ''; + WorkingDirectory = top.dataDir; + Restart = "on-failure"; + RestartSec = 5; + }; + unitConfig.ConditionPathExists = proxyPaths; + }; + + systemd.paths.kube-proxy = { + wantedBy = [ "kube-proxy.service" ]; + pathConfig = { + PathExists = proxyPaths; + PathChanged = proxyPaths; + }; + }; + + services.kubernetes.pki.certs = { + kubeProxyClient = top.lib.mkCert { + name = "kube-proxy-client"; + CN = "system:kube-proxy"; + action = "systemctl restart kube-proxy.service"; + }; + }; + + services.kubernetes.proxy.kubeconfig.server = mkDefault top.apiserverAddress; + }; +} diff --git a/nixos/modules/services/cluster/kubernetes/scheduler.nix b/nixos/modules/services/cluster/kubernetes/scheduler.nix new file mode 100644 index 0000000000000000000000000000000000000000..a0e484542951352af779c0f6847bad97964fa2cb --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/scheduler.nix @@ -0,0 +1,120 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.scheduler; +in +{ + ###### interface + options.services.kubernetes.scheduler = with lib.types; { + + address = mkOption { + description = "Kubernetes scheduler listening address."; + default = "127.0.0.1"; + type = str; + }; + + enable = mkEnableOption "Kubernetes scheduler"; + + extraOpts = mkOption { + description = "Kubernetes scheduler extra command line options."; + default = ""; + type = str; + }; + + featureGates = mkOption { + description = "List set of feature gates"; + default = top.featureGates; + type = listOf str; + }; + + kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes scheduler"; + + leaderElect = mkOption { + description = "Whether to start leader election before executing main loop."; + type = bool; + default = true; + }; + + port = mkOption { + description = "Kubernetes scheduler listening port."; + default = 10251; + type = int; + }; + + verbosity = mkOption { + description = '' + Optional glog verbosity level for logging statements. See + + ''; + default = null; + type = nullOr int; + }; + + }; + + ###### implementation + config = let + + schedulerPaths = filter (a: a != null) [ + cfg.kubeconfig.caFile + cfg.kubeconfig.certFile + cfg.kubeconfig.keyFile + ]; + + in mkIf cfg.enable { + systemd.services.kube-scheduler = rec { + description = "Kubernetes Scheduler Service"; + wantedBy = [ "kube-control-plane-online.target" ]; + after = [ "kube-apiserver.service" ]; + before = [ "kube-control-plane-online.target" ]; + environment.KUBECONFIG = top.lib.mkKubeConfig "kube-scheduler" cfg.kubeconfig; + path = [ pkgs.kubectl ]; + preStart = '' + until kubectl auth can-i get /api -q 2>/dev/null; do + echo kubectl auth can-i get /api: exit status $? + sleep 2 + done + ''; + serviceConfig = { + Slice = "kubernetes.slice"; + ExecStart = ''${top.package}/bin/kube-scheduler \ + --address=${cfg.address} \ + ${optionalString (cfg.featureGates != []) + "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \ + --kubeconfig=${environment.KUBECONFIG} \ + --leader-elect=${boolToString cfg.leaderElect} \ + --port=${toString cfg.port} \ + ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} + ''; + WorkingDirectory = top.dataDir; + User = "kubernetes"; + Group = "kubernetes"; + Restart = "on-failure"; + RestartSec = 5; + }; + unitConfig.ConditionPathExists = schedulerPaths; + }; + + systemd.paths.kube-scheduler = { + wantedBy = [ "kube-scheduler.service" ]; + pathConfig = { + PathExists = schedulerPaths; + PathChanged = schedulerPaths; + }; + }; + + services.kubernetes.pki.certs = { + schedulerClient = top.lib.mkCert { + name = "kube-scheduler-client"; + CN = "system:kube-scheduler"; + action = "systemctl restart kube-scheduler.service"; + }; + }; + + services.kubernetes.scheduler.kubeconfig.server = mkDefault top.apiserverAddress; + }; +} diff --git a/nixos/modules/services/computing/boinc/client.nix b/nixos/modules/services/computing/boinc/client.nix index 8abe3c5b8c9b8a7c143bc27f451c1b7a4b2ca396..7022751b3f012d0f0d6ca570889b6de14ea77741 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 0f07e6133bb5ced504bae64320e2fdc174c96c0f..9c615fbe885f623f6bf35abe2096308b27f25a9f 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 4130ec918a70ab391456f75aa94f5bc7b92f9028..49e04ca36228c0bfa20c484bae8957057e32c1fe 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 9daf391c73c46808f4f9aba9559c563fd03cbb70..12cc3d2b1ccced89fef110f844c93fbfd68e871c 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 a0aff1b8b5b92b4e8ea9a818fb2773dbf924c2ec..3d307b1abcf83dd95c1fd503a79d82a060cc8f25 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 1eca45fbd570cd04c4fedb814342a2154519c366..ec6a36413fe7b3afa7ed13e271b25f47668c5c10 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 d741ee48c48f0b78d97dc4c90ca185d3e4483c7e..9c8b6c50af14cf0b5961a08697cc1bb40914ce9c 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 21e0cee3415151b535c11f212639d973ab901622..dbabcae43ee5ed951bd8f4a1483767592a688677 100644 --- a/nixos/modules/services/databases/clickhouse.nix +++ b/nixos/modules/services/databases/clickhouse.nix @@ -1,8 +1,6 @@ { config, lib, pkgs, ... }: let cfg = config.services.clickhouse; - confDir = "/etc/clickhouse-server"; - stateDir = "/var/lib/clickhouse"; in with lib; { @@ -43,20 +41,13 @@ with lib; after = [ "network.target" ]; - preStart = '' - mkdir -p ${stateDir} - chown clickhouse:clickhouse ${confDir} ${stateDir} - ''; - - script = '' - cd "${confDir}" - exec ${pkgs.clickhouse}/bin/clickhouse-server - ''; - serviceConfig = { User = "clickhouse"; Group = "clickhouse"; - PermissionsStartOnly = true; + ConfigurationDirectory = "clickhouse-server"; + StateDirectory = "clickhouse"; + LogsDirectory = "clickhouse"; + ExecStart = "${pkgs.clickhouse}/bin/clickhouse-server --config-file=${pkgs.clickhouse}/etc/clickhouse-server/config.xml"; }; }; diff --git a/nixos/modules/services/databases/cockroachdb.nix b/nixos/modules/services/databases/cockroachdb.nix index e977751b21efd5ee40f0e46edc33d4ee4aeae39b..268fdcc819fd0150067c7041daf79d008fc87624 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 ca89b1198205b5e0315f3bc0f58e5b9e89d54fb4..53224db1d89611b92d788a94939124d54b8b613a 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 cc81b440450b11d16633fc0e09647205d7ec61cd..042c9841df54878d2d06d671002b4fcc7a446a8d 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 ad24f9f4b0fdf396bc661404d5a651dea8bf802e..8f8d0da7c8d3d4e9c960f989dbe40509a2060986 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 bf4b644c9b86aacb0de103aea06ae2554a3aa97b..b0b1ebeab45f68c9e0a90ebe3f91e6510dbc978b 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 4772e897efe2c904faf7847ac66703e9e242d272..2d1a47bbaa311f2e4f034f8b178f129ef2050fc5 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 d7a028b25d8d9f0523af41f885c0660022caf33f..2f176a0387299e98eaefb80642a668ce4ec81f80 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 7af452e4dced70e6c7ee17e199a7126948fa4eb1..84d2c8674f4ebf35eae53e7b00f09ec73210339f 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 4c46d9228e5f88b745a1d7e94fe89e1c950d649e..12879afed477b9381b32ca382b627806613afe8b 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"; - }; - - 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 ] + ExecStartPost = + let + setupScript = pkgs.writeScript "mysql-setup" '' + #!${pkgs.runtimeShell} -e + + ${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 - fi - - echo "MySQL daemon not yet started. Waiting for 1 second..." - count=$((count++)) - sleep 1 - done - ''} - - if [ -f /tmp/mysql_init ] - then - ${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") '' - echo 'use `${database.name}`;' - - if [ -f "${database.schema}" ] - then - cat ${database.schema} - elif [ -d "${database.schema}" ] - then - cat ${database.schema}/mysql-databases/*.sql - fi - ''} + ${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 - fi - '') cfg.initialDatabases} + ''} - ${optionalString (cfg.replication.role == "master") - '' - # Set up the replication master + ${optionalString (cfg.replication.role == "slave") + '' + # Set up the replication slave - ( 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 - ''} + ( 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.replication.role == "slave") - '' - # Set up the replication slave + ${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 + ''} - ( 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 - ''} + rm /tmp/mysql_init + fi - ${optionalString (cfg.initialScript != null) - '' - # Execute initial script - cat ${cfg.initialScript} | ${mysql}/bin/mysql -u root -N - ''} + ${optionalString (cfg.ensureDatabases != []) '' + ( + ${concatMapStrings (database: '' + echo "CREATE DATABASE IF NOT EXISTS \`${database}\`;" + '') cfg.ensureDatabases} + ) | ${mysql}/bin/mysql -u root -N + ''} - ${optionalString (cfg.rootPassword != null) + ${concatMapStrings (user: '' - # Change root password - - ( echo "use mysql;" - echo "update user set Password=password('$(cat ${cfg.rootPassword})') where User='root';" - echo "flush privileges;" + ( 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 - ''} - - 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 e996211be7da20b5d2f6ef878b1af56534d8052e..5bf57a1bf9cbadb989e107f3836180be761fec20 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 b26fa9093ef467c9a8b93603879c7e92548509ba..c4bd71f3d60e5c45a27de9fe679a5133b0ece9c1 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 1a34c7f5ecee60c93352cd8e4aac951f8f0c7e80..1050c2dd481addef4f4efab9e915dbd445d1904c 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 aeab445a9983131b732fbf8e0b15274e8cbda6b1..10250bb5193a63aba1b01211a675c7f1bd5707a2 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 14f4d4909bc0c038f3114c13116889cb0fcaa415..72d4a8249a321c936ac766bc4109e4e9a3c7e095 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 cc7b51982d1d61dc975b00e6e34a98699ef79357..9c389d80a6dfef109929335a526e108f672dab41 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 789d9c851d64fe176755e6fe7d84aa2e26e292c4..4828e594b3283200f9dae1c8e2d30b1ce0d5dc57 100644 --- a/nixos/modules/services/databases/rethinkdb.nix +++ b/nixos/modules/services/databases/rethinkdb.nix @@ -41,7 +41,7 @@ in }; pidpath = mkOption { - default = "/var/run/rethinkdb"; + default = "/run/rethinkdb"; description = "Location where each instance's pid file is located."; }; diff --git a/nixos/modules/services/databases/riak.nix b/nixos/modules/services/databases/riak.nix index ac086cf5599644c35da977cbd8eb3026625091a2..885215209bdf470179a426193c87b3095a0f73cb 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 9fe49f51edd263befbe960fb763f02f7cc74ec53..97e55bc70c470166d6a0e28ff584790c92c03ca2 100644 --- a/nixos/modules/services/databases/stanchion.nix +++ b/nixos/modules/services/databases/stanchion.nix @@ -98,7 +98,7 @@ in type = types.path; default = "/var/log/stanchion"; description = '' - Log directory for Stanchino. + Log directory for Stanchion. ''; }; @@ -152,6 +152,11 @@ in users.groups.stanchion.gid = config.ids.gids.stanchion; + systemd.tmpfiles.rules = [ + "d '${cfg.logDir}' - stanchion stanchion --" + "d '${cfg.dataDir}' 0700 stanchion stanchion --" + ]; + systemd.services.stanchion = { description = "Stanchion Server"; @@ -168,25 +173,12 @@ in environment.STANCHION_LOG_DIR = "${cfg.logDir}"; environment.STANCHION_ETC_DIR = "/etc/stanchion"; - preStart = '' - if ! test -e ${cfg.logDir}; then - mkdir -m 0755 -p ${cfg.logDir} - chown -R stanchion:stanchion ${cfg.logDir} - fi - - if ! test -e ${cfg.dataDir}; then - mkdir -m 0700 -p ${cfg.dataDir} - chown -R stanchion:stanchion ${cfg.dataDir} - fi - ''; - serviceConfig = { ExecStart = "${cfg.package}/bin/stanchion console"; ExecStop = "${cfg.package}/bin/stanchion stop"; StandardInput = "tty"; User = "stanchion"; Group = "stanchion"; - PermissionsStartOnly = true; # Give Stanchion a decent amount of time to clean up. TimeoutStopSec = 120; LimitNOFILE = 65536; diff --git a/nixos/modules/services/desktops/deepin/deepin.nix b/nixos/modules/services/desktops/deepin/deepin.nix new file mode 100644 index 0000000000000000000000000000000000000000..931bac58aceb1812b4b14abc0b1705958b8ef93f --- /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 cfca1893bd82c1e1f7a4628f87752ab30802deb3..7fb0024f37dc7470619851865ea765f0972ade67 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 8045d5fa14f8b8a6de26ba757ba57b79c67a44b4..8f080b2502286eba7b3ee59b391e8c0a223e5d56 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 840aa5294ed0d66925ba7a1078d01f4b51fd64c9..040fe157d52d2dea0ae737f965317b753162ed5b 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 7fb558a98953f3e2acf42a96418612e0997da708..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..186668d7d38503152cbf5482e845b03cf675242c --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/glib-networking.nix @@ -0,0 +1,33 @@ +# GLib Networking + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + ###### interface + + options = { + + services.gnome3.glib-networking = { + + enable = mkEnableOption "network extensions for GLib"; + + }; + + }; + + ###### implementation + + config = mkIf config.services.gnome3.glib-networking.enable { + + services.dbus.packages = [ pkgs.gnome3.glib-networking ]; + + systemd.packages = [ pkgs.gnome3.glib-networking ]; + + environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.gnome3.glib-networking.out}/lib/gio/modules" ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/gnome-disks.nix b/nixos/modules/services/desktops/gnome3/gnome-disks.nix deleted file mode 100644 index 139534cdb892cdb055d45cf6beb2d83b7b699077..0000000000000000000000000000000000000000 --- 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 f6efb668424046f51668a971f83a82165b197103..0000000000000000000000000000000000000000 --- 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 5ea4350be5b42e2870b3af9cfe8c285f83b8b91b..db60445ef7731dfba3f25037954386da2f68148d 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 4286251357f7eafb5538c67874e77fd4eb105d80..748a025414a789f2062c22a4ad900ac7fe26a47e 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 0000000000000000000000000000000000000000..7f7adcf26acf4af41d142103349269aa80baaab7 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix @@ -0,0 +1,45 @@ +# GNOME Settings Daemon + +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.gnome3.gnome-settings-daemon; + +in + +{ + + ###### interface + + options = { + + services.gnome3.gnome-settings-daemon = { + + enable = mkEnableOption "GNOME Settings Daemon"; + + # There are many forks of gnome-settings-daemon + package = mkOption { + type = types.package; + default = pkgs.gnome3.gnome-settings-daemon; + description = "Which gnome-settings-daemon package to use."; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + environment.systemPackages = [ cfg.package ]; + + services.udev.packages = [ cfg.package ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/gnome-terminal-server.nix b/nixos/modules/services/desktops/gnome3/gnome-terminal-server.nix deleted file mode 100644 index fd14efee5f2ea610440e81fcd1770bf72ad65079..0000000000000000000000000000000000000000 --- 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 1f6ce2ae968e6fef535e785f6a6d421c304ba5c7..f839628777008cd7eb506ad0b64ff43d988859bd 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 5a8258775e0ae3aa0b5e1c4324f228ec6b28958a..0000000000000000000000000000000000000000 --- 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 4e99d191f18c72463e6bba70c3477de2399879f4..0000000000000000000000000000000000000000 --- 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 9631157934f973ee4c00a824dd002684940d59b7..0000000000000000000000000000000000000000 --- 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 20154fc2fed35c6c2d164a11131271748cce0c4a..b390d8368c6522d562075118db6df511c1f3fb47 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 c061f789049942c097ac5c040201deac606f636d..2e82927422644e2ff73e6dde9de75caf2f89dafb 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 cf26e05d5c18b1a840d41ab9ae056f6e527ff512..5ab9add9f32d5dc36c3726baee75505f02d9d047 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 0000000000000000000000000000000000000000..1d002eac41def6539a8952d502ba41b5f60008c9 --- /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 bd538db724130917bfc2e52967a91d57fd7afc13..2638a21df73363e4815585584bbbe08787eaeb7a 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 2edbe5b3a6db14e141f310f55b32e53f5bf3221d..577aad6c29872918246746b84595fad8c1a15a34 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 ccbb6d1434d961b5cdc1cabd4d757c06de1bb5a6..d18088d4634b817f3c07c0c2768a3b9e916c3906 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 56904b7c40e6a30c8b97621953478bdea3d43eb3..226718a9e80ab7b6acd52e7be4bd950e804e8511 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 1ac53c818a7f77086ea5a350d815fb08e38a361b..8ced302bad1ecb614c46fb9af94d503770b8b487 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 3f6bf9de8931b260ec630de02d962f4a2ad945e9..f3831156f453e26f8a3ffd192a9702b616371da7 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 7d26d15016503f3ba0c55ca4dc3a1a63df9c61a1..eb9288fca586cb72ec608c18ff84d0bd64ae8442 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 18547f170a3f9c0de47eea29c550d0244e432330..0000000000000000000000000000000000000000 --- 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 0f05876aee32b217d3c86cd5b22718799650e937..4c97485d9726175a149acb4466dd0c0fdebe0fac 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 2a8dfe4a66c92e669455638c8d62f64f049c962a..c5f9d1f9b725331a0819fea880a2ed1e94b730d7 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 0000000000000000000000000000000000000000..32b60af060376355736e00afc6ef9f490243b573 --- /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 066ccaa4d7cf49bfaa61aee90d0099c53270171b..83f1e8c84f283047dad6a0ef4e76217c4076ed4d 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 cad9fa20de0f43c92935db9c98026394fa60dc67..6c341bcbf2406cbf976360154975eaa3e2fb83f3 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 fe05c5a5c06f8e613072e6b3d4138e5a143d91cb..3f52658ff01314d66215f758b6195d6e3d623c29 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 bd114f0d2cca04e76afe9a0484b6656a85cfb7ab..fd19d8020fb87ece81947bcba76b218b73f35535 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 0000000000000000000000000000000000000000..d71a17f5ea6b4758ba56140e168f54077859e18b --- /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 d4b0a9495d75779f87eb65af540b7a556bd4b271..3876280ee6bcde7ef80e802bdcf4e494b2cb2e5a 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 d17121ca1c5bf35b762519561b5acf294dc4839c..7c105e99ca54a190bd62dbb1346421d38f0bcc58 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 0000000000000000000000000000000000000000..13fc5e4792e60e639a8f13cddced2e1b2546d4e2 --- /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 b894025c0fd5922f981b4d2d03d9242c40927ec3..092ff051a042327a25570d9bb001c567ed70c808 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 c06a0665d02ff761745e618981751a826d8fa6ad..62824ed7350a77fc9bfea5e44e8ef6c0f5c322fa 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 0000000000000000000000000000000000000000..972d409d9d0e0f595a7e18308170637f32f18ba7 --- /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 81d4a1ae65bf13ccd6bd1dd4e321b5cc94e86d4c..a500cb4fc367ccf33a444a3997d7df9046602e5b 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 0266286aaacf9d174e274c10ee00de1a1f1e0a5c..83ab93bd7cfc0c7d071860e171121ee5ec9fa90b 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 4822506a899bac2165b8217197dad99993f1bbce..6e246f70f515fa0b5c4e9667740cd479c6482ce2 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 e90d9e7a12b6203cdad4c9d63fdd1a9c22387568..f26aef7262ba1b81861397f8fb12b0b9fa0ad659 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 612ae06d0a79cf8d92e002b1d29298a610210611..a92ff3bee490b02ee9efb9f90b5cecf0478b62b9 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" ''); + systemd.tmpfiles.rules = optionals cfg.service.enable [ + "d '${cfg.vardir}' - ${httpd.user} ${httpd.group} - -" + "Z '${cfg.vardir}' - ${httpd.user} ${httpd.group} - -" + ]; + # 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/" + 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 - 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}' - ''; - };}]; + + 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 74a7b3c9b470ba3f6a197bba6e04f71be8230fdb..a889a44d4b2be9055734ca498a3c1597ee0d5c6b 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 b595ac07bf5e7832aee150faaded5660b9baa25f..56fb4deabda52b2df4ac904ecffbf1edc817ef0d 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 8186a3b02c37ac8dd330db6081c0dd52e7e8cada..89f53b1b2454648e5dfc48f62e449169a7a5174d 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 d0824df38ae306ad18800b10417481b712fdf0be..576c646c0f58bfd739cee2648cd006e1c83cea51 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 1477d273d5ee9b1bffc7709e718c8008f253e55e..e7d6e3d6263884a85508bcc8af93fc1c42d08178 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 aa019d855ea9d631a62ed67e3c7128297cacdde3..9b707e9deb5852f405cc6321b520b692b8b57810 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 1ea96b8f132528ef2195f7454cbff26f592e9038..b924d94e0b0dec9c5725dae961d82436b23b9d37 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 0000000000000000000000000000000000000000..374a3dd75c1c1024a7cd13de22b6a7813f67a9cd --- /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 30ad7d82fb801ff4b6a28c8f1e59184d7286d987..cdbb776454b658620a7b18e66f738a2e9190a630 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 167b5aeccc848c9d98ddab4457119bcc23efc5fd..72b8c4c08b9262dfcd2ed6cd5527a683a1622499 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 c05811291359e18a33cad301fc22f06e917cb80a..47812dd1e40ee78d9b80a6d603c39d23b561e6e7 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 0000000000000000000000000000000000000000..fa8d41e918d3d093b69e771ed46a9be8fce706e7 --- /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 0000000000000000000000000000000000000000..11dd5cb48db04154a6f442cf1b0fa4b858d77764 --- /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 418c02af4b7f1c94f7dd7fd3a8a85673dd9d3b40..2c2910e0aa9b7d3be085e4dd9e1b23563f7b716a 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 4b24bd8d08139c09a60fb4816f979fe04d2edb6b..294e3806f94a24ce693422e8e81b5623c8d7e260 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 7855efb46c73df0d9cb8d195165aa74efe1318b6..253823cbaf9c0274250f9b92eb8c4dfbb6b2b4f1 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 4276552d4f03a7e863ed79511d18273f7305c4c6..a870550ba50b30a25677475399ab2da0fa42c7bd 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 ab5f4c39e8c2ae0d7bfd874c2fc2f6c156368785..9599854352c9fd334ff78d8fd2f1be893e569830 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 d43733484ffa93f8d1eb67fe36447e0f6f1201a4..c9b3ff0c8f8a53ea1d7a07c403f3d815bd05490b 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 241f75eae279f9c2107ece743bcdb59827b5a129..660c4ca74b104276ae02e1a3b1c3145962de5939 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 492c645832190b5f91fda4092d7ed8c3f96a637e..0000000000000000000000000000000000000000 --- 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 66b1c1e3e6f9bace3e80b14e7c121f525643a85b..bdedfa1bb7017c6cf27328e319517f0b2c32115c 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 c9ba867802130ab67e855523e7736a2fc1df5d9a..e1ba6307811137572c4c1f33af890f9f5fa6557e 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 5f3b2877008f8a9ce1ea8e907924a092503accd6..df454abc826719ff0b5a6029078fe891afe68bfb 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 0c11ea431368572c28f6b8a5c6f4a170bc971ca5..1fe77ce5a0c7621e1de72f597274c7588da7093f 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 8b2ec82c770544be835634c912b30699f8436ac7..4480445c1eaab685d21ed72d2892cb7ee9ea0149 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 363ac4411e11dfa0a0a4d4d8a19fdc98b7c031f6..798e902ccae429f89af2b91ccd6dbec8048c2830 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 0000000000000000000000000000000000000000..06e881406b52aaaebeb24eb6f0246e93a877e80b --- /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 62835c194e42b635f84d25eac79cad77fb7a3fbb..87d3606814459cf32441435c539355fcbbc8351f 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 70aa895f76d8857f0b2612d9baa15a99e19d9727..528af486b414c6f692b4610cb548db3e882ca897 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 f31526f8d1078e80381e36a608d5fb3eb15ae76b..907b9d90da295e19ffc1d85afdb672ec59d458e1 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 f3d90e532c887b7fffe50a02466f7cfb2f16e594..c87607d2666af959d27144891c5197c201fda94c 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 0000000000000000000000000000000000000000..b98a42e6a6d2de254e3ccbede76789f0490a71b0 --- /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 0ad4a3f7376fd70d6ccff045140b0f7748776c95..0000000000000000000000000000000000000000 --- 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 ac6ba2181de2838d4633e08502b8e2ba2356d275..256adce2f02e1428253ce36bb3502924033de85d 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 2d1893dae64be41a68b9ccb4b211d880d684d34d..e4d5322f9b5f0f1bc6cac56bcea747c00f45f96e 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 0000000000000000000000000000000000000000..2958cf2144735f0aac38a1028fd315b8b277cca9 --- /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 665084a8ae054f2c6b927f3d740473f379293314..f526270cb4b3de2ab04ac0d63dfbaff8ef27bf4f 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 15f283f093c0df3522ddcef8100c008bb102a4ae..b8841a7fe74ce652ef9839864847f8d198121547 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 be4d38719785aa04d3701e667a656a5b30d3ae5b..59c1c104b9b92e76fc0c0e7da7736ca12a31c784 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 + + 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}) + 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 b8617e48d8e02e0d1732fcbe7bd78bba01a32075..09c3a89d6a6881892c8926e5230c22ea541280e7 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 + + ${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/gitlab_shell_secret - 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 - - # 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 ab99d7bd3a601c20be239f6aca72f1ca3e9907c2..5ff570a442f69d3945e916ca25e7d5c1a2182e15 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 b9c2a966e6f51d324d3e1a9cb20e5d4b8c1c8a3c..cbe2c06ab651ffce0e153bcfb1269203cf54f14c 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 d1823bc6d4df6d3f929e623a1ff7403ca9ee11ce..7653b415bf09452d12cf5da9391b95c113e8acc8 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 0000000000000000000000000000000000000000..9152a782d7f04eb80cff6a030d4ce4272e232c71 --- /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 4ccfa22c89e7007cba3162980f884b0ad2f1d1f8..f1b3512467400b6c6e47ab68ef7f2bba3aaf5845 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 b18ce2b1f81a599511498c88975a60a4d26d595f..f2dc6635df93352f6619ae4390a818f9642eff57 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 0000000000000000000000000000000000000000..55559206568d94186d9075042fd27aaf3b29b225 --- /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 627f22334fe85d928c46896a5471af03ea684a45..40755c16217114e5f4e09b21c5879f26054bbeeb 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.users = mkIf (cfg.user == "lidarr") { + lidarr = { + group = cfg.group; + home = "/var/lib/lidarr"; + uid = config.ids.uids.lidarr; + }; }; - users.groups.lidarr.gid = config.ids.gids.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 ad13d9eaa674bbc1e5a4a816ea6b055d396ee25d..0082db63a06ae754c97cf7527a7535b1308fb127 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 7e3474feb672c33eb7e3af906f853fbd0a26e8f1..0000000000000000000000000000000000000000 --- 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 9a8116a03e88e297407c77cc0cc4ccd41ed192d6..088dfd71860b4bc56f63038f39b8c4491ce50b59 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 6ab98751c57b49eced1d0119cf19c3ed250d1a43..eb7b4c05d82d07401ba71b2ed9e046c4c0fa2464 100644 --- a/nixos/modules/services/misc/nzbget.nix +++ b/nixos/modules/services/misc/nzbget.nix @@ -4,32 +4,34 @@ with lib; let cfg = config.services.nzbget; - dataDir = builtins.dirOf cfg.configFile; -in { - options = { - services.nzbget = { - enable = mkEnableOption "NZBGet"; + pkg = pkgs.nzbget; + stateDir = "/var/lib/nzbget"; + configFile = "${stateDir}/nzbget.conf"; + configOpts = concatStringsSep " " (mapAttrsToList (name: value: "-o ${name}=${value}") nixosOpts); - package = mkOption { - type = types.package; - default = pkgs.nzbget; - defaultText = "pkgs.nzbget"; - description = "The NZBGet package to use"; - }; + 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"; + }; - dataDir = mkOption { - type = types.str; - default = "/var/lib/nzbget"; - description = "The directory where NZBGet stores its configuration files."; - }; +in +{ + # interface - openFirewall = mkOption { - type = types.bool; - default = false; - description = '' - Open ports in the firewall for the NZBGet web interface - ''; - }; + options = { + services.nzbget = { + enable = mkEnableOption "NZBGet"; user = mkOption { type = types.str; @@ -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 baa7c3ade52e304a6c9404eadb54de3d6f7ebb2f..8950010773cf0c5063cce11eae045b378d591bb9 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 bce21e8acff312103a473580b872f11687b2dea2..325c4e84e0d852a323d17c02e3a1429aa1cd3fac 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 0000000000000000000000000000000000000000..3985dc0b303c20e4c2bf84c86b99728964db981d --- /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 e605ce5de16e2246c47f1498a4d75657fdbbecea..0000000000000000000000000000000000000000 --- 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 b06c1c4bbc68b2d0c6b879e35813fa402eada7b2..7efadf1b9bb1aa44de376b17a17ce47903caa226 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 2a589fdfb27fc4f98a01d245db3bc218cea86874..0000000000000000000000000000000000000000 --- 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 9ab26d848325c28adb289d75303ca6ca6b821f1a..74444e24043f941ebd6a46ec30aeb6785d29665d 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 98e9c8953c84418b80d19388ffc7a0c6ae79dfc9..24b9e27ac2da5a1c0c258727a8c128647908842e 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 a99445a268d7d25b0fdd29d33dcce4f65bba9e0d..77c7f0582d0b6c99a0c37e1c9ef9ea72443eba36 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 f322ba4cbd58f4069046183df538b7d51105cdb2..2dd9fcf68ab05685254a40f6706563d98e179882 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 fe472a6c68e52e39cd1dcc534c50f9f846cab632..6b64045dde88d26b9b49e9c962a466d0e878a610 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 1612b197f35f4001b7c412177aa45c44a542d529..c1e1a7f40f0c1d9e4c839ef2e95f1e474cd899ad 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 04a6cd7bfa9bacda0c039eb8684018e6abe0e662..6292bc52b1e3a52b7c6c413a43aab35bb65b0366 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 5f97abf18715f002f17c6a92206f64e1be6f11d0..8a57277fafe7610f07a87e5e8f818d85b1bc2e33 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 5eac8d9ef7841da99d0ba5f10a748fd41006b376..5656bb85b373b782c73ba3e5e1f98b85a08438f9 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 0000000000000000000000000000000000000000..50e450366478cda3958ab17618961925c573170e --- /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 0000000000000000000000000000000000000000..2adc08f6cfedc7bcfa1942c0d14b082cda2a8414 --- /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 005951b9231ec8d18cd4171271f1f5b936642289..753580c3e404f14a7a8a6bc3bd453357c9588c93 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 ae7de7850d9fe9dc893ba31a18ae6e7a9ed2cb73..bf38b9ad7a2df6a23574322b88d41c12f93b079c 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} - - 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 + inherit user group; + phpOptions = '' + date.timezone = "${config.time.timeZone}" + + ${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 cb7cc97d5a5c98bbb1d7e5cd2a67972b85c9e5ce..50c84e3c6b80f4e207dadc67023324dcf2636fe0 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 8f4258e26dedc952c2ea0d53c306bfd5903ea066..34f2d41706a56c5d8ac937528780fcd100506378 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 7ee870183cac4fe255141b7dd890ad0fdd0490a5..75218aa1d46b00548e5f9866fe1ac7cba6e336a8 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 8bf741adb6e3370410a7e58ebec08211a07b3108..b1c12cce1f8095691ff8bcb6cae746137bce7206 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 6ca420a05b2346e62861dfa3c3ae4bc2d362c8ab..695a8c42e85e0bb96a2fcb2d0615510e4d584bfd 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 45e3312c0f44767abd7fc51ff3cbb86f91b23aa3..6a4c678eb21f3029b7c36d8d0457ca48334c7e58 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 a4d29d45bacf7ff5121fa242a293344ae37cda65..02a9f316fc327d07a272fe94bdd5a83299bb03ff 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 abc8d65d58f260ff71b5ce5e938d91eb503fca96..c0ea1eeb424f1cf7823c44b7253672d0526a9c49 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 149026d20188f4305568471a42f7e37178781cae..b5a78e4583e149f312be8fcfefe2b0da22d17d5d 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 85879cfe0b3303460c56d143ed71dc350e8c7138..bf1084eecc3accc3a40c01592515f60f86b55a72 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 cdc98b407e90090bf6ec4562326de09750e7d1e6..64cb6c3da1e572c9af8777d0774bf12bb81081ad 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 be26c44e78d1b6638833155d65340e14be7348b9..2cad3b84d847c048876afced797716238a1a3bb6 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 fbdff2eb5dbe4ed6a9c0aaaad60435156d66d1cb..6da0831b4c5f6449b86632374d0478ee13591464 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 a4bdfa8f80535652faca688647bd5b302796680a..9b4ff3c56124d1a20400fb9e48ff63ca92a74fb4 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 0000000000000000000000000000000000000000..f4eec7e0d2841bc91dc8a113fcd4dba6311eabe2 --- /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 f67986327245e878240ffc522ab551a3c0c02d2c..8af0650c7380d49eebe9d47f1f30abb066521978 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 3e1d727b416e038ab8dc6e63f7741810a1b4220b..6a3b977694620cd4a0d5e60978dcb418e5fc7c90 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 1d86c5d893de37e7f2828b9f95f0fb352d22e90c..463b1b882acf585f3f66ce9e7990d7a9348481a6 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 = { - 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}"; + 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; + # 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 43b4a41eaf33a0a1295335e15fa99f3b6deac52b..11d85e9c4fc3aa9ff0343f24b781951532380422 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 1b1503ab5fc01295c73fab108ffdef1b44ba673a..647d67533b8963620a8a43ff617a93ced12d7fdb 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,64 +300,137 @@ let }; }; - promTypes.dns_sd_config = types.submodule { + promTypes.ec2_sd_config = types.submodule { options = { - names = mkOption { - type = types.listOf types.str; - description = '' - A list of DNS SRV record names to be queried. - ''; - }; - refresh_interval = mkOption { + region = mkOption { type = types.str; - default = "30s"; description = '' - The time after which the provided names are refreshed. + 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.consul_sd_config = types.submodule { + promTypes.filter = types.submodule { options = { - server = mkOption { + name = 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"; + description = '' + See this list + for the available filters. + ''; }; - services = mkOption { + value = mkOption { type = types.listOf types.str; + default = []; description = '' - A list of services for which targets are retrieved. + Value of the filter. ''; }; - tag_separator = mkOption { - type = types.str; - default = ","; + }; + }; + + promTypes.dns_sd_config = types.submodule { + options = { + names = mkOption { + type = types.listOf types.str; description = '' - The string by which Consul tags are joined into the tag label. + A list of DNS SRV record names to be queried. ''; }; + + refresh_interval = mkDefOpt types.str "30s" '' + The time after which the provided names are refreshed. + ''; + }; + }; + + promTypes.consul_sd_config = types.submodule { + options = { + server = mkDefOpt types.str "localhost:8500" '' + Consul server to query. + ''; + + 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,88 +442,226 @@ 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; + 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. + ''; + }; + }; + +in { + options = { + services.prometheus = { + + enable = mkOption { + type = types.bool; + default = false; description = '' - The source labels select values from existing labels. Their content - is concatenated using the configured separator and matched against - the configured regular expression. + Enable the Prometheus monitoring daemon. ''; }; - separator = mkOption { + + package = mkOption { + type = types.package; + default = pkgs.prometheus; + defaultText = "pkgs.prometheus"; + description = '' + The prometheus package that should be used. + ''; + }; + + listenAddress = mkOption { type = types.str; - default = ";"; + default = "0.0.0.0:9090"; description = '' - Separator placed between concatenated source label values. + Address to listen on for the web interface, API, and telemetry. ''; }; - target_label = mkOption { + + dataDir = mkOption { + 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 = '' - Label to which the resulting value is written in a replace action. - It is mandatory for replace actions. + Directory below ${stateDirBase} to store Prometheus metrics data. + This directory will be created automatically using systemd's StateDirectory mechanism. + Defaults to prometheus. ''; }; - regex = mkOption { - type = types.str; - default = "(.*)"; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; description = '' - Regular expression against which the extracted value is matched. + Extra commandline options when launching Prometheus. ''; }; - replacement = mkOption { - type = types.str; - default = "$1"; + + 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 = '' - Replacement value against which a regex replace is performed if the - regular expression matches. + Parameters that are valid in all configuration contexts. They + also serve as defaults for other configuration sections ''; }; - action = mkOption { - type = types.enum ["replace" "keep" "drop"]; - default = "replace"; + + rules = mkOption { + type = types.listOf types.str; + default = []; description = '' - Action to perform based on regex matching. + Alerting and/or Recording rules to evaluate at runtime. ''; }; - }; - }; -in { - options = { - services.prometheus = { + 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. + ''; + }; + + alertmanagerURL = mkOption { + type = types.listOf types.str; + default = []; + description = '' + List of Alertmanager URLs to send notifications to. + ''; + }; + + alertmanagerNotificationQueueCapacity = mkOption { + type = types.int; + default = 10000; + description = '' + The capacity of the queue for pending alert manager notifications. + ''; + }; + + alertmanagerTimeout = mkOption { + type = types.int; + default = 10; + description = '' + Alert manager HTTP API timeout (in seconds). + ''; + }; + + 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). + ''; + }; + }; + services.prometheus2 = { enable = mkOption { type = types.bool; default = false; description = '' - Enable the Prometheus monitoring daemon. + Enable the Prometheus 2 monitoring daemon. ''; }; package = mkOption { type = types.package; - default = pkgs.prometheus; - defaultText = "pkgs.prometheus"; + default = pkgs.prometheus_2; + defaultText = "pkgs.prometheus_2"; description = '' - The prometheus package that should be used. + The prometheus2 package that should be used. ''; }; @@ -402,11 +673,13 @@ in { ''; }; - dataDir = mkOption { - type = types.path; - default = "/var/lib/prometheus"; + stateDir = mkOption { + type = types.str; + default = "prometheus2"; description = '' - Directory to store Prometheus metrics data. + Directory below ${stateDirBase} to store Prometheus metrics data. + This directory will be created automatically using systemd's StateDirectory mechanism. + Defaults to prometheus2. ''; }; @@ -414,7 +687,7 @@ in { type = types.listOf types.str; default = []; description = '' - Extra commandline options when launching Prometheus. + Extra commandline options when launching Prometheus 2. ''; }; @@ -431,7 +704,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,17 +729,28 @@ in { scrapeConfigs = mkOption { type = types.listOf promTypes.scrape_config; default = []; - apply = x: map _filter x; description = '' A list of scrape configurations. ''; }; - alertmanagerURL = mkOption { - type = types.listOf types.str; + alertmanagers = mkOption { + type = types.listOf types.attrs; + example = literalExample '' + [ { + scheme = "https"; + path_prefix = "/alertmanager"; + static_configs = [ { + targets = [ + "prometheus.domain.tld" + ]; + } ]; + } ] + ''; default = []; description = '' - List of Alertmanager URLs to send notifications to. + A list of alertmanagers to send alerts to. + See the official documentation for more information. ''; }; @@ -497,30 +780,77 @@ in { ''; }; }; - }; - - 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; - }; - }; - }; + }; + + 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 0a084561002ff3b76de4537577a0ae783643c5c8..b69310c34ff512df8b7a328fad050c90907c6db2 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 7a0a1bdf2c140ab4354268840575406294676c96..c2d4b05996a4b6ede8979297d4dede9771ffa2a9 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 a9746c4d65d56e3250010c704ff4962d494b7ce9..972632b5a24a4e9dcc3690df8f86c8b78c3071be 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 d09d1c4f36631f926ddd03e9b384745db6a0bef8..ca4366121e1251a7805d6fa6ef52a01ef03699b8 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 0eba3527162d0dd323695d6ba468e17adab5dc67..1cc34641809184483b6ca7ad51d23e71af7f82c8 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 b1fab85109afc36e7d9164942e2764a7bb480cc0..e9fa26cb1f5ad1c142da78982f8e8cbdf6b3f23b 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 c47e87a3dc35739eed21af7ee35414ca11452c3a..a01074758ff81a7a3fb06b3a36912945167e6857 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 a3f1d9d313232db23294259c41f82f0267434ad4..9526597b8c96c0c5e3f781312c4c207f3cbc711d 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 a5494e85e016df9b6277ba2e3d56255bddb7d78f..82a55bafc98210e8ccb2ac48485db1d03da3f3e7 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 0000000000000000000000000000000000000000..7d8c6fb614044bc432826a9b02e8bf96791a177f --- /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 3cc4ffdbc8fd962f68c306a13abfe74151ace010..ab3e3d7d5d50173362722c40294a6dfe0d389076 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 431dd8b4ead794c82d1168794da2dd3ee4234622..554377df37ba348ada9b719d02e75a901dcf30b4 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 ee7bf39f199a2bb3e50ddd9218168a3b45b639c0..adc2abe0b91c88a447a5b622b9d0c75f20983082 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 efe78ebcba86548c153b306e26b98fb201fcb2de..f40819e826b0d6f4c4e725360360fc19f6857789 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 0000000000000000000000000000000000000000..1ece73a1159aa2389b9febce934168267347661a --- /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 0d919412432542914ba545836b7479003f8042c4..fe7ae8a8ac90a72e6d0776866eff57e55dc66a10 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 715dba06a3dcac277512213bca42279b8bcd9a7d..81c5c70ed93fbf990fee9309c869592e9c9833d6 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 e0ae8380242585500e321d1ef690e18b89007ea4..36c473677efa9c11870b2fcbe0fd6346121e4ebb 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 011dcbe208e4eff766da971a31f86458db08815d..9aa0f1b85aac7abecf363e9006bb483e216ec22f 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 aaed76175b845217c66c65367c81e503d9c7d1ee..12153fa021eca6fa47476c2f7e59c0d736d187d5 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 0000000000000000000000000000000000000000..8ae2c927b58c5f1ad28875376304e6c3f2658ff8 --- /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 0000000000000000000000000000000000000000..f8fcc3eb97eff5203af2bb4cc7833b9dfd1dda50 --- /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 7eb4d888b0cc4ed82b3cb37d570872a63efc7277..16eb83008509a49699a1435e9ea8a5b1c753d7f5 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 4e8832dadc5e91a1f884b65c157a83b299a7f806..86a11694e7b49aadcd9519eaac6cc272e42a68a6 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 6ecb21d628dee3b99bc5a6cb7942887fcda88776..38cd2213de763d8b0b8cb678e53a55505382540e 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 32d4314d5f777d16fc13e45457c83c7323817709..0000000000000000000000000000000000000000 --- 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 6bfcd7143e1c9db6c4cb0aeb707540f8384199a9..d878673266821c2d47003e675d17ee8a773cd3f6 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 0000000000000000000000000000000000000000..b41e99b764773a5279c0d6214eadce36c24a080a --- /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 bc755612fd9bb8e9c04173f7f563fdf1e1224c1f..1bdc4e4410f135ae72e57751efe73ddc72e5ed7f 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 b4d3a2640109a976196ce477467813fd3380797c..245badc3e44f988ae4ba75677668a91721dd8407 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 cb2f8c07edb97879b7cc2aaed3bb27ff0d1373c1..e9bedb704a43e93ff9554081498d06e21819d394 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 426cf9bf86ef8157bb62d525060eafdbbff6bcee..b1645f8611010042f6f260c7509cc48e1f7d38fd 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; - - stateDir = "/var/run/zabbix"; - - logDir = "/var/log/zabbix"; - - pidFile = "${stateDir}/zabbix_agentd.pid"; + inherit (lib) mkDefault mkEnableOption mkIf mkOption; + inherit (lib) attrValues concatMapStringsSep literalExample optionalString types; - configFile = pkgs.writeText "zabbix_agentd.conf" - '' - Server = ${cfg.server} + user = "zabbix-agent"; + group = "zabbix-agent"; - LogFile = ${logDir}/zabbix_agentd - - PidFile = ${pidFile} - - StartAgents = 1 + moduleEnv = pkgs.symlinkJoin { + name = "zabbix-agent-module-env"; + paths = attrValues cfg.modules; + }; - ${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; - environment.systemPackages = [ zabbix.agent ]; + User = user; + Group = group; + PrivateTmp = true; + }; + }; }; diff --git a/nixos/modules/services/monitoring/zabbix-proxy.nix b/nixos/modules/services/monitoring/zabbix-proxy.nix new file mode 100644 index 0000000000000000000000000000000000000000..90abed30db5d37a5d19ac64a141372ff3cb8767d --- /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 5f9fc12832fc0fc9a2b3d3e30e5ec9e808867be2..11311b466c3fc66895d93a2d0e32ecedc3df31a9 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} + ''; + + mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql"; + pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql"; - configFile = pkgs.writeText "zabbix_server.conf" - '' - LogFile = ${logDir}/zabbix_server +in - PidFile = ${pidFile} +{ + # interface - ${optionalString (cfg.dbServer != "localhost") '' - DBHost = ${cfg.dbServer} - ''} + options = { - DBName = zabbix + services.zabbixServer = { + enable = mkEnableOption "the Zabbix Server"; - DBUser = zabbix + 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."; + }; - ${optionalString (cfg.dbPassword != "") '' - DBPassword = ${cfg.dbPassword} - ''} + 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. + ''; + }; - ${config.services.zabbixServer.extraConfig} - ''; + 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/ + '''; + }; + } + ''; + }; - useLocalPostgres = cfg.dbServer == "localhost" || cfg.dbServer == ""; + 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."; + }; + }; -in + 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. + ''; + }; + }; - ###### interface + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open ports in the firewall for the Zabbix Server. + ''; + }; - options = { + # 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.enable = mkOption { - default = false; - type = types.bool; - description = '' - Whether to run the Zabbix server on this machine. - ''; }; - 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. - ''; - }; + }; - services.zabbixServer.dbPassword = mkOption { - default = ""; - type = types.str; - description = "Password used to connect to the database server."; - }; + # implementation - services.zabbixServer.extraConfig = mkOption { - default = ""; - type = types.lines; - description = '' - Configuration that is injected verbatim into the configuration file. - ''; + config = mkIf cfg.enable { + + 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"; + } + ]; + + 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"; }; + } + ]; + }; - ###### implementation + services.postgresql = optionalAttrs pgsqlLocal { + enable = true; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + } + ]; + }; - config = mkIf cfg.enable { + users.users.${user} = { + description = "Zabbix daemon user"; + uid = config.ids.uids.zabbix; + inherit group; + }; - services.postgresql.enable = useLocalPostgres; + users.groups.${group} = { + gid = config.ids.gids.zabbix; + }; - users.users = singleton - { name = "zabbix"; - uid = config.ids.uids.zabbix; - description = "Zabbix daemon user"; - }; + security.wrappers = { + fping.source = "${pkgs.fping}/bin/fping"; + }; - 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 - ''; + 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} + ''; - path = [ pkgs.nettools ]; + serviceConfig = { + ExecStart = "@${cfg.package}/sbin/zabbix_server zabbix_server -f --config ${configFile}"; + Restart = "always"; + RestartSec = 2; - serviceConfig.ExecStart = "@${pkgs.zabbix.server}/sbin/zabbix_server zabbix_server --config ${configFile}"; - serviceConfig.Type = "forking"; - serviceConfig.Restart = "always"; - serviceConfig.RestartSec = 2; - serviceConfig.PIDFile = pidFile; + User = user; + Group = group; + RuntimeDirectory = "zabbix"; + StateDirectory = "zabbix"; + PrivateTmp = true; }; + }; + + 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 d9dde3f6bb67689d011ae4da0616db202b08ca4e..86b1bb9160f10f645ef25e8c34cc6a0ad30193b8 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 c16e12378d758e97d66601e1e9e274beb756231d..100d458d536c0e0560400b08afb3b6519ede58a1 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 57b1fbb597c7a964b28a3290a813575e25848216..4ab74ed8e1c0e57d4096c59b347f33a67abaaf53 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 602cd50d8f553e1e0138da2ee158807df917521d..bbbfcf6a473853e0995ede5613a2f6aa750cd07e 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 7b2eea3b585019a767e29d72a8497091d348bedd..263b70d04a56d5ad620e4e513ec808d31aa851fc 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 240c1392088f6d25130c95d58a8a8c3f0523b5f7..79c4b7aee066cd2f421151787735c3eb0e0b9744 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 054057d52ab1ece83a1340ea214dc6de2ec8deab..b17ec3aa930089b61d8072e6fe118908f25e5287 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 10dc583112121b97033653927c0e13bdf6bbeac4..69368441c62c124e2a33d2fcfec497b1db59ce8d 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 534862a3c9e4ceb9aa3d4d43cdcfeeb5dc581245..7d75eb286106b236f8f83d2e8a26bc2d72092541 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 4f37fc2a9e5cfed2693b83cc2615a08b65f7259c..77961b78cadb82e9cfb82130d588c27d78bd5953 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 e93f45b49867b59a6473adc8c7da42e94fb1f096..0aa01ef9e6d9291861590eaefa20b5c81b277959 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 98eb0086101698a4f01b2ac72ede92b5fdac3e84..c5b146283de3ada9cf10bdf631e55046495ae824 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 b8ec2b25a22741d4c6ee3453ee24dacec4b089b6..03a2544b9a7eaebf689ba339735e4055ea8f5612 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 9ea17469870d21d284931df8610ecc7883e4fef6..a8d9a027e9fa136345b03a545c052991d2acacb6 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 488d9877b5e002e91a915cf9656409f765eefaef..ddcfe3d77e2f79d21144cf8227b6ae8141c7d67d 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 - { + 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'). + ''; + }; - ###### interface + 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 . + ''; + }; - options = { + domainName = mkOption { + type = types.str; + default = "local"; + description = '' + Domain name for all advertisements. + ''; + }; - services.avahi = { + browseDomains = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "0pointer.de" "zeroconf.org" ]; + description = '' + List of non-local DNS domains to be browsed. + ''; + }; - 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'). - ''; - }; + ipv4 = mkOption { + type = types.bool; + default = true; + description = "Whether to use IPv4."; + }; - hostName = mkOption { - type = types.str; - description = '' - Host name advertised on the LAN. If not set, avahi will use the value - of config.networking.hostName. - ''; - }; + ipv6 = mkOption { + type = types.bool; + default = false; + description = "Whether to use IPv6."; + }; - domainName = mkOption { - type = types.str; - default = "local"; - description = '' - Domain name for all advertisements. - ''; - }; + 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. + ''; + }; - browseDomains = mkOption { - default = [ ]; - example = [ "0pointer.de" "zeroconf.org" ]; - description = '' - List of non-local DNS domains to be browsed. - ''; - }; + openFirewall = mkOption { + type = types.bool; + default = true; + description = '' + Whether to open the firewall for UDP port 5353. + ''; + }; - ipv4 = mkOption { - default = true; - description = ''Whether to use IPv4''; - }; + 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. + ''; + }; - ipv6 = mkOption { - default = false; - description = ''Whether to use IPv6''; - }; + wideArea = mkOption { + type = types.bool; + default = true; + description = "Whether to enable wide-area service discovery."; + }; - 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. - ''; - }; + reflector = mkOption { + type = types.bool; + default = false; + description = "Reflect incoming mDNS requests to all allowed network interfaces."; + }; - 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! - ''; - }; + 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. + ''; + }; - wideArea = mkOption { - default = true; - description = ''Whether to enable wide-area service discovery.''; + publish = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to allow publishing in general."; }; - reflector = mkOption { + userServices = mkOption { + type = types.bool; default = false; - description = ''Reflect incoming mDNS requests to all allowed network interfaces.''; + description = "Whether to publish user services. Will set addresses=true."; }; - 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.''; - }; - + addresses = mkOption { + type = types.bool; + default = false; + description = "Whether to register mDNS address records for all local IP addresses."; }; - nssmdns = mkOption { + hinfo = 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. + Whether to register a mDNS HINFO record which contains information about the + local operating system and CPU. ''; }; - cacheEntriesMax = mkOption { - default = null; - type = types.nullOr types.int; + workstation = mkOption { + type = types.bool; + default = false; description = '' - Number of resource records to be cached per interface. Use 0 to - disable caching. Avahi daemon defaults to 4096 if not set. + Whether to register a service of type "_workstation._tcp" on the local LAN. ''; }; - extraConfig = mkOption { - default = ""; - type = types.lines; - description = '' - Extra config to append to avahi-daemon.conf. - ''; + 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. + ''; + }; - ###### implementation + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra config to append to avahi-daemon.conf. + ''; + }; + }; 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" ]; - }; + environment.etc = (mapAttrs' (n: v: nameValuePair + "avahi/services/${n}.service" + { ${if types.path.check v then "source" else "text"} = v; } + ) cfg.extraServiceFiles); - systemd.services.avahi-daemon = - { description = "Avahi mDNS/DNS-SD Stack"; - wantedBy = [ "multi-user.target" ]; - requires = [ "avahi-daemon.socket" ]; + systemd.sockets.avahi-daemon = { + description = "Avahi mDNS/DNS-SD Stack Activation Socket"; + listenStreams = [ "/run/avahi-daemon/socket" ]; + wantedBy = [ "sockets.target" ]; + }; - serviceConfig."NotifyAccess" = "main"; - serviceConfig."BusName" = "org.freedesktop.Avahi"; - serviceConfig."Type" = "dbus"; + systemd.tmpfiles.rules = [ "d /run/avahi-daemon - avahi avahi -" ]; - path = [ pkgs.coreutils pkgs.avahi ]; + systemd.services.avahi-daemon = { + description = "Avahi mDNS/DNS-SD Stack"; + wantedBy = [ "multi-user.target" ]; + requires = [ "avahi-daemon.socket" ]; - preStart = "mkdir -p /var/run/avahi-daemon"; + # Make NSS modules visible so that `avahi_nss_support ()' can + # return a sensible value. + environment.LD_LIBRARY_PATH = config.system.nssModules.path; - script = - '' - # Make NSS modules visible so that `avahi_nss_support ()' can - # return a sensible value. - export LD_LIBRARY_PATH="${config.system.nssModules.path}" + path = [ pkgs.coreutils pkgs.avahi ]; - exec ${pkgs.avahi}/sbin/avahi-daemon --syslog -f "${avahiDaemonConf}" - ''; + 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 abcd1ef6ff5de0b5568c2d956b84843a254b1b0b..06af4dbcca4ecf3332ca7f73a830da0adec70eef 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 555733aab7c0cc8c9f64b3673e4b4b6f4c9b782a..4ae35875c0f062bd7509c5e8696ecb6bdb247a9d 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 0000000000000000000000000000000000000000..1439d739da9d848d433c1662e9510269e7162cc1 --- /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 33e85ef58e6e6839cf51d75da847cee592737b6e..0000000000000000000000000000000000000000 --- 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 3d02dc8d137539eb4076fd23e0223a214f049a80..da26246e703e097c3e1577ab5f2c0c3f4a573758 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 c40962f4aa827d53de674f851de95ac1b164afdb..3fb85b16cbe20aab7be46b152f81a13a7b4b5985 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 c3ca6fbe725e56ce90c7747810d450ad9e83b532..1cd3fd2ade57e0f7ab703cf354cc4442e2adb5d7 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 3a92a883fbf8909e19c04b8bb66f80fcbd4a3f22..f080f12eaccddbefc4223dd0041f322141f0c9f7 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 0000000000000000000000000000000000000000..afb2b547a4655358a356985283822dc68abb65b1 --- /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 9a2e13e9553c6f23b395bc26b2e01afdc6323cd1..04ce5ca3a8749266808503f0ce23d2a2e578bea4 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 c217ccaa405aad761e75966acaa0c55521014e22..7b2786034552ff992343f6ac2972b6be9bcbd081 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 fc30f50317fe92623d3b950a02a014f93716622d..5051fc916d9699ab8a7992e613d53fd0e769863f 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 0c2add424bac541c43f3826e010cdff512b844ae..5b58ea9b0c9106824a8f103d78f2a7dfd6aff3ac 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 f90eef69848c73292a50c114051c51b3d52f0a09..afc7880392a1a50ec4f7bf7ef9d26fa64f49f416 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 24d16046c63e621dd2d956c2058b4aa36e5b6f9d..714a5903bff16bf03553e6157d02360f0ce78d9b 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 ef5e2cee6f200f2c6473f5d21d63a2c594ca250b..6a38f85c48a24fefcd958f39153e7d19bd0792fc 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 aba64e4f60ff09ba10c6c2387535ba554ebd03f8..4ea891262e5657cb4c831fb0e1e11f484acda5e0 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 6c43573851b25076d91daea23dda04949c234c4b..dd2f6454e9540b1d229fdd10549afe0072c0c72b 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 6a1db81413c532092d184ed2858f6ece886e95b1..178a832c166ef1fcfbac7afe3521b24494e89556 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 9d16f0efb4354e4551ee3a80f8dfa7a7035c4531..c9b03bca71122852f87fdcb946dd61fc12cd143f 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 9f74e4963296e762c64f32552f59af6b2ae25e2a..2915b54f05b4405988efb0c8d2654a6ad2f67b63 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 f5d512c7cd5af90545f3e923c239eda469debf01..6954e5b060c4ce0253135b04fb07aade7646552f 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 4c63b822d165660c296a33916f55bbdcf7d9b0cc..d8ffa3fc04d201450078cf5157274903e115ec0d 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 a2630ce66b710fd43e97bc0a312dd10f40dd9214..9b634650cf79d92329d75ef90436e8bc6d5b402a 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 91d9c1a37da64adf30d53d7ce215ff1db28eefaa..0c6602e7f8abdeea57e2aec702bc5b0df819593c 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 0e9b354cfcaff6d8894a1ccd26cbb07cc7f05156..f2be417738ee8b1b886e43a87f06bb853f383a14 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 58ad0df4ff20ddc3b5f3d0cb0e1e7dc27eadefb7..344f84374bbd6485481f1d6f4deee1b3193ad516 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 742404a5692f4889f763f14211330bdbb53ddd3e..0fe378b225d71653412c72b89f1782d01aee40fa 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 bb22832dbdb2028915da2e08bcfe59de62cb259f..17ef203840af5746d22fa82f3d267683ee18613e 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 0000000000000000000000000000000000000000..68f1e9af9fff197cd2ea2cda64210ef5238706fd --- /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 a149f16a84cb8e0c8ad596f44e9dd446f7b5af67..85f52be8a6ac972a2e39451317b2bedcda966da2 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 40c38254a57c3a1229b796cbf66b39a88ed0f7df..7ef989b2a78eee840e8bb5d5e849315c16543432 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 0000000000000000000000000000000000000000..1cc1dd3f2f62bf14b6ad40dba881336fcbd4a118 --- /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 ca34ff9df4ef3bc6fa5f25e8a44065913327b84d..fc516c01230a331dcaf932cfae834d8fd31c0c39 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 dec30cc92f6a5b3156ac6f84e911d57bf1a14dc3..d5de9c45d84b7f6ff94e4b23db0daadc4b63a3a1 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 1858f03cac1f4ca71d0e4b4fd5a24cb4f41121e0..ed0c1044a57091b29d6a268903c3c56d9653aa4b 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 ab714a6ac75e2c21d4ab6796711dff1678cfa18b..c095d994854618e26a377f84742470071cd53e25 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 8694d08385ca112d49e9e9abf42288c4faec5b01..2c8393fb5b41f4c16e8573109232def16649a23b 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 8241c32bad07e1217a787b5b8570a3b6c4cf9aca..831e4d60d8da3c5d25fb1948be3f927ac5c2cd84 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 cc81e27e93996102de644e9c89e968fabd4a2559..1b3084fe9abbc81d2c81c91f2bee65c610f23ca2 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 332dc541345e8fe835065293f2aabd3ffad8abc2..d2feb93e2b723e3c8b196185ff491ec548033a50 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 0000000000000000000000000000000000000000..24bf33815da8d73319df8cbd43062acf27916a42 --- /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 a6e90feff7eadf1340f28168bd74daf825e0d80c..7ac4d0c6419d9faf015ddc525c51072e1a885200 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 0aa6d0d9ecd35ce753770d60aeaa652d503dfb9f..02e89f441b3455cd41ac13dec9c42cf876736201 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 8de23b442f932ee2a99af232c3dd2adc472f74bb..c8ee0a2f5647475dfe38b988442effc9e7ed326c 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 d372dfd8f412952b9933966ce83fc4b67706392e..0042a7df8e110e3a1451cffae55f6cb4940bd3af 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 e83cad949ae8c953fb869ece5503af451b05aaa6..347d87b3f385fa905ccffdb79b973ad677509cac 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 8b918dab86dddf76d4078bde2b47234856b421b2..c69b77f9deecbe97a66f6d9a3ad9bbf21fdc3413 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 786b5227dbadc0f9503ed70ae7d7302ca153d67c..b0d338a27941086f7815d59417f0156da8dba6e7 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 b061ce34ed2cf04b019a6a3907d195985e7144db..7c171281a9262ba6b69478e6976a6178c07b9a1d 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 61473a9fabf90f9742b20c853686a52f5a635ae1..dc26ffeafeefc577f7c15a392eb3d006dabe59c4 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 0000000000000000000000000000000000000000..40ef9433de0fb5e9c52426036668ed848eea2b0d --- /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 57638ebc9c01842fcf1758d5b6f46b1ab93a902c..f3920aa8064603eb2eb0235ecbb3acbbb5f586aa 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 b94b4026fd9146d520157cf70ddb6cb4842b9d04..05be97e66a3d4d2107b402a6df6a33b6dce86994 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 13f784dc53c18593098a914227319c5c770affb4..5e8cce5b89aaf83ebaed67d96a6c9be351969e6c 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 d07deb9dcc6786f8c5b87256f81a8ffacd6fb3cc..ec69cc838da9d5cab24709de743d5e4de06b86c7 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 529115a1c6e146837d5ce4f2fe458bb3ee8839b3..dbe3b7380970bc3655496effb6c9b6de39d5d61f 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 d8b9e8f8341a5a84cc47e1868f1fb611fc6d75e2..3e7753b9dd3520eedf85607bf95193552b1d2501 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 f63f86496beee066c86d028545dfe90db3d4b23d..c936417e68cbd0eac239bffde00c52d6f6e30d4b 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 de316e5f46698848e44a4b7821e30cf7643f8545..1ae063aa6bb52d3b11e48ee73b8a295eaa5e23fa 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 b223a48e055012b278ad78b2c6e16cc72f005e19..b495b3948fb573d246659a9f585a5f97e38351aa 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 0000000000000000000000000000000000000000..5bcf923f909c235b6cc9ee25875f8f4a3ec3c0f9 --- /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 86e13d1ea0d6fd4bc6fe33492ac1141190fa4975..328f4cb1497fd8933cdca38d8c80d186c973c4df 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 d6fabbcd47001dfa90f75bd1de9a79acaeceb760..1daced4a6c70e1fcbaa7947b12ac4df57224bb0a 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 887772f6e5f0ca4dcaa4fb780f837328461e7bed..bccab805beeb0e390a6abf62cf164cc68c3bf18b 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 fe6d65a5f963a30872c3cda669f3297355c063d1..af12db590f000d8009ed0c937924cf7baf222172 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 1ea676d0f9299a6025d348d046a8dc6df9510a8a..e548ec66962a60c73879bdd71a5595ba8bbe7ab9 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 9ba6e48f417ce4a1e4996c24a66834a33db38671..20228ceaaff80c9397ad9d8d3cdb38eff8308a73 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 65df93a00da946fd267794e67a06f552cdb58cd5..669c69d832b86a907441e9caee25e209ad827713 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 b220c21b604f633da0bd4c210fd7d27799209e1a..9d063b92aa1e72e1868f224781dac196ac7b6586 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 95dc8a62a454ee61bb6ac450e05e35faa1d435c3..91fc7d72bc6d2c644c6a277f8a194c6951bdc4bb 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 fb87e81f32151e9b506bc717cb6063f7833b898a..193ad27f035a733b2276ad7afc6a1a030a092242 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 d4f7e95f859fb5716c4d612b759806f4f82fca0c..808cb863a9cf82ff326b9e1898686ed0b62eed3a 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 707d24b9220f7e31257e4f002de28d7ffb39d24d..4ff9c486059c53c2fb5777294cf842a6c4bf32b8 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 3fbf6eb60e9d745e5ea7efcd46938a1f7f35f406..b38bcd4cec05857a64b6c3a20f2395aade8b3256 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 89a14966eca7655cdd4df91e836a39b8e6897809..cbc899f2b4d7354472dd6f042cc0740ec4920f02 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 3c4321ab9e9d69ea8b44f938f5af4fd81456c0e5..35c1e649e2e127c5275dcea7ef3f9c0ca8c8b6b4 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 702481ec5177b8e2dc9e9bac10cf4f8afa61233c..126f5b7b527beaf59654359eba0d04a17e90a6b0 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 9ea9c83e37cd6d66d572032635dfd13926a330d7..fadb32dcd777085744e944387695d64bfe6098fe 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 0000000000000000000000000000000000000000..0716975f594a2ec538565a70eb5fad4794e9e100 --- /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 0000000000000000000000000000000000000000..b1d23372955ed9d1dcfff2e505f1e71421b99988 --- /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 3379efd1afce418646fc6bd2696587364b9a7cf6..e98aafc20937203dc79e05b78ffd4bc0d32a5bf5 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 0000000000000000000000000000000000000000..c24e7fd128508c2703651383400687bd6d9277dd --- /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 b7655f4bec62f73b08c48bf4a147d2b5aa9d3dd2..7daacba185fe738d5131c59cf30a81562975f63f 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 1a35979ad44c42185454fcaee351f27d5698138b..3cf82e8839bb1a6c0561d0656856453c10488d1b 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 c82e0af2803dcc287632d5345e6447ac9147c865..c922ba15960fd2828af688387b15c65e91bec5e7 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 31e1e65fa9cacdbf03c83f5199ca1f0197f77aa4..67be60da567398f75251408a84ba95b3b1b92cad 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 0000000000000000000000000000000000000000..b770d47d269ef45155d71a80b4db6bdd49fbcb1e --- /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 41aff1480a05a1b289426f4bf141def261441d53..4176da2c8cb8fd8a8a21c25bfaa0e143cefedf03 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 cdfe98aa03414ff93bc2ac0ad8b191ef9360277d..63e59e7c8fac3df7983cd7900fc40dfc7b2910b7 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 0022450278043e5ce0b2b07d5ebd7f15d5c33878..8dc6f845ed853e4aa6b443ec803ce5b3e0bd5656 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 d0a3ed7bb5e0afcc2ed8460e49e661b450e73185..7dbe51422d96454db57ef5e351de7643b8aca81f 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 a1c5d879f3cb2af30d9190c5df25906f8c7bdce0..b7dd1c5d99dd1d7cf7112517dc10970503afb4e6 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 8b60799891ca3128b7a19afd15b774aed15fe6d3..f4988a90268502210dc07cde6d68d3d064987c44 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 bce5b15a19ec7c4a0393790ae784aee544e4a6d1..05f97bfa539ffd5d4fae37c4e85d954450870e8c 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 3a43ebbb889cbd8488bbd2c6431186459573eef7..42c1b9482cb2a17e3c46eb0fdd14f6b211d79346 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 6f6977b38a1d81434e6639cfc43c2bdb0669cc63..3bc31832946b96856735c7c05b93904af999db7d 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 ae3828977753e0125174a3af8136af3b840df4f7..f77b3bcd5921e58ed6647448e494ba3b392883c4 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 8cb1275284a3d53864ca9584fc074dace5d89e88..9620c3e0b6d49a44b95e63ebf6654cd151ecb292 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 6b688c640d59b75c6d88e8a150931e953a468dfc..91d8f544e16b08e1b2a54f8b680fee2b2b436f6f 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 3539b3ddb4f1c924bdb46cf790aa40989d7413ec..c096af731ad47b078e772245289746872f31b439 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 7200c40e89f7f6f2ba93c720c9b3448ef4728744..5ef7d9893a49d8fd6f81ef761be340e3fb56dcef 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 0000000000000000000000000000000000000000..264a7da9cbb668b4bdd83ea3824a258c8ee292da --- /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 0000000000000000000000000000000000000000..80fd65891ff8fa8a04738eab322d0425053846c7 --- /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 a35b065ba815636f41acb60a2d5ae601eace600a..5662ebc61d20c9c4b603436106c597a722e67391 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 b64a1b4d03e0f0515e374faaf334c3ab338b6189..618e689924fd6d2be7c388841aba8176919c25e9 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 39ed506f76176c4a3f84ab0b27498d0abe580246..a5087b0a99b45f2abc7e3469c30deb5903f4da70 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 504bc66c6d10f093818f41b420416915defe55c8..89178886471097eb101dd648011156889a94df57 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 0c5fe8c0ef5ffc7d5a918319294cf43014e102e0..bb03f7fc9e43cb95fb838fb85e390b5936d6a427 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 a9ad5497a657aa15d7744d94e966f8ea77647563..be6734f439f3de7e93a4c868d9933e0d182c7efa 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 8136a5c763a9d1eb1605b820ec4bbf612a01b27a..1b7a2ad139801fc3b6088fdd1f1b087674d88923 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 3892cd5c72b86b7ac831ec236b495b38471b1a9e..4a174564dd2cabcd35e66ab6928cd282783d849a 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 61b751bb518b88c9329ab4d2353824041acd9c92..abdc0cd78b4dbd2cdc22a1b182d5dce30ba17401 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 88d2f69db57297f27f26fd8016be809f338705c9..20d5e3b28eb9ec2890b1178d0b14930e0d536d63 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 0b28bc894458dc152d190816a33b079dc18d613e..d5962ba9af9009a3b821593e4b1be95c97be5da3 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 daa46838bfa8edb4663203069bde04f6d204106f..39d1bf274bd2bf239c725af4b692afe3b5b942c4 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 26ac85de402fbd560e44428f8d7a7f4e5520623f..c55241c4cff146985693a7033d212a7447ab3e67 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 d0f470f836edd4648be1f85ef12c98feac4d4966..f0e56c7951a49221f57780e61d54857c1a0be61f 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 a53d9dd0c6b5c6e164066c47ffd498d70675b6f7..25d7d51e808ab0dfbe8d6f211a703e4362a25369 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 c7e897c9644813d6d4c6d6bf3c56c5ea0ba2dc37..04595fc82fbb9e9af736a8dcd7f94e2df6d15eec 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; - - # so polkit will pick up the rules - environment.systemPackages = [ pkgs.localtime ]; + services.geoclue2 = { + enable = true; + appConfig."localtime" = { + isAllowed = true; + isSystem = true; + }; + }; - 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 603a5d01accee522b1bdc58036b19ba5c289213a..2b7523a7346dddb10498542edd770658d20df1d3 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 fd1570d11980795451e2c5b9daa231d42af2f857..e11f7e049d8fed004f9334f852f918fb0981abee 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 84f0437b9411c2d405fc2f4065ff157969da39c7..d8810a4481b197678c04ca1197d1d0cc5d952096 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; + 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 ca63f529a5dfba8d47dc85a93d81d83235b3ee65..6ac85f8fa1782279291fde538855f6f1a1038087 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 0000000000000000000000000000000000000000..02fa2ac0750a5739bb4b50a33c1feb9700a21905 --- /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 bed6661f84d61711fe1a01728a91fa84982352ae..a74f65984328d610399743304b4cb69bf0aebade 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 f544928fb6b1d7ec854e6b7df8755fdae6d2758c..a94a471361ef80a38f478158909d9dd2e9d9202b 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 82b6a51028e34b9222d2d9757f1506c84ad1a8fe..dc37f9bee4b369393dae4a599c9e783cc72b62f7 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 15744d90cc79fc6923ce521c1ec977466b2fe6c8..cf163271d27675874ce32a456f59d6459fee6229 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 c144b21bdaf21d9165113b172867ece9da449c66..020ca8d89dbb21f2e0e9523585fc82de80879715 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 0b3a5722d6c86f60204e13abf5337a32cf334f91..b0019e77ac279e9b9c1c933858e81463390c3039 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 a0af28eac7cc91f9aca0ef2337626fae1ec34614..7ae7cd9c52d8cf09e2b9be7111080805f0ce11dc 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 0000000000000000000000000000000000000000..69a89107d3102c57c3f90032aa6de37f5a362519 --- /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 0000000000000000000000000000000000000000..37359869cb64623f88df9c79070e1becd15e4e67 --- /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 fb95e024817cfea8cca8b60c65f03db0f51f4a29..e885dc69b3c08256a23d94f5444261e9d127091b 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 ccaa2cff1c230e28e4ae4750bd5ebd77048c8ab3..95c8fb160510edc83297bec452fbe29689727954 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. - ''; - }; - - 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"; + 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. - 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 0000000000000000000000000000000000000000..2797feb32ebfa2ccc80ef61de79c887543950016 --- /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 20d2de9f4189838e4764e773b319d54551dafd26..8485492c51c78b373515795b442231e0a3dd1176 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 14aca45a342ba3f7047055631582a2497173bb24..d9f840408cc82f8b221cbf26dc2bc60bdcb1a4d0 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 0000000000000000000000000000000000000000..ec2568bf952d3670eaf1c23cbf9dba331bb11c00 --- /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 0000000000000000000000000000000000000000..304712d0efc3e798beb1b5323ac5412ad3928299 --- /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 0000000000000000000000000000000000000000..f2516c67c6b31b8d47b3d66a0d452086e850f2fd --- /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 ee1354d6a997cb9e01aa89501f66ce6fe8801dad..ada14ad39291674abd007f23ca1425ff6413f5c9 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 9600d1be7c8871be296fb8e5753207a2fe22de3f..d66e0f0c29973e13f4a6aad4c9656f210caef971 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! + 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 hosts (those are checked with - $_SERVER['HTTP_HOST']) - those can be added using - services.nextcloud.config.extraTrustedDomains. + 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! + 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). + - The issues are known and reported in #49783, for now it's unfortunately necessary to manually work around these issues. + 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 050f8757fa5fa8851e5a7555ea0377c32a373c21..052dbed6d4f83acac676a6527d66b4a9a2d7212e 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 bc6689bdb271222543dc1aedcecd5416b360864a..6a1b4143bc16458cf956dced2d04556b42690616 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 7b0ce8a8d03f22c2677d31003604cb563f5a9e3a..56b7cafffe8bd24da198ba726e551ff4f54c5171 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 f7a3daa5fdd52d4597c29ba5d2b437c20abf4046..59b0ee1addc6487eb7d2f77d7218d7937049f459 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 0000000000000000000000000000000000000000..98dc84588189c2f0bac2245e240ae5bcb0b3f157 --- /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 6ad38028a64133f7b2957499163f3fb69a347b2a..830edac20bac367db9a4d79cd458f0940cca771c 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 0000000000000000000000000000000000000000..fa358ffafbc3e3df940de0ffdb5cf0025b650517 --- /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 3fd19d425c74c4e6181628378c6f92326ecf58ad..098160ee36929c169f7ef8716054090941bf464a 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 8c1ac8935a47b939317ee6b360c932b61f2ac1de..0000000000000000000000000000000000000000 --- 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 5c387700a5d59ac6a106e454e8611b777a3dd5e0..0000000000000000000000000000000000000000 --- 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 e871ae6ff15ad2021f3aba8fcba3ebdd1c180828..0000000000000000000000000000000000000000 --- 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 4b8ee2b17ea73f3d0652d499903ce0412807a87a..0000000000000000000000000000000000000000 --- 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 4bbd041b6e04262137b7f410f1d3f05b8c2eda37..9d747549c274412acb87b8b8032e2c1886d4e605 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 efd4a7b5f0fb9bc51913e4d675ec402ada79f8b9..0000000000000000000000000000000000000000 --- 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 a883bb2b3433a4da44df0659474d680e7e121d56..0000000000000000000000000000000000000000 --- 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 28b411a64b6f9faa76d4e62cca821a0e7c42bc84..0000000000000000000000000000000000000000 --- 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 c68bfd25f6a86f74a343df6a56245ab678230180..0000000000000000000000000000000000000000 --- 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 cab16593bcbc7054b6ca1313b5342b12ba8f6a9e..0000000000000000000000000000000000000000 --- 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 d0b936cb019fd3ae1d778580f5771cb6873a587a..132c50735d96e0fb401364e289a8b35c436513e1 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 0000000000000000000000000000000000000000..80870118c334ba27e9861159372eedcc1e3108e6 --- /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 ed63230bc784259ad0f437bd4cf7baf45d824894..a4a5a435b2e6ba88a4928ce4deceb9a0503aaac2 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 e6a054c296dc9b9340490c247d99d4398ef317d2..9f25dc34f3f00132cbc3fc8b13c23a103bee61e3 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 e70c980d524370442efc09f3e84958d835ee8c2c..3f262451c2cb7d0afbb207e140d8155e9506bc96 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 11aebcb91d88a44a444cf4335348f470202b0e8e..5a00070dc941644e1c2d227db400bec1b94d9092 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 4e7082c6769051478981d13035f4d5529a95c7c4..f9b1a8b6cccef4c77bd6cb236038e8faf881224e 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 f78a966989b69fbf4d194b08d8f3acc14ea54c25..cd123000f009442d2ba63834ad361b022fd55249 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 6c733f093ba8c46e775ce941193e5342040a2af3..b94b338fd4a60d0d5fa422d857f7f8bc907b2b80 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 9b44433d3845c0741329e972e5529bb42ba15577..aeb9b1dd79ef6358575664c9202277c19e41d3b1 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 6a50d8ed5cd463602546becb1040c9bcbf4eb54c..15b933c984a6d299e911818e6085c24e84115afe 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 97c730061bd19cfe9a3cacf3d6af478340e17a06..e95e71e0d997ee9565f24fddc094d0ff84da0bfe 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 d9ad7eff71f2c07f32c7985c9afb33e56ec1f4f9..0000000000000000000000000000000000000000 --- 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 700202b1d28fa043668123032622771761c88ea7..8de7df0d446c9d1c0b14ef052c427178a38360d4 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 0000000000000000000000000000000000000000..a4a9d370d6448b277a016b3f83b479a88de9ba48 --- /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 3f858d90fa46507195255fab2de090fd1eeef384..af70f32f32d0f973908633dae647277c1bc76e50 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 064ead5ce4bb3b80a43f038ef73b320a6de74032..0000000000000000000000000000000000000000 --- 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 4cad2a2ff7775dbbca98c8d03724dbd3f7f89f17..3abd506827c092f3ad6a57e93f5851a2d994d857 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 0000000000000000000000000000000000000000..6ec395bb05eca869daf54f035554a8f7bd86ccc6 --- /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 d9e81d750725043c27a5665b67a9847e9ff21831..cf113ad2af8c99346d17b300fa13993877e0c9ef 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 cafd8d88ec4d3436b54a4535c71ad01b6d0ee8c2..a94a76ff0c0f295410a7178f71e9a62a046d6eed 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); - - 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); + 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); + + 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 2b1e9169e5f662cfb6bb22c74624a123395538f0..dfb84113e130e74fff253e96cd28eac379b7bf8d 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 04e380b61530e4f805dd502d9d2851c83eb74ea3..527e4b18045bcd96c6f097cd2c0c616e69699e26 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 7544ba4638acfb9cb8faf415b87efa831d591c47..6f344f4121ba7e626dde2eca712bf8b48e5af43b 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 { - - # 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 ]; - - # If gnome3 is installed, build vim for gtk3 too. - nixpkgs.config.vim.gui = "gtk3"; - - fonts.fonts = [ pkgs.dejavu_fonts pkgs.cantarell-fonts ]; - - services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ] - ++ map + 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; + + services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ]; + + 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 + + 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} + ''; + + 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 - - 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} - ''; - - environment.variables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1"; - - # Override default mimeapps - environment.variables.XDG_DATA_DIRS = [ "${mimeAppsList}/share" ]; - - # Override GSettings schemas - environment.variables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas"; - - # 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/ - ]; + security.pam.services.gnome-screensaver = { + enableGnomeKeyring = true; + }; - # Use the correct gnome3 packageSet - networking.networkmanager.basePackages = - { inherit (pkgs) networkmanager modemmanager wpa_supplicant; + services.dbus.packages = [ + pkgs.gnome3.gnome-screensaver + ]; + }) + + (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 + + xdg.portal.enable = true; + xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + + networking.networkmanager.enable = mkDefault true; + + # 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; }; - - # Needed for themes and backgrounds - environment.pathsToLink = [ - "/share" - "/share/nautilus-python/extensions" - ]; + networkmanager-openconnect networkmanager-fortisslvpn + networkmanager-iodine networkmanager-l2tp; + }; - security.pam.services.gnome-screensaver = mkIf flashbackEnabled { - enableGnomeKeyring = true; - }; - }; + services.xserver.updateDbusEnvironment = 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 3ce49b9d2bf8fcc12c81ddab4093430a58a6dda7..65a7b9c628e526b38c2fca06d4874eed32bff127 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 43fed2572b515979cedd99333eeebfc6454a0a91..2224bcd5a2a57bceb0523851a86bd759a5f97259 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 686bbd0dcf98b79034cdc40b9933aeed6f24975b..bf53082b267d1d333baf147a53cdbc5cb63b769a 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 4d2fafd1496174ed241be1775cb754a14ff8e821..e1084b0053ccdf21f6bf3402553acc6e92b41437 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); - - services.dbus.packages = [ - pkgs.gnome3.dconf - pkgs.at-spi2-core - ]; - + 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/ + ]; + + 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 d7bd2fc5eb0c3620e313d3b4a2f5dc6f946b48b5..1c04104df41e4e17ab4769443bf82a1eea48c89f 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 0f49439bf7c8f16fe70279ed096faa6cbf1a9450..5b82cb1f02620abc3d4af3e75e0cfac227c5c5b7 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 704cc78c1528f557ab327d50b0f4820e9539c5e7..94a307ae1007765f61b3b733d5d3d507c216c385 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 0000000000000000000000000000000000000000..140dde828daa3da1d2c444f6931e92ecdc527a45 --- /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 dabf09418da7299ba397e8d8da25dc8287079a23..1102f73d1ac367e44aec93dad4d7cd226f4b5957 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 0000000000000000000000000000000000000000..16329c093f9886928d813865cb72bb3d2f5b8f0b --- /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 6ff1ef0e4c9a3b5cc240d13a851666b51c9eca87..93987bd1dfc517a8f729075847bdb7261a1dae19 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 0e87e6adbab8e3ab5c707fb1abbd54d6e0253158..bf6b048654b397c0baa872c6b44854a9ec17d6ad 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 226fee7491c1a26c1eb21af3ad828cf99ec6dd9d..3f1669d08516f756db8956076a6009add2ed88e8 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 7c794b1ba175570c6cb19c45710bc69ad253c4cc..de128809ce307905da9624ac6ef4d9e97a1571f0 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 efec943c00757ed16c8cb03fd598761643b16da5..5b280b02423343cbd959642a699fa39fe5dfab7e 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 05011b999f2b73884df25dd4f4d9b7df0aaa1cd1..bfba174144a1712217cab9d01d0f9b7bc94ef818 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 3ab4f26399f35d522402355f952a1a95db53937d..9aed255f878ad3a0cb1b83ce5afe63b159ad1850 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 05830e325d5143c5fc5bd44d84a38e4c9f42ff17..d1ed345ac579363128339dbead97e7d0566e02c1 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 4e411c8ceb0be8bd1c43044553ddd2be16e6b361..124660a43f076050a6c273228105ce613a33606d 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 15609540a6e7da708630ec7fa76e41c5d1b03989..570469843586aca05e056af8176d22c753034266 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 a4b57cfdab6449bfaebe959bb4e60ae49df0dfa0..c23e479140f09c38b1315e2647b3282b85ecefbd 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 0000000000000000000000000000000000000000..5523dd2bf0235f63516acf91e432258eab7a8b58 --- /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 58faa8e2f9dfccb2b6cd015d31353867ed74404e..9ad926369ec776171a5b34e3384288460bc9e1dd 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 58fe702d4969c1971938baaadd41e992a6a637ad..bd289976532bdc2ebbed720d34998a800ccfaa87 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 f032c5938852bbd1242f5cb412512e870bcd906f..e39a56528e82191e035ef1f96f117f5697265268 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 b7dd7debcb63f1f440a677c49cd2ca9d8d480b8c..55f8f75021bc98013202aa5ff25b1e1a6232e2c7 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 06c59342b45a8f94b89a99060cf542a347e331b1..2a1f22fa9a4cd448544ed90c21c15f6faeab7b91 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 a74bfce097de9e4fb27e8ba917bf71342ec67347..7777913ce1e623103950ec08b76c1b9b392a07bb 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 c9b0669e7ba54fd94c560580889daf3ba0428720..0ef55d5f2c036a703c5ebedef22254a27ee6ad27 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 0000000000000000000000000000000000000000..3ef40df95df2c136924fc45fc41edd6fa1769a1c --- /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 43de746ab1f168f73a54c1987472d7c75d5d9c00..0e1314122767101e2472006d405d7c2cc7a0ad4d 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 cbe000058dc64571cac403d0ed29cf90b777467e..10eef8aefbcde1d7c63d7c6ce92c7db8b84f6b34 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 34ae8c11a3f0c024af706c38736caadf55cc9385..c94a064383156051dd17e9d1d0044211d0424d99 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 397b308b73118427299442ba60ac18bc8b390a90..8ff00fa11dc75a6500379e2a415d20328ba3abba 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 a560af5ce96dab345aea53634c0b46783908a25d..f67d290056169216f7b3d8599155c01c23e8891c 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 15e84dc021e28deaf882acc4c1d83e801cb1dabd..a32c9dc1f2b4980feefb52dec28c372bd87db542 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)} - ''; + + getEmulator = system: (lib.systems.elaborate { inherit system; }).emulator pkgs; + + # 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"; + }; + }; + 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. - ''; - - 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" ]; - }; + boot.binfmt = { + registrations = mkOption { + default = {}; - offset = mkOption { - default = null; - description = "The byte offset of the magic number used for recognition."; - type = types.nullOr types.int; - }; + 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. + ''; - magicOrExtension = mkOption { - description = "The magic number or extension to match on."; - type = types.str; - }; + 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" ]; + }; - mask = mkOption { - default = null; - description = - "A mask to be ANDed with the byte sequence of the file before matching"; - type = types.nullOr types.str; - }; + offset = mkOption { + default = null; + description = "The byte offset of the magic number used for recognition."; + type = types.nullOr types.int; + }; - interpreter = mkOption { - description = '' - The interpreter to invoke to run the program. + magicOrExtension = mkOption { + description = "The magic number or extension to match on."; + type = types.str; + }; - Note that the actual registration will point to - /run/binfmt/''${name}, so the kernel interpreter length - limit doesn't apply. - ''; - type = types.path; - }; + mask = mkOption { + default = null; + description = + "A mask to be ANDed with the byte sequence of the file before matching"; + type = types.nullOr types.str; + }; - preserveArgvZero = mkOption { - default = false; - description = '' - Whether to pass the original argv[0] to the interpreter. + interpreter = mkOption { + description = '' + The interpreter to invoke to run the program. - See the description of the 'P' flag in the kernel docs - for more details; - ''; - type = types.bool; - }; + Note that the actual registration will point to + /run/binfmt/''${name}, so the kernel interpreter length + limit doesn't apply. + ''; + type = types.path; + }; - 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; - }; + preserveArgvZero = mkOption { + default = false; + description = '' + Whether to pass the original argv[0] to the interpreter. - 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 'P' flag in the kernel docs + for more details; + ''; + type = types.bool; + }; - See the description of the 'C' flag in the kernel docs - for more details. + 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; + }; - Implies/requires openBinary = true. - ''; - 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). - 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; + 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 = lib.mkIf (cfg != {}) { - environment.etc."binfmt.d/nixos.conf".source = binfmtFile; - system.activationScripts.binfmt = activationScript; - systemd.additionalUpstreamSystemUnits = + 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 30f367da766634477a1f7a96e536ad1c5082c6c0..0000000000000000000000000000000000000000 --- 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 8ea05ed14687e878e8737bd911e573107a99726b..baa8c602a99e7ed7f3c70705f5757d7fadf4ec9f 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 fbbd0982b2c64d10d5d9ca84ce1f9452354a5c7d..a316782dfc578ca9bc83554dbbfc90cda406ba17 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 61f9c6d0e7eb93e95c5900ee3e5c72259da3685e..fd2cb94b756bea679610028e2276cc81abc64171 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 385a26036784d815f2a01f49588de635920cb135..374d9524ff1eefa9b6a3fea28add34fe2dbf3860 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 7db60daa60b8f724cc8499b22695beea37c1bf62..1c8354e52696d746530fc96dded31a829126503d 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 94599a0081c628360a69425d7d5177c5c8eba1d8..9d4f8a93d282c5eca45dab74b4c30aa0fcfc841f 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 6016a85ea06104ae49d918afaea70cea3928609b..f48a085ce57a4c7f80edf0a29c8dbf06007a81bd 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 9ad2a2779e18305d6b945f502d412c94c9fa5d6f..22d459ceb04f1981ec2e8b1a2cca69c1870ff5fc 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 aa4a5f8abccea6178c62c217b5187cf2e7078737..b5c8d5241a3db9ac27cd3e72843d884beffb1e7f 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 } + ''} + + ${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 + } + ''} - open_yubikey + ${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 63a6f7fbe099799cc4391ee1f50d8820b65e5c8b..f2060e21509c9f6ccd605c30254b14844a89bff4 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 fc68904ae080983e76b2ff4257c9ec49523f40a6..3ea96f8e46457879d5217878c9226c895292fcc5 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 6dafc6cddde78e18190df2001827a043a20e82ad..b817a45deba35e207e1a98a75e12cfcd3657d144 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 5e27b24ac4475a0e39d21e959397e3f5c4c1fadd..4c2d130d5a5d7b205f62c77ab1b871986f927097 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 55e6b19c67fd2c37c16f92d29a3a13cefa54b782..6b0b472273017e6be21a9bc74fe19f75bdf49bc8 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 68a40377ee13329ecc4d288c3b2ff50e005968bb..28ad4f121bbee3515d0b216e27ca356ee21a7447 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 63f974b704f38737d978b0d46b8c1e8bbeb464a1..c1f2c98afcd8cbfebe5aa0c5995faa42c7319177 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 9fdef0251d70f657aa48256662ac6b9b18926413..a79513850624bbe2614b7e40d1e288e211de2fb4 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 8d8bfe5900a9824bee9da452537348fb6de2e929..8282cdd6f3aadf19a7ee338d9b45f162fb78940c 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 d225778a3878e1032224094f72ecaed1bac1ae00..18753ae0c1ae101cec9a7035d185905aab4a0686 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 ]; - - script = '' - ${config.system.build.nixos-rebuild}/bin/nixos-rebuild switch ${toString cfg.flags} - ''; + path = [ pkgs.coreutils pkgs.gnutar pkgs.xz.bin pkgs.gitMinimal config.nix.package.out ]; + + 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 07f8214cea2cfbf453b9e2c8f3f05f42a77a1ced..43764bb82f1f4f777b3c70ebb352f7febfe5b1b9 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 1384873b66315c74de77e28cbd6c509d4f55b380..48be18c710212b1e06a027c25120ed865800b5d9 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 d3a558738f4b75ae45c01c101779b1c98c70e072..e0e8bb1f03de9600b3eb011727a39e303ff01073 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 87f1984f084fb0986a4eefeb50e5d55f81def089..5497194f6a8d125890ffc5a6dc22d7201f5c9aa0 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 c6a90bcf1a51851a4ad71e9b7f484c82a7fe8297..98038701ca58018f7106c03f39c61c74d08e0a95 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 37a19fb9fc8c765273fc3b6a6537498189963cf4..ac06b6caee30c392b04450f34aca277316efb63e 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 fbe42b8e8f04d4d4a99228477e9e4412237da4f9..6d34f897d189ae4b2d0d26e1356e394c2f494b17 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 93dfefdce9022b50fd902df3522b1e2b6501aff7..2b8a7944dc36789ac449275d526ccced2b54aa45 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 93e03c44c868bf4f64a46f54dd926c27bbda34a4..8fa19194bed428af1ae00a2aaa314b7b055de828 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 ed4cfa7805e2d5d07143ebdc05b7333ce8fcded3..1a11d9ce7c26bf748d0dc421f50c6bd6eb663ad5 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 6f4f99caa6f1396235fa2b06eceb9ee558f75366..0c4ad90b4eb692fb70928985c1188a86f5ea5e6d 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 0000000000000000000000000000000000000000..da5df35807346348ff82c69ac9e5919f0f8c62f5 --- /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 0000000000000000000000000000000000000000..78afebdc5dd3a6ff438ffabbffe968f75ba82d49 --- /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 7c9909ae2787553a5d38fc9eaa73fc5522c0c294..0c0d8551e4aa65fe27f884dd0b47e1bcdf490a1e 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 0000000000000000000000000000000000000000..59b0943f591f1effafcc914062390c9c4fb065f2 --- /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 a1a32c1c59a1f17a14b719ca27b6258607998d98..7d196a46276acffeb90954cf7ad4f23681cb0bbb 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 aaea06bb9a63f354bfb1bd30acdf1d23f92e0821..f640bb21b1331304549dce7afb11167e5f13002c 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 8c7331fe4d2b1c4c7d6c7333d2ec9ee1301a0795..327324f2921da0e03add76331c249e6d33ca1680 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 0d2d25d30752a727fc65eaf281891332a792dc5c..d172ae38fdcfa8b2d533ab34a258e14ef4f6ade4 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 132815a0ad6322b5a7b77a4d6d966f27385c8dc0..78753da55328872e0ef345186fec9c6e63f877cd 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 f4d7af1664af82007be6e1de89cbd06c97892c88..16b79d8691936962624c1cf98126bafcb4e2d622 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"; }; - 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 + security.wrappers.qemu-bridge-helper = { + source = "/run/${dirName}/nix-helpers/qemu-bridge-helper"; + }; - chmod 755 /var/lib/libvirt - chmod 755 /var/lib/libvirt/dnsmasq + systemd.packages = [ pkgs.libvirt ]; + 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 d5e862da0ea4885fb49f0a2b7f281ed2571f6f8c..c2da5d0d2301ebcd684b25db455ab0f554214838 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 bb8b9172f23f006d196274581578aeb5cc8982b9..edec37402308b8fd04628acbf2d2792f739124ac 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 4e0f2cae299ec8fecbab4b26c06bea44713139d1..828419fb4b9d7f0061ad6c8c804be5dc14207635 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 60779579402c38cac4d75c38338579033523261a..41bcb909fb5ccc46752443358080dca9bc396543 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 037c0d2f0d82f12854ae91c7cac8891493371ad0..ab65523592d7a84f28e8d906da0b8f7152aece9c 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 70e575b6c0d2dc3f9f476ae6fab0e74ce9e93aba..06d5c63476f932236570afbac7678d6a1835661d 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 6c313f8dd3e4aa4d0e5fad4df98e83a2d89df51d..9e2109d88b5fc3d78352ed4430f2fa17987c92ce 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 4bfb9a423f7d526457bf153903a09ae414dbf5ba..84af457801a191afd7e77bea5ece9df9d8027f76 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 4669a092433e76ce5b835e9a624de5fbb0b16f8c..8cfdea4a16ef6e96ae025a82f619e22ba26bdf56 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 3d8fea95a50167322211f3cded6618628731cadf..8ee4dfbf13bc567004c6bd481811151b03c6436b 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 0000000000000000000000000000000000000000..ada104a34de32f0899e4690d583b997c2b3da9f4 --- /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 dfb60998941b14575b38cca8733a99f685039ea9..ae4f54d5266a422af19f80769f791babcaabbdc6 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 0000000000000000000000000000000000000000..fa2fbc2c92abce67ae080efc716caff748e52291 --- /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 27871f72b4e536634a5cd29393e1985b4b52f174..3b1169a1b7f27a09e48f1a14b2db7c2cd1c44fd7 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 c9bb1e77c6d030f7a99f02977cd663918058671f..57d8006d7ac33a0bdf364f112712747cb760b0ed 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"); - - $machine->shutdown; - ''; - }; -in { - - biosCdrom = makeBootTest "bios-cdrom" '' - cdrom => glob("${iso}/iso/*.iso") - ''; - - biosUsb = makeBootTest "bios-usb" '' - usb => glob("${iso}/iso/*.iso") - ''; + 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"); - uefiCdrom = makeBootTest "uefi-cdrom" '' - cdrom => glob("${iso}/iso/*.iso"), - bios => '${pkgs.OVMF.fd}/FV/OVMF.fd' - ''; + # Test whether the channel got installed correctly. + $machine->succeed("nix-instantiate --dry-run '' -A hello"); + $machine->succeed("nix-env --dry-run -iA nixos.procps"); - uefiUsb = makeBootTest "uefi-usb" '' - usb => glob("${iso}/iso/*.iso"), - bios => '${pkgs.OVMF.fd}/FV/OVMF.fd' - ''; + $machine->shutdown; + ''; + }; - 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 210ad8e91df7b09de916c9d83588d5138391ba88..f5c8c4863b6f16b5517cae4b2d0312c7f0305022 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"; - - nodes = { - bbmaster = { pkgs, ... }: { - services.buildbot-master = { - enable = true; - package = python.pkgs.buildbot-full; - - # 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 ]; +# Test ensures buildbot master comes up correctly and workers can connect +makeTest { + name = "buildbot"; + + 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 python3Packages.buildbot-full ]; + }; - gitrepo = { pkgs, ... }: { - services.openssh.enable = true; - networking.firewall.allowedTCPPorts = [ 22 9418 ]; - environment.systemPackages = with pkgs; [ git ]; + bbworker = { pkgs, ... }: { + services.buildbot-worker = { + enable = true; + masterUrl = "bbmaster:9989"; }; + environment.systemPackages = with pkgs; [ git python3Packages.buildbot-worker ]; }; - 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 ]; - + 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 60d0c6d7606825157ad463d16516a1c5ce14cafa..c55733c9be7b9d9f06fac4663ae5c1d0d52777b7 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'"); + }; + '' + 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 { + '' + '' + 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 0000000000000000000000000000000000000000..ce38aaca4bf26b43bf5c2b9b828fccee0625d54b --- /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 73aac51a01261aa9bbb805ccf9df6253f1f1dba5..58d87c64e34456bd5592f2a664e7caef328d3dd3 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 28e6fa7da1f360a055a3e75e7c5621fa4f45a066..b8099bf0364aaf1e08f104785e0a51236112b654 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 0eae51433d205ecd11795b32b33b5eac9e8f1429..38db64eb7931bec873a2cfdc042eb0a863436e4e 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 0000000000000000000000000000000000000000..1ef8717d9a0e1ea1f7e116eb17ced3ef80141367 --- /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 782095a09dada1e7008d33bd0ce1ea5fe44c046e..2e7e4b2f1d69aea44d5f8d25ea1112784609b65b 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 5f83a33b1079ca37f6983a74f8fea4bd58296aa7..ace68ff2df8bc38b0e9d1bc878507847f1bd4c37 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 5866e51b731df0da82a6879a582b5897a1571aa0..a9499d192bd41c8bd8d5229cafab586d468b999f 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 d2dda926fc0ebba4946a4c43c3137c66ce86379e..ec8e9629c21d308f9e1a24ed5adeb1b01dd401b1 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 b4be5e465cc03a2383691c9c1356e2a9784d08b3..b58030409b5cf4bc7a2e5b076d5fc0259fb9b851 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 0000000000000000000000000000000000000000..972552735202044986a48159090ae69cc4094a43 --- /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 58f106314ab3ff70050cda3524ddfeb17dae1b4b..9ab1a71f3314aa6949e9281e764c736e96daeb35 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 0000000000000000000000000000000000000000..8b852a4f779559e2cbf2c6e002b8611ddda11fcc --- /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 d787ac97300570b5444ceffcaa0c1b252945109e..95371ef44436afc89cfa78af28d73148feb6af6a 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 3c4de5950a79f9f69077bb131ab32403c0bc2c3a..43fde7d59205ccba347dd351b1a11094b4f73323 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 58a80243ea9c729a445c64bcbb62bbdec0e77ff7..f5b946a0881036be27eca2d36c2e3519e041d506 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 7207a880d8e2f4ec7c9a1c8ef33eff801e27a744..fcf758910e00758abca987103289907139ba54ea 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 0000000000000000000000000000000000000000..97c4e8e37ac182eada3636551258f0fb152a1e1e --- /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 0000000000000000000000000000000000000000..49b97e8ca99e355b799c9ae4b36982ee7207b322 --- /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 0000000000000000000000000000000000000000..e5c4c3d2163190cd09e23500fb637fd2af4c23dd --- /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 0000000000000000000000000000000000000000..1991cec92189ffeeec22a5f3196e218361c9d8a8 --- /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 005c5111da2bd2bcb686e282d73679893a77993b..9a62b593f46d81e34a93c997d3a1d3fb580171f3 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 28e6479e9cbed6a225f8b47c9f2fc60f6e2ae887..b8ab6dabc8c1f20678fa04608c25c6b7a9c9b568 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 16e0dd723ecf4a53b565f1f23c5d356c965c3d83..ac733461932d4ae7633a7dbe71fb58025507e425 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 0000000000000000000000000000000000000000..9fd8bd2ed1294b72cd7b315d273e8c3dd572cb37 --- /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 0000000000000000000000000000000000000000..2ecda1d68ce3440c460cce8294520a3086b58b86 --- /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 c2808d87d99db709f53f69700623cf86aca7bac5..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..f12361da037206c8393d1079591da8157d7a3d07 --- /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 95694ea4828d8ae8b8d64745f609128a5c37ce82..b6fe602a7327fa7d1343da25827ffa6406ef9aa6 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 9dc765a879bcf99d71745b9f6a61d99c48e1c979..7a1b4c8ffbbc858050a660d362813a2a6007f702 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 0000000000000000000000000000000000000000..5591bcc30c07e18b1df991c384c730a15a50bcaf --- /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 0000000000000000000000000000000000000000..dc54afd1d26d7d6a944e430e06af48960f22a878 --- /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 07bd10963bab621be39e24dff1ec098c9c9a044d..1ff329bd98dee50f148093d2ebad32666c60f48a 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 a93360b252f6c4a7eb407ae85196eb085f22c814..6b53914fd8598d5f0c9e7964c878016cdf83979f 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 882bced86d399921d39a8427a167e2867d3dca12..f99b367ac9b72375fb37190dfc3ab162911a1047 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 0000000000000000000000000000000000000000..ea1b94c526b13fec594384ba8de4e5742d126665 --- /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 440049d9511174bd8412ced0423dc289ea1424a4..61201202204b6f826aa61cc194d493c948444c76 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 0000000000000000000000000000000000000000..749d7857a13411d0913b4396430e2d2bf0b2888a --- /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 2553a0d116ae558e7fbdd8b773da2229f0db8370..a136678c6eff07c359b33f67444ac8f4327cd775 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,36 +309,60 @@ let testScript = testScriptFun { inherit bootLoader createPartitions preBootCommands - grubVersion grubDevice grubIdentifier grubUseEfi extraConfig; + grubVersion grubDevice grubIdentifier grubUseEfi extraConfig + testCloneConfig; }; }; - -in { - - # !!! `parted mkpart' seems to silently create overlapping partitions. - - - # The (almost) simplest partitioning scheme: a swap partition and - # one big filesystem partition. - simple = makeInstallerTest "simple" - { createPartitions = - '' + makeLuksRootTest = name: luksFormatOpts: makeInstallerTest name + { 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", + "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"); + ''; + }; - # Simple GPT/UEFI configuration using systemd-boot with 3 partitions: ESP, swap & root filesystem - simpleUefiSystemdBoot = makeInstallerTest "simpleUefiSystemdBoot" + # 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( @@ -317,10 +381,45 @@ in { "mount LABEL=BOOT /mnt/boot", ); ''; - bootLoader = "systemd-boot"; + bootLoader = "grub"; + grubUseEfi = true; }; - simpleUefiGrub = makeInstallerTest "simpleUefiGrub" + 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 { + + # !!! `parted mkpart' seems to silently create overlapping partitions. + + + # The (almost) simplest partitioning scheme: a swap partition and + # one big filesystem partition. + 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" { createPartitions = '' $machine->succeed( @@ -339,10 +438,14 @@ in { "mount LABEL=BOOT /mnt/boot", ); ''; - bootLoader = "grub"; - grubUseEfi = true; + bootLoader = "systemd-boot"; }; + 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" { createPartitions = @@ -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 97f348a9beebe0b7f0efad935f6a64c7aae8b19b..d11eba764da3de96d4e3842de38558a2702c6a2d 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 0000000000000000000000000000000000000000..b60c6eb94f4680aa0143e39e6bf55a3d335d352f --- /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 4f2d2085cd1a99108bfa8b9ad0c55154a54f4496..a6eec411ff28df9ab60516ea3879389835024ced 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 0000000000000000000000000000000000000000..2abafc53ce5178d8693614f9fa195153c7b29b5b --- /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 72f91f6428a5a43fdc6bfc493e2027bda6ca5e73..f526d18befee98b9c53aa22b9e950e7b3ae31059 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 0000000000000000000000000000000000000000..276d2de12bb55d69fa84ddd26b3d2fbc2d7258e1 --- /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 db596189d46d0cca52741faa144c5cf463545c70..b13b4131091fbd68c8cfa11082d99200f1dfaf5c 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 0000000000000000000000000000000000000000..e46159836ccc0d354fcf9393518edfb49a62102d --- /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 9d77be1317518085e1b187b44f0541af62edf2e6..212023859f6d249359fdd42a6bd5df607230ca0a 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 85e92f6330c90fdcd8704fdd81995c59e7d87ab8..0000000000000000000000000000000000000000 --- 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 f25ea5b9ed841cd368a7209e4dd6a8b8e1a1b871..e7db0a58ab61606c170710ad7e15c4a15450a281 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 87c65b883659c10035fcb71956fd10f86446286a..0000000000000000000000000000000000000000 --- 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 226808c4b26327c76bb6b048dab181a81d40fdbf..967fe506004fd248b52c012a1a6e48ca36c7b9f6 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 b3fd42e75886a3c086fd7da21cf8a14c2a0fa974..fe859876ed25db83f1cac5aa87bebb31ceb99fee 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 0000000000000000000000000000000000000000..3bee568ac5a20a50fc878d96c7a06b5f2854362e --- /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 8a9a7408d292950bcadfe26488e955d57fb0b59e..c805f1ed9f3c180264a22fc8e74588ede0e0dde7 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 0000000000000000000000000000000000000000..ad66ada106b711181372b12a8996e180b1eccb42 --- /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 3dbb494b6895720a811d587fe0e03029446ccb30..9844ad492e885b0585db7553ab1118f85911110e 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 0000000000000000000000000000000000000000..9c3058d02f84bd2184ac5da60d8b0b17a0ba4220 --- /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 0000000000000000000000000000000000000000..bc7aef653ee521ff07d4b7d1c59c3e5a177bcbf8 --- /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 0000000000000000000000000000000000000000..d45b5d4edfc504bd586b364b518aa88685a8e1ba --- /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 0000000000000000000000000000000000000000..6293e8a2f465a899d8fdd2a55013fc84403693a0 --- /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 0000000000000000000000000000000000000000..be9e5ed5b1e8f3473222f0cad39510d8b0ccf4af --- /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 0000000000000000000000000000000000000000..19ab4803a1d30703ab92ed0fc273e614f8e4d795 --- /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 40a599546650ac0edf0bd2bc2680fd6a2c6403ca..f1218b537711adedd3242a994e4ecfbab7ebddb1 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 3ad55651b1129fb4eb61922b2708901bdd6c08fb..ca28bc31cf1c2564fe1f6dfcfcbba4270c7488f2 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 c9439b65292dee05147865418bcab0d3cdc9b85b..0ccbeb062f9290f05e30e73b10c6715b102e9e8b 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 0000000000000000000000000000000000000000..565a6b6369494f92ea142dd9a0933dde15485baf --- /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 0000000000000000000000000000000000000000..bd5447de15ff7b73248ca8ad016be2a89ebb5856 --- /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 8146453bfd55149310230148389993b10675063e..dadd16fd9a0c26e8ba9ca4f8b94a4496601b1758 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 95cecf17b8ccc6f94c956a6dc9bbb6d23a49a700..31374aaf77e74c4210d2a10b8748efa2e97289c3 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 84d70cf3524646f5a762b9b9250069095138f886..c75a862106f6f45ac5a86ddc55ce0d3d01864629 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 7251c4a86499fde7e534bbad38f2f083c278f3e2..05bd968de02dd5b4e981b0f3f636efde131b8e81 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 34229e913110b6319aba914a5eee0e3b26e353c2..51d9cf166bb6cf392a2d62ff05b4d56bb68d622c 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 9f24eb6d9d457553ef694d28026a6bf75a26272a..c53ff93a91f9faed33a00c7d112b8e1a5ba3cd16 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 0000000000000000000000000000000000000000..1306d6f8e0c555483660880d058c8d69bba57920 --- /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 ed9f287d55821d265e0af2c15b3d175cf64f99e9..6ce64dcebea04e2f4da66904bf914f359fb7858d 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 c3b710f0f904c6b3103976818d3d45c3ed6d13c1..bfb97ec3f230a536c7d9bc3a91a50208d5a0bb30 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 0351d4db69ac91af76ffb7bf6944eb3d0bcd4cdd..8a840a60875341ab06cb7d9c6d5b5d6916fae59b 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 ce1717018933a0945d56c90df4981dca395d7d9c..2f655336e757ef690292238fbe57211e6a725136 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 433562b97191c03993e04d261e447c861c9fda4b..d41fa01aa9a8940b3d01acead3084ce1873c8892 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 32b113649237a860fa7da4b5fca4cc24cdef23f4..d0b7306ae83b7ecb9778b55ba08d934e58727c81 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.localhost = { + root = pkgs.runCommand "testdir" {} '' + mkdir "$out" + echo hello world > "$out/index.html" ''; - services.nginx.virtualHosts."0.my.test" = { - extraConfig = '' - access_log syslog:server=unix:/dev/log,facility=user,tag=mytag,severity=info ceeformat; - ''; - }; }; + + 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 0000000000000000000000000000000000000000..15a173e024b4b2100a87148f13a09d1aa7e324dd --- /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 0000000000000000000000000000000000000000..042ccec98cf6cca054ba7d55ba3aeb0fe7844dc3 --- /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 1eaf87a8eaa85ffc96030831e417bc61e2f7d71e..3ef90e18347965f0e6c714998c2468fc39b5c42e 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 c66b90b802d53cc04ae94789e35eb9c4d93f22de..8b9e2170f15024e2cc28e67fc2c0c49288e45020 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 281dbcff664382be478ec98c9f7d734fa687eb0d..d95871ffafc6f87105fd1caf5d12d4119e4846a0 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 8b19004874e767a950998e207abab0a9ea9b6d32..d7ad84a1a5f005966123f810643daf975fc2ecb0 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 0000000000000000000000000000000000000000..99bb6b0f5531276913151702808f0ceea3222353 --- /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 0000000000000000000000000000000000000000..e2d68af661f8ef9d0065f2ae7a95f4c1f53be03a --- /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 0000000000000000000000000000000000000000..860ad0a6218fd5bb190931b97d98a4617fd24ae5 --- /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 0000000000000000000000000000000000000000..bf6e6093d69c502198d46200198640ebed940823 --- /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 20b3b838aba83cd33c8ae2aee69ac94c4bf1d1b7..0000000000000000000000000000000000000000 --- 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 19bde9babad5df8d4ff7aa24264f9fd60077eb33..ae44aec7944f4bf6b46c47f013fa66d686067768 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 0000000000000000000000000000000000000000..791b041ba95bd675eec8788bd7307c062b439465 --- /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 8306abb8c42f9d76a62f27ef51e952c5cb423fb0..85047f66f23c90480ccddb03653d24ca6c992e94 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 7026637ead115a0d9abbb1c28173badb2641c08e..74583ae556239447b535c34c59fd1d2901136315 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 0000000000000000000000000000000000000000..219c47c73d9585e7a5739872366cd01b1d5c068f --- /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 140687a8182f4b19f33be22b36a900acd403c35a..02d83f82f338a4b37b32b2747f4547b481056fa0 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; + + inherit (snakeoil.peer0) privateKey; - 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(); + 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"; + + nodes.${exporter} = mkMerge [{ + services.prometheus.exporters.${exporter} = testConfig.exporterConfig; + } testConfig.metricProvider or {}]; - inherit nodes testScript; + testScript = '' + ${"$"+exporter}->start(); + ${concatStringsSep " " (map (line: '' + ${"$"+exporter}->${line}; + '') (splitString "\n" (removeSuffix "\n" testConfig.exporterTest)))} + ${"$"+exporter}->shutdown(); + ''; - meta = with lib.maintainers; { + meta = with maintainers; { maintainers = [ willibutz ]; }; -}) +})) exporterTests diff --git a/nixos/tests/prosody.nix b/nixos/tests/prosody.nix deleted file mode 100644 index 61ae5bb38ed9a4f8cdf40c254443d6f8e8827984..0000000000000000000000000000000000000000 --- 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 18195312028229adab63fdc8cc792e80753528fb..1f39e903cddb332b800248e907dd3cc0ff4274e8 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 75c82cca63f5f15233ecc3e6e7cdfc36ac849faf..fbb798515e1afd0e45b62efffc40f0fb238de9cd 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 34ab05787867ab0708c11c3721c1a14a928fad5f..bb5932c364177c6a04a22c265c9e29e843cf8fdf 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 bf22fc9291af8bfe4dce4b1c3c46250ae893ee24..6079642556407ee06001611c77591b53ed0386b6 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 0000000000000000000000000000000000000000..325d93424dd7d9f889bba1abb862dc22c10bde48 --- /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 ea72a0121d11ff4253b0ad40a5a545bd4e460bbf..2d4df288b055523163bcac70e2c5bff847ad553b 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 ]; + }; + + v4-mysql = mysqlTest pkgs.redmine_4 // { + name = "v4-mysql"; meta.maintainers = [ maintainers.aanderse ]; }; - redmine_4 = redmineTest pkgs.redmine_4 // { - name = "redmine_4"; + 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 396cd5b67d81b95a6d2b2e50e92c7791eaf022cb..0cc94728f80a3f205e3e541fa088c06904cb9389 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 0000000000000000000000000000000000000000..605b9c3e1301be3c8492037f40fd38b9540091a2 --- /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 b4458d8d095438a62609f4f8a7632b36146571ca..4c2cd3c3d264292922c417223b5a69ce5b5404d0 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 9ba3863411ea35a8297a3e7f98532eed0c638bfe..2108e851bc5954a20463b8655e6f5cf1be705dbe 100644 --- a/nixos/tests/solr.nix +++ b/nixos/tests/solr.nix @@ -1,47 +1,65 @@ -import ./make-test.nix ({ pkgs, lib, ... }: -{ - name = "solr"; - meta.maintainers = [ lib.maintainers.aanderse ]; +{ system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../.. { inherit system config; } +}: + +with import ../lib/testing.nix { inherit system pkgs; }; +with pkgs.lib; - 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; +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.enable = true; + services.solr.package = package; + }; - testScript = '' - startAll; + testScript = '' + startAll; - $machine->waitForUnit('solr.service'); - $machine->waitForOpenPort('8983'); - $machine->succeed('curl --fail http://localhost:8983/solr/'); + $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 +{ + solr_7 = solrTest pkgs.solr_7 // { + name = "solr_7"; + meta.maintainers = [ lib.maintainers.aanderse ]; + }; - # 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 6175155cdfc9cc502cd967960d0a1a4ed7cd0807..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..0de76b688bdc6a4a3fe7c8c4b0697b48b7d7937a --- /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 0000000000000000000000000000000000000000..b7b10fb36aac4423c4d72cc495aa33e4759b1b1a --- /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 0000000000000000000000000000000000000000..f1ce1e791ce3ad2eb60574cac2be628667b60eba --- /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 0000000000000000000000000000000000000000..d12b8eb2bf7eb40dab812c3ec5faeb7add6049ac --- /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 4d470126abee5cb29371fa961a293195c46910e7..4b71b4d67597de858b23e3792c0bd79e23688214 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 0000000000000000000000000000000000000000..4a2014a4ec9187683ce82efe8e1b69bf99e36536 --- /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 0000000000000000000000000000000000000000..cb7ee0c5fb5e5b6a47523408e6f9c88155dbd40e --- /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 af63c7ee8e029904094875b25a978beb60640e37..0000000000000000000000000000000000000000 --- 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 4599885acde69a21a8872e880463f06ebeec35a6..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..1c85bf539345ddf6a5fe33e43fa27f5df7e14f4f --- /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 8bbbe286efcf8f5548044e5f4d6761cb23aeee01..dcf869908d8211e0a3dcc1e7ea6b9bebc76e1ffd 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 3f2dd13fb560b64e495d1ca2d67453644152a0ed..98344aee3efacf30f52c3c4fc442264ffb33d7c4 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 0000000000000000000000000000000000000000..afc03e74ed7e309e7f04647537f3db6f753ed4b5 --- /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 84d5f3e1530ec6f9a0f205e595dbcf4973498a46..844ce47d743fdfa4c661d946a47c39a5aa1bf0be 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 0000000000000000000000000000000000000000..b0797b963235be659e365e96267b9116483b9c33 --- /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 0000000000000000000000000000000000000000..897feafe3ff2455f45017d986f26b4686c0df9a7 --- /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 0000000000000000000000000000000000000000..55ad582d405959355a77e784b4e27ca1277c313f --- /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 5003e25a7d5b6534360f3c3f903425e169b36f70..774ef6293b51d0526955fec5fe162eb73c69af1a 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"; - - virtualHosts = [ - { - hostName = "wordpress"; - extraSubservices = - [ - { - serviceType = "wordpress"; - dbPassword = "wordpress"; - dbHost = "127.0.0.1"; - languages = [ "de_DE" "en_GB" ]; - } - ]; - } - ]; - }; - }; - }; - - testScript = + machine = { ... }: - '' - startAll; + { services.httpd.adminAddr = "webmaster@site.local"; + services.httpd.logPerVirtualHost = true; + + services.wordpress."site1.local" = { + database.tablePrefix = "site1_"; + }; - $web->waitForUnit("mysql"); - $web->waitForUnit("httpd"); + 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 - -" + ]; + }; - $web->succeed("curl -L 127.0.0.1:80 | grep 'Welcome to the famous'"); + testScript = '' + startAll; + $machine->waitForUnit("httpd"); + $machine->waitForUnit("phpfpm-wordpress-site1.local"); + $machine->waitForUnit("phpfpm-wordpress-site2.local"); - ''; + $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 47717e8cf7d917bcf044e20250ef2bb3bc315427..12d8a050d47bc0ada16a5262607449642cb85255 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 0000000000000000000000000000000000000000..d9b10aabaa1f6d2aedbc169d9b25b7e06183bd63 --- /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 6d6db6b0ea97088d7005f863c8c62b25e0110a9d..4d3bc28cd349fa9620c97c6d507975566acdbc2a 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 0000000000000000000000000000000000000000..196a04aca3000988237431e076d5347d2f75f2cd --- /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 0000000000000000000000000000000000000000..62b4a17421e5317d385f5b0d5658ad48858baf74 --- /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 0000000000000000000000000000000000000000..8331c7b6d3310bbf0013cd0cfcc4761e32bf16d6 --- /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 0000000000000000000000000000000000000000..2a075a0181340133ca26d480e3b01761e16c3a8e --- /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 b46bb1a8f6e9d90b4e331cc266a94c9a3f7ca138..0d757e8cef3fc341c75197670b6f37cf7ae88057 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 0000000000000000000000000000000000000000..e4fd66679a79d5e620beab650a507c2c74c87298 --- /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 42717d3a2667c76c2999f14972f2f620e2dcfa3b..0000000000000000000000000000000000000000 --- 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 1b74a48a84aa49462a385ae048a99933b1dbc0bd..0000000000000000000000000000000000000000 --- 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 499bc4be4c833deec6812a3c3d3d0638e7ddfda0..0000000000000000000000000000000000000000 --- 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 b50508342bf99376fff026653aa12699259aba47..0000000000000000000000000000000000000000 --- 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 38b49fcb1c330163d9849df8ade21a26dad4bd7e..0000000000000000000000000000000000000000 --- 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 c7a81b6b11fdaa23b84d35bf7576733613323a9e..0000000000000000000000000000000000000000 --- 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 7461e4c376ab672939f27e5443ff9439f76e913c..0000000000000000000000000000000000000000 --- 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 ad1ccbf496cfd7bd25d5051d53d4bcc389334795..0000000000000000000000000000000000000000 --- 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 944c82250d4755d11868e23a5edc111528edbf9a..0000000000000000000000000000000000000000 --- 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 331ef6b92a4fb2203d966ca76bf9d65a77188a8b..0000000000000000000000000000000000000000 --- 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 74f817d8135000f56d2215c01fc3d7041d5e4494..0000000000000000000000000000000000000000 --- 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 ff17ce5da1c0e2fc6cf0cce2d41c7293b1acfe48..0000000000000000000000000000000000000000 --- 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 3a962458632e0ac83c9067340d01d84a349fbb01..0000000000000000000000000000000000000000 --- 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 62e7259287418593db8de8172d7e3794db9dd30c..0000000000000000000000000000000000000000 --- 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 c59b2ccb8ac3ee6cb8ae60381e10d0d9e1883003..0000000000000000000000000000000000000000 --- 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 591f6ffa86cbbd0cba3a9ff4b059ca7e57073772..0000000000000000000000000000000000000000 --- 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 f62e3d5cfdd0443d2d6b7b1390397c44dcc0df9b..0000000000000000000000000000000000000000 --- 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 9eb189f014e2a41d467bfffe6b49f249aa003e9b..0000000000000000000000000000000000000000 --- 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 6d4e0417cde79f084198528b56c17fe7adb7a703..0000000000000000000000000000000000000000 --- 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 b89582c09e606daf42146277c26ca286e86d4b62..0000000000000000000000000000000000000000 --- 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 3ea7b90f84a782c85535c893b7606765469224d8..720fd0b88be95c70b3ba96b9a40d639ec184e8ec 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 b9322c37df0090b52b7efd7d8ce1e61f3e9c63de..ed1f05eaf5c6631f827f7fe920a121c545ab8b42 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 ed7a8481f693c5486f84f6fbfbd3064cb12fbe95..92f46abddd5a93fbd3a6972c06ab8b02edc2d6e9 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 70709ae4ac4c046c1a9c3091beab4882f96e32c6..b94fed41341205d4625753b2c203ae94c632f706 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 32ae107ed9cb9d26e296b47b2f41f9e12d6ca268..5892351225d3152c3a44689d291265189b3a2d79 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 b602707b3921ac73f310edcdc660fc77a8630885..adb38d4bbbabe67fbec78993ea03d75477fdc422 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 35c7d316dd16a74b0f838fc706b0fb39deff9e4f..631e0c9cca52adaa98e31ac75c9236f8fec50843 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 7b80b32331bc20e08d4ead058ca34efa28b3a363..389052d30e1cb3a1af53801acde5f2cd7b077da4 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 f84958e1f820363246a53ac0091f169b181f5ce1..5c379b57ad6a36c0f32bbc0f60102e44778e2acc 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 855d31aadbb0888b5441d1644158f79d8843f39c..a4aa642809757ddb27cc59088f07153f2ef225dc 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 7383623a5ff162e5fbf0c8d6cf6ddde251e6621d..0750c38550b176abc6c51c739b859700c82b4c73 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 1bb1e404b5c4680ad055469cf78ac5ab9897a97b..30a4e052d77c2b4e60e473bd69f390d909e92a0b 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 02d818410df4132d6aac07cf36e8a761a7b246f1..4b48f5f1eea2c51c25f956fab8c681977ea62967 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 91a0a1f140c2904dec9dbfd9a4ed93aa25578feb..4b76ebdf6053277eeb8b78c62ee8b8ccb3c2cd29 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 9c42c98ba5e33811b950f54b95fadb96739b09fa..e4c145b35c758bbacb9d58ed90fc4f2621c2f34f 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 19cb55d93c98d9d90af72674ab561beed9fbc715..12e8237d4857dacf4a19f816ff0cbb3449815447 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 019bde7cc64aa1d284935a2a9cb9ffc7dde0cf74..baf7b108e5047f952c02022d78405bba624330bf 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 fc32eb799cf90d51495d200d06dfb3cc4af60d76..6be40a7b93aa18c2d742489f26b9fbcad6f4f75f 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 2ac7e3af7ab21afd363f9ea8bb40e72116db2e1e..534b87e9fa7430eb1022b7e6aad0bbd7ae4405fc 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 75b6d8e275801212992c4dc840aeb02fbb665e28..7ca5d83b48b2de28d5e6800c332eb7669c62e3f7 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 e3f1b6acf87462266fb133d68538cd3271173503..7f551304df11ee0d8d6e7b4a57f5a5a58ff8a84c 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 07a78260991f59210e1617ec3000f64d2e79bb6f..e9fa6daecfe393f747b45581e87a4dcf4bf9bcb8 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 6827d12b321793ebf7f6ac8ab9a1397e58a27f2f..c35df95b24c70da82f478215152973959a270d96 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 fbe2c97042f060245bbf4ab653b7b45cbbf9682f..6f471f3a02839097dc934ceb02ffbc79cc2f595b 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 7a80fecab718a142c4c9816d4a7b017608114bd2..83586847190607f9b8d1774ab20cc277c5e87c83 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 0b7adefb305622d272bbb4d0f34561dcb78c32c9..345750e9e2a9a978ef9c40e08456e93101636a74 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 0000000000000000000000000000000000000000..3e9a2d380e2714034396f6f51eae49b5989da8fc --- /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 e1ed12b9bd2ea9900039183208dee1b15c9c9b84..504900d65955b4a63b93b6e577ada0b80c698055 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 44296d3c8b998fce9922e62afc38514952253c6a..2dee463aeee23fa7525a8ae834633cc7d9b4a997 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 ef7eeab4b60c6ddd13a6f9d2ef629abbec56bf0d..87efa6fb6b66e9bd23c9cea5b5884808fb1d19ae 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 94b43fc544ac4b0ca64e4e3f4e652fad64130fd8..0106e8b45846bf6f2eddb1a054ff19352f557f98 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 64e99768dedbcefc702a8e1aa595f62a4bc5ef2d..292f28554d0868a3d0ff84a489405aedc84eae92 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 1f53809e9059574c47c1b3cc9ece4e65309ba594..eabbf86683752fcce87b6927bf88a8e273763d44 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 0000000000000000000000000000000000000000..98a4ddd29d6ec3ebbcf0530ed9f3e8f2b7f30409 --- /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 04f0f9d30259373a3048e13f0d1f01bd2663f339..9c2f17c5cc9c459fcb2b6f92313aca5552b2e3c1 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 439175b090a8a8a44f4e41a41313c33d7be2cd47..5c5c262056ec657f11468cd04ae2824e366de0af 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 382d4a1b66755969e98dccb943231bd961a37177..76f76c1e750dbd2ad943d8383eca9c07328f21f6 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 c419d141d1baae40bc1c478bb2ed7ac3f3103087..4e517ee636e81e32dd73e648388dc9ec77b611d5 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 77227ef0fd44a6c3936909bc25ed40b5f81fa3c7..0000000000000000000000000000000000000000 --- 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 3387f72554418d58045ce3cbc7c49469e3d5e4ad..dc98a17269131e1d960e25c2edc551255316ccfe 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 c10556260c718e84c40e0d66782e0cfe58f54c36..692485d0dcfd7d7d63a9ae891dccd532c5c79776 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 b3a0c6377214ca1ab3797e1ee704d2a099b4dd76..f48a429b389675af44e5e950d5bd84bcdc83cdd9 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 9f69e305f24999938e67067549414868c6510698..b88951c0fc5ba8f8f14ac4eda8e2c87438f94c38 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 e528e9699a733f5a8a6dc2322fc3134aea684b2b..51b88607208e1fba31fd04897e7d4c0af0811c0d 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 b7b8a4410b7fd18570c94f3af6e16ebb5e1b1623..f9a53f59e4d4a9ad5e3fec2d931e9a8cf039fa71 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 c3b3b9441357026460a023d4198be726f66967a4..0b8afada0206f95566b4111a198ab2c7ecfe04a0 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 0000000000000000000000000000000000000000..df0fcb0ee9cd2d535286b43f6a0e5a53e1206128 --- /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 e9415335388e8e93b0ae454b9e730f968aa0f726..86e200ab252ffb287f6bded94a50854065adced7 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 f9522adb4b32dae8e2d54dbf233876e0d16d376c..4cbab8a128fccbe559604bef5a5193686fe02da4 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 b11f525e9d2b0496463336d14183de4224d5799f..758448c2fb33b5d5f74c4a1cca2fc932bcad9d6f 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 0000000000000000000000000000000000000000..1dd5f9ee5eb248275ba115c4842e431afef31bb2 --- /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 0000000000000000000000000000000000000000..d085dc7910996378c88f4f1a37a196e0fb5549ca --- /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 0212560cd03bc31b285d502ad2da78e55d4edade..a6ca5b3639da095e5d2be1d369afb5136c9c9490 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 0000000000000000000000000000000000000000..c37308459bb7ed5079fbb211ae2fe917d2170c5f --- /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 dab3a97f6e7345472e9ab46af66b8058f540833c..b26360f0c469bd3b9e516cc13e4f685a5fa298a0 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 92f566e36578cda263a53eab085ca2395cc82bd1..8a81101983f7bae3dab425a558e10bf84444b7db 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 0000000000000000000000000000000000000000..97e054bda64c9284d4bb8dcdbe6a57c64b4f7051 --- /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 4e2e75953f35d7b3f8670a7a3537d33e285bc2fe..5b27f3c3f3235f74c5f0ab699b0f46865adfa1fd 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 55db00c15bf63836ed3f9cca88839aae03ccead1..0000000000000000000000000000000000000000 --- 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 6c1536c0a6109caff20241056fe9743d212730b8..331e3fb96989d4e45cbbe9e8b3de540d1a6b3073 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 d16534b03d3266268537fb59fcb1168a3d13971d..1785ca60060c724fe5a20313a9f3ba063acf0945 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 1c41451b08f3757c64d0aa407e90244633641b8a..054fc758d645098d7c90eb8d07f88b357f43da25 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 1710931aa229a69563f1301ec3f560aea8536bb7..da915f3fc3e40aeaff9e2e4e18c8b50a61648e13 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 53949da43e0d5609193747891daa7e7bb3d8c1c0..11b214f6bb3820dff147b938d41c1cbe7e217e02 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 fd5cc4a416e2c784a64f072712d2ba2cd123a660..8f1f79169d7be8ee1c9db0a0dbd0587481787c40 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 e61b9d8b290dbeb9d3ea0141979c2f0147e6f277..c6fb7c67d584d966db0f5c027a792cb6b7e72af5 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 a9d84eb6e6c56bac5f24a4d84fa30ed919b89aa3..6c9cd628a518c1359202f46eb906964969e0add2 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 4138a07ec0674634462d72b7444a6a98c46926fb..2338c0ed376e9bab6ad5f0009e067ab4d348c0dc 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 209ffa05bf2839b016c5ba71ca2baea3b37231b4..0e2c950051a5a9ccc7cef4725bb4a3c948c668c8 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 00e10a2ff1e2c56520aca06caafa3a6819984c42..37c95430627f625eeb6b5de6613ec4f56d178762 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 651604c71a11d0dcc0442cae44d493191c27e293..0308fad831d0867a92076c486febb1c26f42680e 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 5d0af8cf17ab4639f4d6935c2b0a5b1432847404..043d5b9d2d3aa0fb4cb7f19d09b20897d104b3db 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 28e4879efdc080eaf5c9c55216bd36722d9a865a..bbfe1ad5623f3d3c753f24ba9e7a30d8cd341a71 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 6e47d921d345fb0c0ea242a8759444f328e8039f..687608b435246c39a9f8d40a02f38dbeed613b0e 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 383d2deb10bb4a77e18f8ebe123734510c79715a..ad1239b22af27f52e4e2857e108697e17d83de96 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 17cec46f6c6aa963981523886770cb3307fb2a79..6af5af9bbafb5d04bb0aaa9bb825d558a13cffef 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 754c480706033825699f81a91ea4829e1a3b205f..4268a783c8d8fb5fc7da549aa0389e93faf34cda 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 f0863bfc50b03380a2b2c14443d471b01e9ad96d..19ed23523556e924c773b1c4bed993ded44e7a57 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 1c5eaba78b272ede2df4720f3ce8ce60ee526595..02317fee15f144cf1992b476e0b12a8301011467 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 f0fbc0bbe5c5dfe12fa1e47d73498f019a1b5824..404c9cc825e902376f8826c225cebea2b0dc24ec 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 a61f7dc0a9051942af1dc3f7c04749bdaf8d4d45..680694aa403de8fe8672728216c7adced42aabe0 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 58d095080fe53358fef8030d9d4efbc747edfbcd..dc163de8ade7523ea7c6fb5659e6e2b1093a1e78 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 680fab4ca64316f230f9d171956c07739eaa335d..a92d331baadbbcf4b7e7ae1d8e40e5452f186181 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 28b2cd98e02c3c2e6ebc8cce0a57743e047c8bbb..330ae56f13f0f040e9f4fef00273bc22bbc21ded 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 2bc3b4f45ac2ce80f0155dd1612471c13712fb10..0000000000000000000000000000000000000000 --- 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 4266b8c69bb856f406a0e68453b55ec349745875..a2588093309d4f4d1d698b979764ada1ac041085 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 fd9d4fb39fe41a776d624133a4a47ae70fe54b60..0000000000000000000000000000000000000000 --- 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 a0a79785283c0d0916d5bba75380964bc1794b2b..d95b3eea596d6beec810b161e8b33d1fc54491c6 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 e9ce20f6c80acb46653da9ecc402103e68174f2d..d8fada45eb167440a24458630c6d238ed2c521d6 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 099e4428016e5b24523fb893ecbf92dbdfb7e6b9..cae35b6251904f8be6fc92b36b7940913d2f98cf 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 c8db1ac6d10abd18eaa10de8d9ec120ce388a762..3406f31788473a821704833e93ac828c9e490071 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 5951572dd24602a2061294822522e4cf19ae1523..b51b72f1c8a4551bb83568986ffe9b7261c6468d 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 2544be383e5d4693c2433ad480e0193b57681f94..656018907a5f75570e2b7d8eccde77ee9491b69f 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 0000000000000000000000000000000000000000..8f77518d03e560bc85e8f77ecbddb6699057beaa --- /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 3aea07235d8acec604c11ec8980afdd5c93e9bc0..94d0f5eb50f52e277f911e5acb7a9f265a15d3ba 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 e7a23b6f204c5b8f5a6a56c3528366578a591ec6..e027680f5fe64d88ad37faf78589bc2d21da0a1c 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 0434b00c7053b7ea41ccfd45031c933cf02e6ae2..b653ae5ca5881d3b8606de585677a9b29be466d1 100644 --- a/pkgs/applications/audio/gtklick/default.nix +++ b/pkgs/applications/audio/gtklick/default.nix @@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication rec { pyGtkGlade ]; - buildInputs = [ gettext ]; + nativeBuildInputs = [ gettext ]; propagatedBuildInputs = [ klick ]; diff --git a/pkgs/applications/audio/gtkpod/default.nix b/pkgs/applications/audio/gtkpod/default.nix index c40f84348de1d5fb98b455d1cbb5a763df075d7c..fd3632ee1552e45cb273c6619764231b9ebf7269 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 bc4c18aab085d4f7204a226b622f36e12f289e19..91f4b1dcdfe9c31352cacc22f208ee0208278506 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 62f11cbfb740bec890c26e66c3eff71e06b0da93..1f4323eb9d55ce2297a551af351851d3b4b6292f 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 0000000000000000000000000000000000000000..bfd211316a7c9766acf4328ddf01dd57d22e6a2c --- /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 fa76a1a26e823a03ab7fe2e53714c24212285213..d32c55122c5fef2c26df97846d0bef73f9f031d0 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 d68bfbf2ae4e15386cd16dd5d946c92fe86b5eeb..50093f8a61dee1df9e314bfce2e6c15ed3dfb20b 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 69fc4b419c0649e82939d88d0a47188bde81afb5..2cc39e649434a73542d23053b157cfd2cc4d9a44 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 c26980e1bb263549f927658d05f94a8229e7c2c2..1fd8531fb7f3d259611f3c5da31ed4560e02e46c 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 d2720fcace67326ad950d48b2a048fa4fd33328f..0fdb3b2a4a14958730bbb74c1cf019a13504b681 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 cae40929f95a7527965233cf263849cdffda6a7d..341c41818421de9de1a23b80d064861b0ddc74be 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 84be6b866faefff3e9f4ab067d756a214c455819..0ca5988383a67b65a2b98d88f706b40ab8a7ae39 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 33c74f2b04433c1afeb66ef7a57138148923550d..92b2f8ac5153c35a03bf3cff42672563d42e769e 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 f11bba34c74caaad818dbd5519c4e0fa0bfaaaf6..c62ccc4fc8831a757bc5f795fb6923d20c76823e 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 75a8a6a4b1a11da810c5e4d16f9f913eb00aead9..d31bc981e0cbf93b03a7ff4750f58365976a2661 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 e2f0c7ea7af456e99eb7b11c8cea09a6fc4ba112..a40d5101b34f228af783dc0c9ee4428a25d89ec2 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 18b7bcd1d568f1359ea50d9d95a2f5fa87576daa..a9eb15aabf357dfc3979d51ce69e8093b5a9fd39 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 344e6894baf5d4a05827110c4549e68fb7df227f..4bb1d63a1e71532fd1c24d8ff58466a837e09d4b 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 55039e8508bc064df1b3b33462206eb56d814b7f..d47fc3b6190dab4afddfe0e10f9103fe1bb3ed0d 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 522ffa2a533864a51454138638a330d907280419..dfb07c4f456877757e8a9598d9f9608005fa6051 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 5e54609f8bf0d013f0904a52b35a938841bb9aac..f33245d8f1c955a0b828f8e9b96b51532711d72d 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 0000000000000000000000000000000000000000..5e8dc060c28c95de8fc0ec59e776e2341d3ac94b --- /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 a60b3db2fb86aa3e8e8f916c7076bed0a1d8fa70..44186abc3c46c0a56cecf69a4e4083673632ee6c 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 296a4f86a84811648a9b498a802a175dc5cfe466..a7779ee8aeea1db822c6c727297224bae153b157 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 01acc0d01f7ec85dc163a1ebde2739a0c00e3ec0..3fad5de1de5929aae50ad121ec34689e89e97c7b 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 7fb5a01e2c80b6ef8c2c6fbccbff12929bdab1c5..e96972b0d1b1e0157e6a07719f01918992857287 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 d2ef7434c4dbdee4447f23939d684964c32bc707..0000000000000000000000000000000000000000 --- a/pkgs/applications/audio/lastwatch/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ stdenv, fetchgit, python2Packages }: - -python2Packages.buildPythonApplication rec { - pname = "lastwatch"; - version = "0.4.1"; - - src = fetchgit { - url = "git://github.com/aszlig/LastWatch.git"; - rev = "refs/tags/v${version}"; - sha256 = "0nlng3595j5jvnikk8i5hb915zak5zsmfn2306cc4gfcns9xzjwp"; - }; - - propagatedBuildInputs = with python2Packages; [ - pyinotify - pylast - mutagen - ]; - - meta = { - homepage = https://github.com/aszlig/LastWatch; - description = "An inotify-based last.fm audio scrobbler"; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/applications/audio/linuxband/default.nix b/pkgs/applications/audio/linuxband/default.nix index a8e33c23dc0d7e6ab084f6340dba0d2aa7750802..b5a99150cb223a4af71159a6b168710900c546ca 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 f173e41321f082ecfe197364ab99a835ca58922c..26fc2408d8ac0a0efc27aa31c97cffba990b7233 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 59e94e0bdad5d74b7df29d8e36766c847cd9c7d7..d22065eb9fe087b12c3c8a43970c66ea47340464 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 03d27177656a57e55539beda6ba32f90ecb0d873..e4d508b2a1f51227521600d86289301ededece06 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 2e70bebc88d2591b4c6fe1d3df8557379e66307d..3d5c6f699dd23ea78057db7d071f9a1baf92a804 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 79edfdef5040f4e6f9af6c7f5f58934bb3be9c96..c986e3af288e12f9a4d0b7dcce42c42b4781e881 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 d3821c51fbc6a6aaa45a76918666e18f99a932c7..7288d39ce779119d4a08bdf9708f33bf8923af4c 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 f355c540f301bf861922de575699e14da43686e4..6488d1bd65e562482d8f30d2f94e37fa0d6345df 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 90e4eabeef0b7b32f3e375856681aaaa0fa92ff2..c5728b6e8b7bce19492334c45cba1db3379ab693 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 73dd7b48e9c4255306e58b9384ef1f1092b26d50..331e58c4bd2947cf7c5febff76631709b3b2da2c 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 39065db6edeb53eb85316eeaddd2e638437abba0..046ee70e990c9f0debc3b908e532e035d48de912 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 362451988d38e27536a99905415ff691552d2003..aa7da17dafd18bb18099b18690b2778253578869 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 3f809aa78474963ab01e17f838d12c8120f19b35..ae05866e57d09abdd81e5b852a6525f75f1f448d 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 740763889ffd2dce2aea967734dae3bddc1f5690..718bbdaf49ea9c4469097a70e7decfafbb3ab1e6 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 6237628e600c8076454abb209c2ddb211222122c..356e95bf97c84c6fc2524d6392ff7822dcc7de08 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 cb9247fd3d084b7736143271c85b171287767bb8..292cd3dfd8606453631f2e4b30ba180faa946cd3 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 26290e5bf8885a431d53f17ca44794ff9355adb2..901be5a23d08b1fecfa16e8656336cda2ba7b490 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 d16107e4c292a1c8daf93c78199da6c55fa6814c..4d2fa0e15b48923caf02ad660b5d4c57d3a145b2 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 669ffbb2688a1b5ad20d3405cd198f7f90ad6627..a2368017cc1ed11974599b0c03f1b9523d89b9ee 100644 --- a/pkgs/applications/audio/meters_lv2/default.nix +++ b/pkgs/applications/audio/meters_lv2/default.nix @@ -1,24 +1,24 @@ { stdenv, fetchurl, pkgconfig -, lv2, libGLU_combined, gtk2, cairo, pango, fftw }: +, lv2, libGLU_combined, gtk2, cairo, pango, fftwFloat, libjack2 }: let - version = "0.8.1"; + version = "0.9.10"; name = "meters.lv2-${version}"; # robtk submodule is pegged to this version - robtkVersion = "0.3.0"; + robtkVersion = "0.6.2"; robtkName = "robtk-${robtkVersion}"; src = fetchurl { name = "${name}.tar.gz"; url = "https://github.com/x42/meters.lv2/archive/v${version}.tar.gz"; - sha256 = "142dg0j34mv5b0agajj2x1n9kgsmkfh08n1cjzk0j8n4xk2wb6ri"; + sha256 = "0yfyn7j8g50w671b1z7ph4ppjx8ddj5c6nx53syp5y5mfr1b94nx"; }; robtkSrc = fetchurl { name = "${robtkName}.tar.gz"; url = "https://github.com/x42/robtk/archive/v${robtkVersion}.tar.gz"; - sha256 = "1ny89i2sgga56k7fxskp9y8sb7pfhp6wgw5mni842p19z6q7h8rq"; + sha256 = "1v79xys1k2923wpivdjd44vand6c4agwvnrqi4c8kdv9r07b559v"; }; in @@ -26,15 +26,13 @@ stdenv.mkDerivation { inherit name; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ lv2 libGLU_combined gtk2 cairo pango fftw ]; + buildInputs = [ lv2 libGLU_combined gtk2 cairo pango fftwFloat libjack2 ]; srcs = [ src robtkSrc ]; sourceRoot = name; postUnpack = "mv ${robtkName}/* ${name}/robtk"; # */ - postPatch = "sed -i 's/fftw3f/fftw3/' Makefile"; - preConfigure = "makeFlagsArray=( PREFIX=$out )"; meter_VERSION = version; diff --git a/pkgs/applications/audio/mhwaveedit/default.nix b/pkgs/applications/audio/mhwaveedit/default.nix index db70e59218b37380ea98a51ae41ea2320cfa0a59..e4d6c0293df84597c59746456d4885e5ea309d56 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 448977e5705bbe06e017c8f669482a5e3eb3f771..48052fc4ec88321c187c333f96b590459fdb3025 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 6b3abeb1e23cd37b10384e7b4e48c85f197a0a2c..7f86e2c20716880cdffe94fae89f4ae5c013bf4c 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 dcaffe3eb9b48032cc231c07527c993e68b6c2e2..e91b2c9360de7a95802a9af07d3bbb08cbb11f70 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 4c84fb3c3f77fecbadf4db71de5d5d8e7a37103c..5cf9b1b8ab70bb34606c0bc7c7856f32be53a033 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 ea83a1012ebb2625cd81aacbc8f9ab1fdfbd1b5a..89d062d584e56f2342175429d87215a000e7e8bf 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; + + 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; - buildInputs = [ - ncurses alsaLib flac libmad speex ffmpeg libvorbis libmpc libsndfile libjack2 - db libmodplug timidity libid3tag libtool + 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 0000000000000000000000000000000000000000..7499f9c539bcdc554b328e918d2efd446d212415 --- /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 0000000000000000000000000000000000000000..37d81dddf2bcb4e0a53263a4981ad22ca7493e8a --- /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 c66f78373228cf5edb5ac01b379c901a8728f6f4..3fbe927be4bad0bfdfea85766a82eff1f1b02a52 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 1b3e89d4885e41bfef552a0e073d9e61095789b7..58bb4d3e327442e2cd88769aa20423ceab66b08a 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 9015a8c749a89e2ddf800234467495b8ec0e8a47..c574c862f52157900a6aa4daa9806a53755705ab 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 3e89101e0420c170a01f73a3f114dbabe4f2f3c3..3a663fd33c8110396d0b198912a2594d064438fc 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 3754bf763b20dcdda96d40d8c058e37861b1e345..d41fb12ae8d3e5443644833bb0297fdef0da0e3b 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 9a6e1bef994c3d5990de7cc655656a0ec824f914..483852455aa7b92700148b78b67371adc5821fae 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 eb5aa7c036cc2f53749b367387f4f26cdf455fb8..727133be78df0aeebc2560504b20af635156140c 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 f2922e7eecf9931613cc36c39ab5164e7cecbfe7..f067c5af6df3f4638b76d0b7ac03bcedd14c9fa4 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 7477bea7602c4cd1b8c2f6615c0210d2dd3a04e5..6c35779f6c4cf0e52e39c71d0d1ca52f4e4c2348 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 220e72b568afa736444ca72d9c76e12d1d9adbdb..b13e1cc037a0f93297a27b712ccc3aa4b916dedb 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 efaef97257e0a1c028107084066873a30bdccbed..f024e5a6a1d16bc655cedcbba8596ea84d9a1727 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 44f1c681ec1a7ad5947b702bfb110551affff0c6..b201bd65caefa1358e401d3acd8f730b8ea22ae8 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 3ffc5265f7a034f31e0b9002ca9224fff22159ee..65dfe3484b666e251ab3957de531aa22235ea830 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 0000000000000000000000000000000000000000..c9a1e9bea808a268791b05113cd97423b15fb806 --- /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 9687ff3106bdc469191153aac00aa61ce06d5e86..8582fd78192909f28e869b1ade1e8663fd8d9cc1 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 e14594ae3b2d370e05f2ff2e08425ad201998918..6f81ebbb8f1e7a64a5bde44e432666416dc44fdc 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 8ec4a342522dc5b04336e65c541740de3094118f..2e69c3cda7a34317a6ceb537dc8095b41db38175 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 0000000000000000000000000000000000000000..47370d4bc2f7f5b21436e8f5716d4c0aac3e300e --- /dev/null +++ b/pkgs/applications/audio/musly/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, cmake, eigen, libav_all }: +stdenv.mkDerivation rec { + pname = "musly"; + version = "unstable-2017-04-26"; + src = fetchFromGitHub { + owner = "dominikschnitzer"; + repo = "musly"; + rev = "f911eacbbe0b39ebe87cb37d0caef09632fa40d6"; + sha256 = "1q42wvdwy2pac7bhfraqqj2czw7w2m33ms3ifjl8phm7d87i8825"; + }; + nativeBuildInputs = [ cmake ]; + buildInputs = [ eigen (libav_all.override { vaapiSupport = stdenv.isLinux; }).libav_11 ]; + fixupPhase = if stdenv.isDarwin then '' + install_name_tool -change libmusly.dylib $out/lib/libmusly.dylib $out/bin/musly + install_name_tool -change libmusly_resample.dylib $out/lib/libmusly_resample.dylib $out/bin/musly + install_name_tool -change libmusly_resample.dylib $out/lib/libmusly_resample.dylib $out/lib/libmusly.dylib + '' else ""; + + meta = with stdenv.lib; { + homepage = https://www.musly.org; + description = "A fast and high-quality audio music similarity library written in C/C++"; + longDescription = '' + Musly analyzes the the audio signal of music pieces to estimate their similarity. + No meta-data about the music piece is included in the similarity estimation. + To use Musly in your application, have a look at the library documentation + or try the command line application included in the package and start generating + some automatic music playlists right away. + ''; + license = licenses.mpl20; + maintainers = with maintainers; [ ggpeti ]; + platforms = with platforms; darwin ++ linux; + }; +} diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix index 7089f4dba9207ffee6d1db659848351637cc1a64..d89b61aa21f44d3592a3cdb5c85df268aaca629c 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 d35cefb88416be1b48f5a3558d25a40c436d0bcc..2ba36b4a50d92fcd7fb7e45c4f67f18b24353fc8 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 3eb70ce0c11e4366591cdf1b9e6f16f9a1f9cb50..53ed9b3297c178dbe685e737d0b9f56f7d03e6e2 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 44dd0d2d4ec397313da448aaf2ddb95f065f98a3..94cf32f8f8234d9e509d9d70eed8b10a006eebe8 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 85c902d383963b4b0d9f02c45749b8330d692075..490ecc967bbfbd9c0bedb79f29e128fbb5c9d08a 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 bb186687c66ecfee25859e3e2167818b2b68a0b6..91443bb1ef7f6a008d9321f2739d180f8ed0bd4b 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 f8f08369ab93cb5c692731bb73d9d602363d6b1b..8116bcaf0bda9af86da4cf4fbef5471d6d767c6a 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 084487fd407a83dcff9df2127d0d017575b88819..b424bce2433bb72618c0b1c0225d126ea2ac7af7 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 cc4a781ef66c0ef15b38dcbfd3893b023328db80..2507f08e9e5990580429e0cebcfbf114f9e74da0 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 322a4e2384619c8a9ce9dc2c37873e43c50697ec..7c4520967850870025399fb3dce3801f97319f2c 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 23ba3582ce61b3a789b0e402807a65975f7a2d1e..9c59b5466c747c47f5e85b2340d3c2a5ef7b2c04 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 ]; - - buildInputs = [ pulseaudioFull gtkmm3 dbus-glib ]; + nativeBuildInputs = [ + meson + ninja + gettext + pkgconfig + wrapGAppsHook + ]; + + 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 0000000000000000000000000000000000000000..1eb8b416a9aafef530d7330bee7b9aebe243cab1 --- /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 7f3940e0ae9cf5ed41a9f7fb89caa692b6a5ff6a..4f76aefb5ed3d8e5c0aedfcc2ea62638523ce2ab 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 0000000000000000000000000000000000000000..b2c049c9eeebdb050821f6e5769004d924aeca14 --- /dev/null +++ b/pkgs/applications/audio/paulstretch/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchFromGitHub, audiofile, libvorbis, fltk, fftw, fftwFloat, +minixml, pkgconfig, libmad, libjack2, portaudio, libsamplerate }: + +stdenv.mkDerivation { + pname = "paulstretch"; + version = "2.2-2"; + + src = fetchFromGitHub { + owner = "paulnasca"; + repo = "paulstretch_cpp"; + rev = "7f5c3993abe420661ea0b808304b0e2b4b0048c5"; + sha256 = "06dy03dbz1yznhsn0xvsnkpc5drzwrgxbxdx0hfpsjn2xcg0jrnc"; + }; + + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ + audiofile + libvorbis + fltk + fftw + fftwFloat + minixml + libmad + libjack2 + portaudio + libsamplerate + ]; + + buildPhase = '' + bash compile_linux_fftw_jack.sh + ''; + + installPhase = '' + install -Dm555 ./paulstretch $out/bin/paulstretch + ''; + + meta = with stdenv.lib; { + description = "Produces high quality extreme sound stretching"; + longDescription = '' + This is a program for stretching the audio. It is suitable only for + extreme sound stretching of the audio (like 50x) and for applying + special effects by "spectral smoothing" the sounds. + It can transform any sound/music to a texture. + ''; + homepage = http://hypermammut.sourceforge.net/paulstretch/; + platforms = platforms.linux; + license = licenses.gpl2; + }; +} diff --git a/pkgs/applications/audio/pavucontrol/default.nix b/pkgs/applications/audio/pavucontrol/default.nix index 06398324491be1b521aff3b8c050786126785403..0cff6c419a08437c64909c2532ebebf66b562e2a 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 ae43bad5b2c29ca982c86e5a7b219d9e0534e5d4..6440f6e787ffaf96610fbbfc3277740cac3664c7 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 0eb75d77c68c943c4ddbf15c0be3684967ad1f5d..21ba375200bc65d97db135a4474de924bcea047b 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 972a162b73f446158f8df68f4f81d85587b006cf..9e7de39218d532f491f19426a5763eecfc24e828 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 37d692a3ab5a69c12294ab559a3da21f16afbcc9..c214d3fcf40509b379ebac0407563c9c33fd8b4a 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 f2e54b327fceebd0912c2041e57593dafe695967..fa9660fbbf61a7954bbba612608727ccd27ea900 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 d56462ccc8443156aac4a18912335825276d91d5..cc307417c061f6ebcc290a8802a4cd338132fce1 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 d86e5aae2cd4868a19a27b7937e9ae38457100fa..8bbeffb1f7a3266723572400d949e1c0006115dc 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 60cd2567f62571f4b039075372d5865d7523b7d8..40e45a76b4bf9c66906ba6d86ee0255dd8b9029e 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 53afcdd2306aec82795cf5314eeb9acffaae3c14..c2c4672be12b69ea550f0d837e792fab6276be0b 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 915b7d0cbb5041b928e420cb750fc0a2b2e78f56..04a62b5d159ceb28b48ea1274e2f996fb9c23594 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 c7bb1a4193f958fb4544f2252740f89bc2de6c68..5d86e37dec8a1f74cafc05672bc1afd625bd601c 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 16d5eb69cb97929fea0e283df403be4a131674a3..8c21dc8f2ad71495148309c20481648e21f1fbd7 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 5529998803cfd0f1fcbe153d382a246a03b772d7..346387be7e3cf421250aa3abce3065e607eae9de 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 9f51d30082593f6a915337bd9b9bc26f03326230..f9b3fbae21370b8ff2c6cc1961d347e64bf52e57 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 5cfbb7bf5a483ac13ea14ead7eea8a5244b0db71..6d168ec566187c627cebb36bc1ceee1db3e30098 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 5db5035c8352c9aef7050b21dbe51afa9c5a601c..9414f4211d7a202b59e04d4c97803e0b73ededf8 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 915d7fcbd98b80bba3c2e358c5f39defbc559bfc..3a6cd298557f86aed7383a0073b32b3cfbf3f9ab 100644 --- a/pkgs/applications/audio/puddletag/default.nix +++ b/pkgs/applications/audio/puddletag/default.nix @@ -28,8 +28,8 @@ python2Packages.buildPythonApplication rec { dontStrip = true; # we are not generating any binaries meta = with stdenv.lib; { - homepage = https://puddletag.net; description = "An audio tag editor similar to the Windows program, Mp3tag"; + homepage = https://docs.puddletag.net; license = licenses.gpl3; maintainers = with maintainers; [ peterhoeg ]; platforms = platforms.linux; diff --git a/pkgs/applications/audio/pulseaudio-dlna/default.nix b/pkgs/applications/audio/pulseaudio-dlna/default.nix index 72af8aff106bd9316ef02d3354aa23c22339dc2b..d414cb756114ee834edd2c549ef0caca7ed66312 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 0000000000000000000000000000000000000000..328bd8b0b041b7d3137a7befe635989a7778753a --- /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 950b32a82013ffc5e552e19ed104677f6f7a33e3..b8082c12c644e45668189742e6424c3f9a81a4a0 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 0000000000000000000000000000000000000000..c94c5dd61f264675c4ec08740e71d4c8db706a2e --- /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 e500d1fb13335e4d875892f747c19206cc1efef5..3c498fe8af1b5d3d7004f9536f2c68601f9e3ac2 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 736f5c9f67441b251e173eabb09a2f60cbd10ecd..83fb17189e1d08ead3b039e61d151e6e64ca9b60 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 6ade9042b53275e77ce75f93997371c23b37061b..5886a465409a12c36aa61b3eb53e231c1bbb9daf 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 eafde7957a218faa46f644a07476756ff600f121..0b50d3098aa2302c0b04c11b2bfe7a20d07f0dcb 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 37677cc211cc270fd0550a704d32bc7bb0961995..d627f352e734b28aa2aba1941d201e99bf544e7e 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 7f5191a02c20831c11cecb5df9a8d55f50abac7f..2a83d98b6ea3a92ac8ad20dc97ef6892f8bdc45a 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 c10358eed1e47d8dd0eda4658856f8b7d3fad9dc..03f6bb1b79364b3d17d8e8cbf9256471fed43907 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 69bf41e1e4fb19c6ca8fb49b3b747d460d451893..a878f4edad8ffade5d2999a88c70fa75d338f2cc 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 26adc63943498e865c02803f8542c16af3662355..81b7e35b6309149bd07c89027747de8150f7a94c 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 9e0abac5ce47b5f4d374b00d6744ebe121e3c807..2e504a3c9ec2984f1716ec76e06de2dd67bd5416 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 453da89953e0fbe9f3079701d895e84d594abc20..68e8e6402acf5291b77d02bf90188262d9a37a18 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 a1d85ac91e85f20e65488613bfe0ddfb3375a857..8db837105f824cef319147e470eb60ffd321e246 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 900c2bf7a41f7d3bf9ec3ed6073fdf7d06c6f2e2..c0186a146beee8740ce5f4465909afdb8f06d36a 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 0000000000000000000000000000000000000000..3aee97516560839cc7d13a68088e08cd8592f2a4 --- /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 ec71cfb427c6a15307d35b52ce0f7f038263ed0f..36302458a75b0410400f7e3377faf0467fa09a8c 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 cabebb6f18e9ece44b5c51fa904ed51f052f8985..9cff98f61372ac606317e39ccddd0b2a440344b1 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 1918fa9e3a991023be3726dcd2f3e1f915b6420f..e32fd42af3232c6d8630d72a7c66f319d95749ca 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 081c4ab41acb47d6154e78eb726f40da29708ec5..62625aa421d1ba5d32bfb2f43526e2afda604e68 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 6516532df33f4c1208d58b86a2ed8dae1cdd237f..c34b27edd96dcc602fcd02535813b542e2e75310 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 e540016ac81c133b82e9ac8360f91a3b4a3cd7e7..24b342a26a92d3465199f9316307846cc07a952b 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 55e3b55472b84cbf740f0e8201395ed82f60b99a..9445bf3723c992eb78551b56b556d5307e302e97 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 9e0a3712c97151a14b92ff5d7b953294cb89bb17..82aa86f795bb426e5e8919b677285658d5d6c901 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 73f24e03e307ffb4693443b43c4f30c748b3bbce..5a62a8a4292d3ec8bccd7bdab0f05a7faa3e862b 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 fbe90c5377df752c3be31aab0b7ad05f1ef317ee..7776fa0c166e356365a276f6d209cca0e4171563 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 ab1a6e387383a24d10750c327002b966630c11cd..f902b2dd41b0e808166e7ee62767890a09b2c3fd 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 d47ede27ece2f6ed5af7859fa3f8f69e9acef509..9bab024f021e5e33fb501e98cba5316fc034268d 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 1047734a2c183d40a41f4f369aa7cae585d1ca1c..9502cb7b7e7e8168e13cb9270fb3fd5d70a26f82 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 a98d1431d65e4473f229300ba581bbaf08d7dfa4..5708ef0ce0a658b092f7e05ec7bda2dcc8747ac0 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 0000000000000000000000000000000000000000..fbd0f3c5def3d827557fcefda01bb3bb364b2943 --- /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 8645251b384d27a786c9095c7476d5fc1438acad..dc8d95d2c490d1ca74af2eff540ad8aa9c434602 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 b857c5b683584c47f37aaa635a578825530d41aa..aff8c173d9f2b617f918db8122fead4fb59a3c3c 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 5730dec6b9944a2fbeac0a9f6ae341fce4f3ba16..21a36cecbe5495a4d2b3b5466d81c9ec3a817da3 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 8534d871c6628f2f9ba3d94189baa530abc101bc..32e241cf557be0fb4c659e939cff1a013e9b6e48 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 012270905cc841de6c6d1787a14550e195c662ef..d5985f097e9f55bf8b3ccbdf3edcc9bfe1f72fcb 100644 --- a/pkgs/applications/audio/sonata/default.nix +++ b/pkgs/applications/audio/sonata/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchFromGitHub, pkgconfig, intltool, wrapGAppsHook -, python3Packages, gnome3, gtk3, 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 ee72b6cdb1a4945756be66a1d2b681079ba35320..7934af8aad8e2bca9cc97ecc9309d9bfd97140c0 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 d5f613b4594550b4e26b469aa6241679e7aded09..501d097f29faabf42b5ec0a20cedd127e405cf4a 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 bf4d96c6fc4ecacc2158855e96d93ca08cfe0752..8dcca85a25c408753f6db7f0f7b19aac391a679c 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 cf0b5db81f620989e619e925a2ac6828b9d3f341..5d8ae0928c907b008006556f53d67bdabcf09b97 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 686b27223a6f30827a225e68b889ff8362f082ee..7f22a03c1bb4b93d3d2c7a36f7a4acb5204f8ca2 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 0000000000000000000000000000000000000000..df5806b50b9e1755a29123ae45c82bec6eb2e8f3 --- /dev/null +++ b/pkgs/applications/audio/soundkonverter/default.nix @@ -0,0 +1,97 @@ +# currently needs to be installed into an environment and needs a `kbuildsycoca5` run afterwards for plugin discovery +{ + mkDerivation, fetchFromGitHub, lib, makeWrapper, + cmake, extra-cmake-modules, pkgconfig, + libkcddb, kconfig, kconfigwidgets, ki18n, kdelibs4support, kio, solid, kwidgetsaddons, kxmlgui, + qtbase, phonon, + taglib, + # optional backends + withCD ? true, cdparanoia, + withFlac ? true, flac, + withMidi ? true, fluidsynth, timidity, + withSpeex ? false, speex, + withVorbis ? true, vorbis-tools, vorbisgain, + withMp3 ? true, lame, mp3gain, + withAac ? true, faad2, aacgain, + withUnfreeAac ? false, faac, + withFfmpeg ? true, ffmpeg-full, + withMplayer ? false, mplayer, + withSox ? true, sox, + withOpus ? true, opusTools, + withTwolame ? false, twolame, + withApe ? false, mac, + withWavpack ? false, wavpack +}: + +assert withAac -> withFfmpeg || withUnfreeAac; +assert withUnfreeAac -> withAac; + +let runtimeDeps = [] + ++ lib.optional withCD cdparanoia + ++ lib.optional withFlac flac + ++ lib.optional withSpeex speex + ++ lib.optional withFfmpeg ffmpeg-full + ++ lib.optional withMplayer mplayer + ++ lib.optional withSox sox + ++ lib.optional withOpus opusTools + ++ lib.optional withTwolame twolame + ++ lib.optional withApe mac + ++ lib.optional withWavpack wavpack + ++ lib.optional withUnfreeAac faac + ++ lib.optionals withMidi [ fluidsynth timidity ] + ++ lib.optionals withVorbis [ vorbis-tools vorbisgain ] + ++ lib.optionals withMp3 [ lame mp3gain ] + ++ lib.optionals withAac [ faad2 aacgain ]; + +in +mkDerivation rec { + name = "soundkonverter"; + version = "3.0.1"; + src = fetchFromGitHub { + owner = "dfaust"; + repo = "soundkonverter"; + rev = "v" + version; + sha256 = "1g2khdsjmsi4zzynkq8chd11cbdhjzmi37r9jhpal0b730nq9x7l"; + }; + enableParallelBuilding = true; + nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig kdelibs4support makeWrapper ]; + propagatedBuildInputs = [ libkcddb kconfig kconfigwidgets ki18n kdelibs4support kio solid kwidgetsaddons kxmlgui qtbase phonon]; + buildInputs = [ taglib ] ++ runtimeDeps; + # encoder plugins go to ${out}/lib so they're found by kbuildsycoca5 + cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=$out" ]; + sourceRoot = "source/src"; + # add runt-time deps to PATH + postInstall = '' + wrapProgram $out/bin/soundkonverter --prefix PATH : ${lib.makeBinPath runtimeDeps } + ''; + meta = { + license = lib.licenses.gpl2; + maintainers = [ lib.maintainers.schmittlauch ]; + description = "Audio file converter, CD ripper and Replay Gain tool"; + longDescription = '' + soundKonverter is a frontend to various audio converters. + + The key features are: + - Audio file conversion + - Replay Gain calculation + - CD ripping + + soundKonverter supports reading and writing tags and covers for many formats, so they are preserved when converting files. + + It is extendable by plugins and supports many backends including: + + - Audio file conversion + Backends: faac, faad, ffmpeg, flac, lame, mplayer, neroaac, timidity, fluidsynth, vorbistools, opustools, sox, twolame, + flake, mac, shorten, wavpack and speex + Formats: ogg vorbis, mp3, flac, wma, aac, ac3, opus, alac, mp2, als, amr nb, amr wb, ape, speex, m4a, mp1, musepack shorten, + tta, wavpack, ra, midi, mod, 3gp, rm, avi, mkv, ogv, mpeg, mov, mp4, flv, wmv and rv + + - Replay Gain calculation + Backends: aacgain, metaflac, mp3gain, vorbisgain, wvgain, mpcgain + Formats: aac, mp3, flac, ogg vorbis, wavpack, musepack + + - CD ripping + Backends: cdparanoia + ''; + }; +} diff --git a/pkgs/applications/audio/soundscape-renderer/default.nix b/pkgs/applications/audio/soundscape-renderer/default.nix index babe4edff9df68edb2b024a0d7291ce02e27c1cc..01f0708d1157ec021cd41cc48eb8a1c56ba0eed6 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 9557770418e87b706e71706252ad41bf5e036c0d..7544a3520c76061aaf6f0f57bef12de6c2962759 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 6614e37022470f3683999ae355b1df6aefa09c05..4c1682b1e0b8f3b071ca5cd59dcac49e8812d076 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 0000000000000000000000000000000000000000..2401dc60b09a921c69b47e57214e774447aadff9 --- /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 8af7888f74bb30234932b01a3e8dbde7e7d22d95..f4922e388c46f78f8f5e11850bfe852fdbcd60a0 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 372e507ed0e909c9d5aaffa1380504f0f9a52662..3c9565df9199bbdaf110680db04847fa67be4db0 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 6afd8f2dff8714b1080c261a2d9e8e520c34baca..403075f91352d702fd0019ef3e9fad5914b7be17 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 0e19ca1920b4eda06cae3ff0422b89976660bacd..a8836214f2fc65a79ecd1d89f2c549af852bf320 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 0000000000000000000000000000000000000000..3daed9f63501ffcd07faf1c356128f0543aa0fa4 --- /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 f22340b69412f8de90d20e3288c151e2e2b79461..3447049099b1502d8e00dc70f8d722df4e0f28be 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 20f6271c7adf75229b65c4f85125fc9d43548e41..3184f89ced9557a17693b796d230d094e6bb12c8 100644 --- a/pkgs/applications/audio/squeezelite/default.nix +++ b/pkgs/applications/audio/squeezelite/default.nix @@ -1,20 +1,26 @@ { stdenv, fetchFromGitHub, alsaLib, faad2, flac, libmad, libvorbis, mpg123 }: stdenv.mkDerivation { - name = "squeezelite-git-2016-05-27"; + name = "squeezelite-git-2018-08-14"; src = fetchFromGitHub { - owner = "ralph-irving"; - repo = "squeezelite"; - rev = "e37ed17fed9e11a7346cbe9f1e1deeccc051f42e"; - sha256 = "15ihx2dbp4kr6k6r50g9q5npqad5zyv8nqf5cr37bhg964syvbdm"; + owner = "ralph-irving"; + repo = "squeezelite"; + rev = "ecb6e3696a42113994640e5345d0b5ca2e77d28b"; + sha256 = "0di3d5qy8fhawijq6bxy524fgffvzl08dprrws0fs2j1a70fs0fh"; }; buildInputs = [ alsaLib faad2 flac libmad libvorbis mpg123 ]; + enableParallelBuilding = true; + installPhase = '' - mkdir -p $out/bin - cp squeezelite $out/bin + runHook preInstall + + install -Dm755 -t $out/bin squeezelite + install -Dm644 -t $out/share/doc/squeezelite *.txt *.md + + runHook postInstall ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/audio/ssrc/default.nix b/pkgs/applications/audio/ssrc/default.nix index 19386b47794263d2915097885ae4f4111a13856a..9eb71835caa92f3ccde18a80b1e9d74642afb0a6 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 39d1c266a37368db6498649030d8ea7565e4a915..efa87a2f72cca04b2ab64e76e7ce0bd83d63f3e7 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 47b0bf2e736cae8d810cba29780ff2bae95c35d8..1a3d1a96c85dc2423e51be7e443f2137251bfd61 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 5e26b6c1cdb8ff13474412fe7e4a44d0a898ead0..d25e61c37f5d2d7d788499b37e468367349d38e7 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 6fa0eb7f8f2b090bd8344f532c92c47e521f5af7..b59752d7cc3e5e43ae5bd44d60e6c902fc700121 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 e44df51404a4205236d6507d2341e780ff5da1ca..1c373aefb4f6f9b35b847df8d17cffc555f7fc6a 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 a739d72898e2d683d001bfb7b699262cea6db884..2438cf68536d5d6f69496bed5e9d76d152c6b4c5 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 257963de256f1a63f215c547012bef434ad8b0fb..40362fdd49688f9ef5c0dab4e19b5b49661a2d5e 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 643f5075298519c43298b1e585e10ff6a8c86cb8..8c7ed20e74822b25366782ff02f8fae8df8f21fb 100644 --- a/pkgs/applications/audio/timemachine/default.nix +++ b/pkgs/applications/audio/timemachine/default.nix @@ -3,13 +3,13 @@ }: stdenv.mkDerivation rec { - name = "timemachine-${version}"; - version = "0.3.1"; + pname = "timemachine"; + version = "0.3.3"; src = fetchFromGitHub { owner = "swh"; repo = "timemachine"; - rev = "1966d8524d4e4c47c525473bab3b010a168adc98"; - sha256 = "0w5alysixnvlkfl79wf7vs5wsw2vgxl3gqxxcm0zbmhjdpmjpcal"; + rev = "v${version}"; + sha256 = "1jsvd29wiqigxyqxl2xjklla11fwyjy68vqivcnlr9f2af4ylym8"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/audio/tomahawk/default.nix b/pkgs/applications/audio/tomahawk/default.nix index 78bd43383539921c05988ae9d3df3c07a5cf6623..c983123ca3830e2c647b31d45e83e4cb952a1f78 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 9a76f2d15c737762324e1a108a0998bfb19cf1e2..8eb846ac9c56dcc7edeaa0911dc3c3882fcea489 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 9729b136d9058c95fbee290c126c46cc35cc6ce3..0f70f956713165d685b0f9a1a5f694b8f8a86d68 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 0000000000000000000000000000000000000000..24f308f3f42330d12263880ddf1b26421e1195e0 --- /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 0000000000000000000000000000000000000000..2ef77caa6f69e6b19c26e14a6373676f51aa4593 --- /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 0000000000000000000000000000000000000000..521133cb08fcaf2760b86b9543389f5e2c835841 --- /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 0000000000000000000000000000000000000000..77875415160ca93116773ca76f005d50718a768e --- /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 0000000000000000000000000000000000000000..eca9c2f13c06268ff33453e2268f46e1918cfd69 --- /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 ce561b5db314ecfddd875c7ea8e2f337ed38082e..7f02ea9cefec0540d33a7b3598ae529ec864b916 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 b7b0fba2d548fc38c2fd6e513b7969d1e483bc5e..485edaa1ff27538b0b5dcba724c5d14f2bb0f0f6 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 dde96764fe6c61bea501887623c87e28638a9fa8..2bc40a78af4818469118428592aa7f3b8cfa9002 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 49e11aee0a12e92b5fe65060806edec01a236c37..c4333b09f18f5385b0d6aef05cc84cad8321e08e 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 07ab9b55e5bd83acb490857591a3970044a52c6f..382a1a8b2e21756b75060d9aa294f4c540f5cbf1 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 562fdc1be8b6442711ebfa6ee0e790eaec7003cc..13bf1d674c7c4b795c7098aee7a902eb29c53620 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 e86a690ec6b31935e5b762cfdcf0ecb26cdfd672..22594d3ec85ddeb52980535000d46268bafddbc9 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 a55b47a6c16b8fa48253889d5a9e510f2f080591..c0803ffa418570addfd6c5a9604d867c2d0e142b 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 ca6d6240688aa82637c9b62266a3a264d558893c..c8902f1dda4be6866995bd562c712ab02105b67f 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 b800df016c9ae1a2485d7bba57378c33977fa902..7976f7477171f26cfae17f7b8d365344c41907bc 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 24c033001cb6991a54f0f4a3310591f1bbcb45dc..0936fe5a8ed76b83a85fa81954a7ef442a3659e7 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 210d0f7e989d3ba30238f21f704e6dcefb174dfb..cc04632cfb5cda67e380e459e26f28d5c5097566 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 faa90e684aeaaf6eb0b58013b51404aaec16055f..1ec6946cf38c3d976b2c208d3cac7913bb9b3b67 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 1b3429f39d7f8743f973ccc145449c6f99e6acd0..e22bf9ed653a462a87331090ebff7ed0332e03cd 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 7a7f6f2ac496d18baa68311c16ad3a5d369a552f..a9647b11eeea4f153abea68f7f735cd940381fa2 100644 --- a/pkgs/applications/backup/areca/default.nix +++ b/pkgs/applications/backup/areca/default.nix @@ -21,6 +21,10 @@ stdenv.mkDerivation rec { substituteInPlace bin/areca_run.sh --replace "/usr/java" "${jre}/lib/openjdk" substituteInPlace bin/areca_run.sh --replace "/usr/lib/java/swt.jar" "${swt}/jars/swt.jar" + # Fix for NixOS/nixpkgs/issues/53716 + sed -i -e 's;^;#include ;' jni/com_myJava_file_metadata_posix_jni_wrapper_FileAccessWrapper.c + substituteInPlace jni/com_myJava_file_metadata_posix_jni_wrapper_FileAccessWrapper.c --replace attr/xattr.h sys/xattr.h + sed -i "s#^PROGRAM_DIR.*#PROGRAM_DIR=$out#g" bin/areca_run.sh sed -i "s#^LIBRARY_PATH.*#LIBRARY_PATH=$out/lib:${stdenv.lib.makeLibraryPath [ swt acl ]}#g" bin/areca_run.sh diff --git a/pkgs/applications/backup/crashplan/CrashPlanDesktop.patch b/pkgs/applications/backup/crashplan/CrashPlanDesktop.patch deleted file mode 100644 index 7fa68ba4a38837ff5c059b07aeb94e15f5ee62a3..0000000000000000000000000000000000000000 --- 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 de2afe2da684792cf525cddd818fbeb71b1c9bcb..0000000000000000000000000000000000000000 --- 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 2016d21c592621eb3c6afc4bf888dc7a1c23b79f..0000000000000000000000000000000000000000 --- 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 2c76891b3f9edff7ec561beac002563baf14cade..0000000000000000000000000000000000000000 --- 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 7876ebc244b19baffd16850bc761c6863f57f46e..2ff51db54041a3052b85760db1d0b57efbccf3a0 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 3a480f70d4b7b5d0c995105abaaa432ae89f1f90..1366bb484a913c3c734efbb33302c0d99271acdd 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 0000000000000000000000000000000000000000..d65889be3ac03e45c2ec82d86ae5bbb1f1cb02f8 --- /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 3b65b06d8db8017a5ee5cdb9cc6095c78d602611..479d175020b7de5c7f6ecd5ab02df97409e6324d 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 ad48ea2a6257dee8a666ac866307428957ec0008..ddce5c3f715033a637012a8cfa2a6d0f2572d2aa 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 13ec55bb589dacbe3896026e5c14cd2ebddab02c..a75b20b39109f15130089c7a1574180736d32924 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 0000000000000000000000000000000000000000..b1d84f91251e251b6e06d79152ff74eed306c138 --- /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 2f85a8947972b3ed5e04427bf62d0aab01239b63..3241148aee123f7bb86e6e5c4cbe52e8af5ccee0 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 0000000000000000000000000000000000000000..a8846431f1efd27fd667d68416586bbef2b4f4f3 --- /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 b2f2a457a99d6861ea560c949968468c259c78bb..03dcd6cb54e6de4f6fa055af5886c832f14a6e99 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 cc3e83befa64a9820d152280a22c4787819e02a0..16d39e85da153863f8581704a28cf8395c7fc0a3 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 8d966684b23c5ec884cc98ff1b04ce296bd8f1bd..163ed2615d33e2870be6ab5ed309a3476dc35ff4 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 8405ea8f842b97f4ea6031bacfab539278d6c01e..0ab63bb53951e6096a37f8555225f49299a85b4d 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 0452f40133458df36a9c35756c17bf72b9cf2164..e5f149a0efe763a67691acacd740ee6ee41c2098 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 d0bc700eb70ff9a08c5c3b98a565df5bc1874163..21d69f14d7f3f7424203de2af68a13873898b661 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 0000000000000000000000000000000000000000..bc354a5213eadc2b4229efde97f959759b725c90 --- /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 cbbfd85fe5bf77f090ff8ac7f7f08f342352d3c6..c49bbc4325192b271942e1ef5260155992dca575 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 1e9192bc6e4006bb012b15acd4c15ebbf2237129..6cf84f76f919c19701dfdeb571259758a0bbc72a 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 0000000000000000000000000000000000000000..ed8086f742f93b7b57351a1f950f30f52a571670 --- /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 0000000000000000000000000000000000000000..740ecfa228fd197f9a412627942b594703f6f95b --- /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 0000000000000000000000000000000000000000..8c276d6bb805889b785079ec5a5c15f20a7db494 --- /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 0000000000000000000000000000000000000000..0417d2913de58278e59917e3b4c405acee8e2654 --- /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 0000000000000000000000000000000000000000..27f10c963c0f8a74c3c18689219b0c2113887e31 --- /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 02a6d25df516423392f414a41ec4ea6d1a639903..dfa005abb6ec2125ffdfc3f197aef33db0b0ac51 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 0000000000000000000000000000000000000000..92f6f00802193563f90d1bf7781b64e036748100 --- /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 0000000000000000000000000000000000000000..e540f1960d6cd3e12021f96c36d218513ae86d79 --- /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 0000000000000000000000000000000000000000..b6f0745286169d780e5ee856a6be915b383dc259 --- /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 0000000000000000000000000000000000000000..a8d29ae149d94d692e2984c52282131658aefccc --- /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 0000000000000000000000000000000000000000..0615aed2ca03fc02a5ec354ee0169e5467d4a24b --- /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 625a008af9176aae6f30e0e3fbb919845698f1e9..a878bbf2e3e39b316a647885ceb9fbe115d50424 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 0000000000000000000000000000000000000000..a936691bd79930561a170144862185c1256f4588 --- /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 0000000000000000000000000000000000000000..9b5a72077d5c4bab97230ea11897b91761131b0a --- /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 0000000000000000000000000000000000000000..fbc43cd3402c35c5b9a25739339c6703ce4b13df --- /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 d3b20ef2ea36ded07f34f2e43a8d11570288cf5a..613d57cd9c8c8700da20692c513bfacd25a3102d 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 0000000000000000000000000000000000000000..c0833de7dbf36951060c47f17cee67a44519933c --- /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 0000000000000000000000000000000000000000..26c9192ee6fadd768a1f72cc3a8f7bf5268b69cb --- /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 026008b2761a9dd4ffdff8588c72b0d4cf62335d..ad65da057aeca67f2dbe4aea4765ef429d207229 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 0000000000000000000000000000000000000000..7185b35106019831a5771bdf4c986ef6c0a795ba --- /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 fdf2c739ac6fbd1dc1cb95bd4e37197884c6f123..365afb5a24119cc8e4dd3508e5cdefc35f4e2514 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 0000000000000000000000000000000000000000..3aeee7e6972f7a52e32f765dcad63d975093ddc6 --- /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 38270a25c9c99b9ec03d13ab7a7fd3327aa81d52..8302303a08e7a84fa77368d092798c1e1185d8e7 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 91446f73507e424abc8635bb9b8e6a82798c1914..69635718e3ba517e04e7de6d1595e830359a17f2 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 a965ff4c8bb06d17f900d72b3356ff0fc823dcdf..61d65cb64b6bacfcef52bfb9e4920414b2558483 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 a3e9554789c70c7b93912198aad2d17560f6d85a..f892a9da50b985b3f39718f89f5dc6cc2a1b1f16 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 eb8e5a0f4d7ec7a705eebe0ace7999fc5954e18a..0000000000000000000000000000000000000000 --- 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 e8edcc3f634c32b8859978f549c39da02452b491..2f0a770bc71c0cc078bd51b307d2ee4b4dfb2671 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 3de4067f55d510986744602313d0a2274a6ee0f2..fc61d43436da2c146f871fa707d2c3eec70fc821 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 214b435429ae4add0978ed94c58125c0c106b3ab..1bd73bebe03b0beaba568baac8847be053ff7f95 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 0000000000000000000000000000000000000000..98692de431703a282a424ee6335bea97d3845072 --- /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 a1465766f8bf59e4b3c6871eab072eda2b0290a8..50a752b3eb96df5d0a446052814d6c4ca2651ac3 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 cb0aa393380f96f294b2d9cf71ad6e3aeba9f42b..9f7997860c616792aacf2c2b2714205fc1125418 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 7af3742349a60f28f467db28ea1d890f36db0ed3..170fde7b9cafa74ca25f9ddd9d7d2c84141da78c 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 0000000000000000000000000000000000000000..e5655ca8315d82546392f0ccabccb6dfa9998ad7 --- /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 0000000000000000000000000000000000000000..5e12c4f5c858b9ac517a35f532e9222d7d3e6e23 --- /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 0000000000000000000000000000000000000000..038ff96ad3bd6ace461a02667b551c171542be95 --- /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 e5a71b134f1b08b1a8fb51e00dc7a257ff728940..26deee3b859849718a8b37af068190dd8512b5d9 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 da78c39324a5e8c2aeadcd8b1948b42c96a04298..46dd4a228645014816c8f827d0d278d7dd36e816 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 1c2e3a4257827914ea0035f928812eddf6ccdf70..f78f7fbf91487a1b6831f06c4fc5ed744de9d561 100644 --- a/pkgs/applications/editors/bluefish/default.nix +++ b/pkgs/applications/editors/bluefish/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ]; - buildInputs = [ gnome3.defaultIconTheme gtk libxml2 + buildInputs = [ gnome3.adwaita-icon-theme gtk libxml2 enchant gucharmap python ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/bonzomatic/default.nix b/pkgs/applications/editors/bonzomatic/default.nix index 9f1db1464482b27a104db16f2d8c7a3be7424c6f..a12ccd257f8a1f16bd6cba74e18f9b69733b15cc 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 1065564f7b4c3bbb691599577ddc2bfc111580aa..439b721632d06a76287d8f01d5e6c2797f2fda20 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 f5e14ff1e096da1808421228d82977c7eb5fdd2d..3237c543ee69dc7b96647f7fb51d95eaaeb6563a 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 d08e006ec5b31174d7691f4e13489b3d5abac4e5..2c6b153370e40bae607e2beab2c4eb68f7666c3c 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 4ab11064eae3d7a014d2f7e6caa1320b081eaf01..65ec43939127892f3601de7d7ead63a899461664 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 f4581c4beceb1153a8d5542db038916332d3769e..efb3a2f9ffabbe8ae25b8fe38d29079fa63f29d7 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 12ca7a071406f0759b1eddf9cfc0b18deb87841d..2f83b0b8d992ab3eae31358ea1743d23dc099b1b 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 389608ad824905dfd88a3d5f13cd74bfe9f6f6a9..6ae9eb078e2623269042b1dd015d857c6b01f244 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 55bbc778e3aed1a28b876b77d4971c75b314ca02..972a9daded411acb8d7e0cc7db3c5db44c7c1524 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}"; - }; - - 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"; - }; + 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 = 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"; - }; - }; - - 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"; - }; + 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 = 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-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 = 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_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 8a5991cc7cd7fd80aa39b9ce12d7cf6098f80368..cf7980582ff7792d9fdabafeba6302ead7815596 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 0b6e28434f56458a5812a3c11641d532c1febdf0..0de514233f8ed49544274b40a38f6f75bf241a34 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 17fa75fe6343252f0a4fff9cefe00f1cea7cca3e..acda484ba3a3f10474be35d647021f6d522df236 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 40f172316efc8ac6573bc907772ab4ea1471a01d..0000000000000000000000000000000000000000 --- 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 d20ab53bf7e10fb44f35529ca44475afd786f142..0000000000000000000000000000000000000000 --- 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 689bcfc9adfdd7a2b60ac80f3ac75f54492fea8a..0000000000000000000000000000000000000000 --- 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 31ae6b266980bc3abd65976a27836f1c9fd77765..0000000000000000000000000000000000000000 --- 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 091635feda6faba87380ea5a1458f169766255dc..0000000000000000000000000000000000000000 --- 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 aed976051f2012435ac65e2bdc5066ee5fc86556..0000000000000000000000000000000000000000 --- 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 e350dc08e71c86f210ee03208ae5e7cf1fbfce48..5fbe095c4f355e15ef5c80265fcf1e023f0f141d 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 2d1cbb75981e3ef70f3d540ff66dbdcda8f824a1..ce9f57ef40b6782346f1aa0a258ba1b63ebc1926 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 495b1aca4b535328720f3dcd9c13b07942c33bba..0000000000000000000000000000000000000000 --- 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 6b51f117ad85ddad8c5e84bae38c48b26436b9de..fb3de6ea3d9ea6157c7b7c80a1d8beff0e02b66e 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 407b9e58f0bf0389fc6b4b39dc6e881ca040826c..0000000000000000000000000000000000000000 --- 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 cfc237c8cdc1d81f14179890b3a6e0f2f2eb039e..0000000000000000000000000000000000000000 --- 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 9d227df562e157bc927d4f7fdda0ab49c3ebb25a..0000000000000000000000000000000000000000 --- 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 5b408ad7999d4126ec96f49cc13fccf38b34ff91..0000000000000000000000000000000000000000 --- 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 6f7bb428c1a6d027b4e600e4ed02a4ef49863ef1..0000000000000000000000000000000000000000 --- 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 0305be28ad62ef8fa859d184e3d89fbdc6111f32..0000000000000000000000000000000000000000 --- 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 28736acded2ffde83e8c2db4fca4ff448b6315de..0000000000000000000000000000000000000000 --- 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 7e9de1ed80b5ef80e1cce9122a915e8ce9db37bf..0000000000000000000000000000000000000000 --- 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 0a1c2c77b2a2632b93ba5d58bd06479ab9d4f305..0000000000000000000000000000000000000000 --- 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 807bb91f850cdccb4645dbf380ebfa8db1e26fd0..0000000000000000000000000000000000000000 --- 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 2fd8add173d69a8e31caac947db7988456fde0a1..7737034973af595b452ecf0f4cbf439b179691e7 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 26f4b791cc02608314cebac002a5eee05a955152..a6bea779eae01c7d8a593567b560bcad8e7fa1c4 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 { - inherit (self) callPackage; - }; + elpaBuild = import ../../../build-support/emacs/elpa.nix { + inherit lib stdenv texinfo; + inherit (self) emacs; + }; - super = removeAttrs imported [ "dash" ]; + generateElpa = lib.makeOverridable ({ + generated ? ./elpa-generated.nix + }: let - elpaBuild = import ../../../build-support/emacs/elpa.nix { - inherit lib stdenv texinfo; - inherit (self) emacs; + imported = import generated { + inherit (self) callPackage; }; - markBroken = pkg: pkg.override { - elpaBuild = args: self.elpaBuild (args // { - meta = (args.meta or {}) // { broken = true; }; - }); - }; + super = removeAttrs imported [ "dash" ]; 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 66ac9a3d77e688a6d011725f34819b7e1537d8e8..0000000000000000000000000000000000000000 --- 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 89de339a436b60a90f67d5068cdb3be431797a99..0000000000000000000000000000000000000000 --- 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 8d39c185acad3082bd4db06154fd9c1d0f5d6710..0000000000000000000000000000000000000000 --- 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 8e1d7092e6a1c744c9de041a98eadb22665f6b78..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..4c1a0dd2312d319728cc9697663c4c0050a954b8 --- /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 f966989b5a30279012a0e7c149d7ffe264ad19ec..0000000000000000000000000000000000000000 --- 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 d776103a662741e371a59711862cf8ff445268dd..0000000000000000000000000000000000000000 --- 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 463d7fc7e159d1b9ff0c54b359af2ad48cdb1228..0000000000000000000000000000000000000000 --- 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 ce335a5d4827b8735aeaf1519c9afa6602753702..0000000000000000000000000000000000000000 --- 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 eae338d241de081b66fa6458894476dd76e1e4eb..0000000000000000000000000000000000000000 --- 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 aa59eace2ae3950eb2fa2f2d239b869aa7949598..0000000000000000000000000000000000000000 --- 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 08471247f08117b1ec2651686261a545231518af..0000000000000000000000000000000000000000 --- 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 39e7d1abf386c61fd3e4e8ae9f6ecb29bde7f8b4..0000000000000000000000000000000000000000 --- 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 ce5522571339f6de792fad241578c9c1db985a5a..0000000000000000000000000000000000000000 --- 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 6b10766bedb74dadb2cac3a98bf58fef37a528ec..0000000000000000000000000000000000000000 --- 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 b28d0ae24a342eed818014f812fad5f29e896ed3..c6e1c5a50f4a43ec04c185f277076384eda4b24f 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 c32669239f8856cb4bee8126e54330ead7dbdc1a..255b30d60ed1129c54844cbbf222782c0923bf28 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 150bd3593fdb5e2ae78418ad78acf42a02fd789e..75b72516a3cd28eb1e3cbbb0d1eb76f4872e80ae 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 c16f449c3a2412fdffde760ffd01ee56b642ead7..0000000000000000000000000000000000000000 --- 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 884d1724ef8d5e33b244afd442216c44021a05da..27dcd1063bf2a2bb2532d7f229ee4c6077b0ddb7 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 3cc8156337e0309b5e6b56f367b7b4644b647c44..eaa0f2c2a5b1df75ee8dd63401b0b7355f700772 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 2e168b3abf7fcd94d25736a3d494605755c05e8e..0000000000000000000000000000000000000000 --- 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 c0ddbc88cf27517a7e6a47d0e2f2ce283c24bcf9..0000000000000000000000000000000000000000 --- 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 925fa54c735f54144e8439099e4efdf77b65295a..0000000000000000000000000000000000000000 --- 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 d0a733b912e32751a20eb55636dd41f1afbfa6b5..0000000000000000000000000000000000000000 --- 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 8c866e2d1db38e552871f597de06b6600427cb63..0000000000000000000000000000000000000000 --- 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 306fe66823c842d602d43097fe210a9b69c24903..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..5c636416a5e6b09c2e00f32f653533c14c553200 --- /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 0000000000000000000000000000000000000000..b315777620ed3116a41348500cf89f38e484776d --- /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 0000000000000000000000000000000000000000..2119a1672287f39abfa9bd74bfe43cbbe5d34a25 --- /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 0000000000000000000000000000000000000000..518ee67e45120955a67bc966a58a01abecb9a698 --- /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 6d0631a4cb83fdc58f4e820033a0fb693383ef5b..0000000000000000000000000000000000000000 --- 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 661430516b700d6117de8251eb55e66fa6f90cac..0000000000000000000000000000000000000000 --- 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 3461787ab59c12b66c89352518655f141fd2ea9b..9403a51df53244c51b40fdfe25ff98f4f364b80c 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 d9f0b211f15915a4665ddf7910f48ae5ddee433e..76009370473b07db42531aad2459bda1085864bc 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 7b4cb9d52667154bfb6e98713eb2a12ebd4e1426..88befda899a7668af791a67cdf5968f96fc168bf 100644 --- a/pkgs/applications/editors/emacs/clean-env.patch +++ b/pkgs/applications/editors/emacs/clean-env.patch @@ -1,13 +1,13 @@ Dump temacs in an empty environment to prevent -dev paths from ending up in the dumped image. -diff -ru -x '*~' emacs-25.3/src/Makefile.in emacs-25.3-new/src/Makefile.in ---- emacs-25.3/src/Makefile.in 2017-04-14 17:02:47.000000000 +0200 -+++ emacs-25.3-new/src/Makefile.in 2017-09-25 19:03:02.173861038 +0200 -@@ -532,7 +532,7 @@ - ifeq ($(CANNOT_DUMP),yes) +diff --git a/src/Makefile.in b/src/Makefile.in +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -535,7 +535,7 @@ ifeq ($(CANNOT_DUMP),yes) ln -f temacs$(EXEEXT) $@ else + unset EMACS_HEAP_EXEC; \ - LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump + env -i LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump ifneq ($(PAXCTL_dumped),) diff --git a/pkgs/applications/editors/emacs/default.nix b/pkgs/applications/editors/emacs/default.nix index 4a48cde571ae7e05c2e79fd9d359fe6da1337414..29a6a8773eff83c9ad2012a7f281881da42da508 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 486172ac51f46b7ec43db606971b08a10fd92c82..649997171e9ff7e691910bebcf3ded06b01e2575 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 34addc33a59c154c47f6698af0788f07afb091f3..de4708b88908907d954d2f567b4501c5b0644fa2 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 b1e26910f1fac507ef411290137c5819fdc15f4d..e48fba1551e7829946975dd365cecac12f96be30 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 104206a1491323e2bea43d91933000ff7b2d0699..b8b11e5e831eeeb294ca3ba6876d173b42e4a8c6 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 f656f874151a07460b2b92258856c2d398cd57b2..b08e3b5fa23cb1a0ff7f22f0a45fd2e2585bb435 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 9f33bd084890a8c48390dfb5efb6548f3f5eb89b..a30a8f702242de87415646d58a82a2c7e5659ccf 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 65645dcc9693db5c7debe0a02c827d4157cd3dc5..1e07902365d23edd43abc3fb4006a8a9ade38b82 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 99b014adb023460052b3fdb195f7f2b4056aa0bf..740d65838c3f2cd05195c2bb868cef6cd4fbcdf5 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 71d0f9450f2d39955c52e64eda266f4ea04f4b4c..cfd3a4289901f648e0fffa1bdc9c3dcc2cd91e3c 100644 --- a/pkgs/applications/editors/gnome-latex/default.nix +++ b/pkgs/applications/editors/gnome-latex/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, wrapGAppsHook +{ stdenv, fetchurl, wrapGAppsHook, gsettings-desktop-schemas, gspell, gtksourceview4, libgee , tepl, amtk, gnome3, glib, pkgconfig, intltool, itstool, libxml2 }: let - version = "3.30.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 e59def88de55d7e84607b5dd57a1246a201e2e38..ec05f0f8262205733eab8ceffc58f912eb47f865 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 8aea8508aefdd82bf77a1cd40f682fda33204da0..de57fb092157a0db73b7e22f1fc7f3f84b086786 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 dce02b5689064ef92352df6fe2586166c99e207f..4e67fc304b184685c10ac0daa713c883dee41ebf 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 22cc4d47e680705308e918d4b5f72a945427e232..a6437f070b98ea38101b4a13d213b2867f906f12 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 4671df77554f5befc584aa949bd5adea65df4d25..09191b38e1bc302d666780279bd4388a6067d605 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 8f75eda7ef705eae63274d9d6ea1fb943d154571..5e5f2f8563cb8ae03d761d0b0ab136f072c0b160 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 63864bc581df892f4c0a198d2a0c16cc373fdff3..fc1fe969bdc0d59b4374fd518f2bad74dece34d6 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 11322e8240c29d9105ae98a697d34ec5e0769112..21a6a8475182af29d83d0105daf42021c36acece 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 08a8b28117e782af5c83992464c8eb308e67e51b..92355552fceccc7b49490eddab426578203c19d0 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 b2ace8accd8a99ec6c5fff596ba6ea078b7fe0d2..6f5839b3d06f6de0d43a11277ccb922f4198a9df 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 08918beb8d5921cf3c26edd5bf9797fae56f50e3..cb9f10281c701340022ef7118e8893d941daf5c5 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 5e6406e33f286679ee590d67307348a8e6e1cc0c..4a44b35a0fa77cbda71f1c0d59f11c6f6930410e 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 cdb6b6212bd38cc0483e2eed449fef340157229d..4a079625d1832953673b12f06bf135d70f23818d 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 16596056c9a062fc77d225aaafa89064e8e07d1b..065657d16e2eb2f059615b87cbcee3c60004d08b 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 0000000000000000000000000000000000000000..d2f3607d63cba613a95dfb9dc656676854524b4b --- /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 0000000000000000000000000000000000000000..b4cc823880e727656e78552bcf5e2f75b941e567 --- /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 0000000000000000000000000000000000000000..48a971a10c6e66e8f6685a5dd429ddbaf5cbf321 --- /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 532bb99e7d8e03fe1657bfe3b62578b66a6c91f3..54e99b35b5eb1dc3cdcee17242c7c532f492c431 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 be27e10f42a19b13eac0e6f2341833422f78e1a5..8763905fbfd8d4d7ba64622737b5860e0635bd49 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 fac18c0b12943b78925888bb597ed2bbd2eb51f7..0ed4fe0aaad722c10dbe1f23352a674c7edd62af 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 98154b4a5eb5606dd414e0815eac04416ca42612..be80587ef3a60b9afdc33b5c0d8f52a14161d807 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 b212773712c2170da6f39123fc0f54cfaf7ec331..df46cb12338617b80196b82ee7b4a7bb7b4b30e2 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 c3b46cf61df811e2946f554d230292331cf6b093..795342fba5d813a9e829679b2d2a6ec49fc7802e 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 a2274be463edbcdaef9da311843df65a7557ded2..ff824d8b45bf9fa8e6e966c1381152e79d65b3d4 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 dfd6543c5985375f3d4b9e230d3a3c3644a7d380..90e8c73e075d3dd5e6047301dd45b2f4d1410094 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 4f4be05f79e4360996ed4efa4f68edc6d235840a..ecbe7e8b719482a59abdfb0cd60939f934b22923 100644 --- a/pkgs/applications/editors/manuskript/default.nix +++ b/pkgs/applications/editors/manuskript/default.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { pname = "manuskript"; - version = "0.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 d0367d7c3051dab8966d35a69600750d17efee32..de1a5ce7879faf4cfb3c5b7415658c6f3f81424c 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 fab3646efdff7f9d5ec2ae1c32b67936332dcab4..e6b93f20c48862e09b7f315ba681c847490f40d7 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 a027242c5eefc7d0b35883a9120da18cab255547..9cfcf95e78b16cfd549b1f8c548adada00a67475 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 3f7eba73ca49b3e2808999ea9b781d499058d421..4e960524b94f74ec06b05349f523b15173b68373 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 c2917aa394f9264505b3f1063cf8e7778f34c0dd..3a21eec07f424e9ceea9ece125f4253c7eda51d6 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 1b1c6eaf9e543064345e91120f4800b33a1c3ea1..70f99fa749b772d882f52ede549af3c944e91afa 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 0e313d33736aee69527a704e8feff06be261d3fe..aea585ce8d66107118e121aa2c1a68cef4ce2210 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 fb30036e146f191573abd9072cb8ffbc45aeab39..7902ddc410cf886c097115a16a7fc20759c3c890 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 9bc6425bc411c77498f8fd85e6445622fb5d4a14..96687ab81d67e683884b2f58e69586f1a685f252 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 6fff6df8cdda7fadfd8c99271b5fbcefa4eb6b05..b1b3a416178bc3a847a88bf05ba9b90ea8f15e6b 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 ee7a79517850c24ef78833d5440fe3fa73edd54d..7d558dfb89373797a49cd27323299e174348798b 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 cda45c2c739dd66eb2196d726abf7c69b83ada0d..92ff745d1a6ad7c0ec1e8ca7ef911b629d0a10d7 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 3004bf544c42c8897aabb02b3a895b8994351779..83b14b4ea37dd4283903bcee89b7c1b1c3017cd7 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 a95ced76371d40c7095e0ee2e79a9d8f2a18830d..6a3f581c4e8121c2b5a873aed8bde767492819bd 100644 --- a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock +++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock @@ -1,10 +1,10 @@ GEM remote: https://rubygems.org/ specs: - msgpack (1.2.4) + msgpack (1.2.6) multi_json (1.13.1) - neovim (0.7.0) - msgpack (~> 1.0) + neovim (0.8.0) + msgpack (~> 1.1) multi_json (~> 1.0) PLATFORMS @@ -14,4 +14,4 @@ DEPENDENCIES neovim BUNDLED WITH - 1.14.6 + 1.17.2 diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix index af887161ea6cff33273614d2b81a079f32b6e704..28a53cc590f6dc9eb9e1b028273232c29b78a67f 100644 --- a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix +++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix @@ -2,10 +2,10 @@ msgpack = { source = { remotes = ["https://rubygems.org"]; - sha256 = "09xy1wc4wfbd1jdrzgxwmqjzfdfxbz0cqdszq2gv6rmc3gv1c864"; + sha256 = "0031gd2mjyba6jb7m97sqa149zjkr0vzn2s2gpb3m9nb67gqkm13"; type = "gem"; }; - version = "1.2.4"; + version = "1.2.6"; }; multi_json = { source = { @@ -19,9 +19,9 @@ dependencies = ["msgpack" "multi_json"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0b487dzz41im8cwzvfjqgf8kkrp6mpkvcbzhazrmqqw8gxyvfbq4"; + sha256 = "07scrdfk7pyn5jgx5m2yajdqpbdv42833vbw568qqag6xp99j3yk"; type = "gem"; }; - version = "0.7.0"; + version = "0.8.0"; }; } diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix index 7d76bc1fd1a0c37ed0279243e6b9683950032ac0..ec799c0fa49cca6a1561a509dc151d4c996d89c3 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 9af60ca4fcbd879aa8a14675adc749ad07ea85d0..ba01304f723a9febba1c9cff8cddb404c9c4326c 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 ab79c3e780b29f6c517bc0d995e40b69033828aa..efda2c583604449aa841b95651b4414abe294e3f 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 3cc3b9143894c419a7e36cc3cec9f8e51d3f4b7a..287758e0fd83477df675ca64a895ba6a613a2b96 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 9edac16507c4d7169b8a4f7fd626561996beaed2..49ebe579ed4a7f79dd9cf428b6a05c3450608c3c 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 de9a089ec8c6b6fb9520a0da57f464db05b263f8..11a5b4c7ba344500502b08f5ab858d62ead93885 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 0000000000000000000000000000000000000000..a7dc02a9a6369671e2e6eda56a823d40c682f051 --- /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 86fb972e94c3b00cebde2d7f8112084f81ceff10..74e5460f529fee7ae91b3b8bb0663190f70ff522 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 3effc0eaa32b51645975969392220c3cc99fbaf3..0000000000000000000000000000000000000000 --- 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 55c83ca85a643c84f818e030533c9335475756eb..0000000000000000000000000000000000000000 --- 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 2f4693982a9c01daa55e1d5338cf07d9f91fb37d..2dceee0a37dfa881c7bd926a9035f58c77d75693 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 ef0d98455f278ffc3c6c93324641f45aea00a013..ac171f60ead75d4664a8cef768096bf0fed6182c 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 0787250feceaf0d178ebc00a92c6067b36869193..629bd9d019d2772a8d73ee412535a69c1245e559 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 71bd3544febbf082601b85dcf1b2140afde2cc58..8e52237d949d2ae337a063a99112509ab9cbf7d4 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 - - 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 + 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 = "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 2d214f18e9f60577d9f25905353a9fe83f510890..b8fef39d3ea23e14f29ede513ffd37e93d940129 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 a6d624d4b1ec282d71ab26ed605db728f54eed22..efbca2949dd427a4007056b1b6ea472905f020a9 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 dd986b346a3712cc24091181f2819790118f5a5c..48af4a99dadaa27ff611fd7609df53680e1f576f 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 dfb2e49e0c8d02ccbc18514bd8225c4bd5de1bb0..5d5843890e14b894116e320d0e53088bca371830 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 ac5ac34d2145a7f9c6727e143abb4c33bfd149d8..2c391cae517ba2d0f322d7abb7178e4f9438bbfb 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 79ece9d62a98c1303441a10623b0c03eb77b9058..2a4459ddc3ed42fd54ae6ba33d7cf4acfe499c2c 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 ca04cccdf17b64e7a8e4e3c7541c5f8ca6fd021a..04e2cb45e283bcd1c6f0874197a23525daade5bb 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 79cad6a9782cea69668c745164eb4f10b057393e..85006e51b6636c2f8919821cfa586e1c15300c82 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 fe90250d415276a90530d3bb23b6ffc3282fcbb3..8042363f73c9e193811bc6799a8c6247b644c3d5 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 ba68a5420a883b4311617c0d186b23710d8f7711..a6179452f4d5bf76341351fc3570b4fbd8d94c6e 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 ecdd7853d70c173eab268306a026dd1499bb85b2..b0b80a4ec001d73093e7853b736d9f97fb841fe0 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 aa3b4b99d7a076cacad989c138afc4a22a74e957..6bfce921d0f6e05372621411c7f79d15b2adc1ec 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 ebd7c77f678c40a51a2246154b72471edb67714b..7273b7252ca7c26484b55c1b66d9821a49273f9b 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 551fa67d9863e49a05f8e9efa9b4560d45e68ffd..fad4e82d37ffe32b4f4cc2161c1177118f9744db 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 8d3a5353c9891057ba8aaa4d6cbc4928818ad3eb..d1aa59569e62bb6cc6c039c0efc41b6c43b902d0 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 e0ac32c54ec58f7f16d6f241f30e1f0109a06d22..63d8add3a01250c804e1ab10b5a8d3b78ee66bb7 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 7ee28adfa47fd2f72b1bc9acaa5115e8ee1e12ee..1d65be3e73dd7dcbc692c43f08fd16fc334c7e70 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 2f34a6ddeb6b975d174465da8a5cbc8d9ec2da9c..732bfbf0bfd3949abb2329564f25e356db7976ff 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 0000000000000000000000000000000000000000..e0ba5145b3e5cc21deee6ce2dcb7ce0f6893bcc0 --- /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 c97b17bd9af1f1ac217543f300ef216c36b671e0..82977c2e6bc53a41fcfff636de2569027ff38727 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 }: +let + python = if usePython27 + then { pkg = python27; name = "python"; } + else { pkg = python37; name = "python3"; }; +in +assert python.pkg != null; + +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 { - name = "macvim-${version}"; + pname = "macvim"; - version = "7.4.909"; + 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 e8f34aba537d2408709396a765d726f66d9fe281..8cb96a9ebbad8f1f1eaac8beeee4f7a560e503f3 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; } - fi +@@ -5829,10 +5829,7 @@ $as_echo "not found" >&6; } - 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; } + 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$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 7825188fea9bc9be0bd40f48617f2c21c000ac8a..5b9548df7f178d6b14474fee85205f56bdb704b4 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 78d7d96d3961c57cd82161279f6aceb25a029df6..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..e42ca8a0bbf8bacc6ba637feca0cda36d116f636 --- /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 0000000000000000000000000000000000000000..369ed7728909d10a711e71938fff021464704969 --- /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 0000000000000000000000000000000000000000..49472fde464be8ee4940cc6363f2532ecade79ae --- /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 88bea0c080959e7751a01c41fdb884f4c61cad69..074e6b8b12d52c77735d02623cc77bcb05e4e923 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 ce67cc2d6484226d748fe2f40d11340cf3c31429..aab3aecd7d693ad4669fb458fa997a1fbf996364 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 c345e8a95d55b6a1e8976877cf13eeea6f52d6d1..09ccbad6cd75a58ca91103c1ec397076e38bb89f 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 229e37d0080a37bf51baf86a72eb4b40d927cc0c..eeda097db2583afafb2554e47b5fa74271076a19 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 e20c0a3cbca775da1885871f82abbc7522dd7aac..100e64fc1975808415637975b213228762b35f6f 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 a64e9a18e1ad553eda07deb27268eb0fe4f83441..360d94d1b8250f932f5c6fda2e2c7b1942cee8f0 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 a5a0492ab87666ce6b83c003138ad1e476b85c28..244f37b10dfff73ebf16894cbdab8383ea4951ed 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 61061a6d6721cdba55695c254e377a327de2f4db..f272fd04dd0dfe0afa43fb8f05dd2d641db132f3 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" - # To handle the lack of 'local' RPATH; required, as they call one of - # their built binaries requiring their libs, in the build process. - preBuild = '' - export LD_LIBRARY_PATH=`pwd`/output/lib:${stdenv.lib.makeLibraryPath [ openssl ]}:$LD_LIBRARY_PATH + wrapProgram $out/bin/qgis \ + --prefix PATH : $program_PATH \ + --set PYTHONPATH $program_PYTHONPATH ''; - src = fetchurl { - url = "https://qgis.org/downloads/${name}.tar.bz2"; - sha256 = "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 0000000000000000000000000000000000000000..a57b180d5b236d2a3a76a73b2866d3f0e326e4a6 --- /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 4738bfba14a83d76b85454e23f72a7a0746aed11..1ae1221a330cb10e0078680b85d04a3eb5e15d02 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 91c9543edfdadb425df51cd910b21890d0e07cfe..0000000000000000000000000000000000000000 --- 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 ca0034aa9708cc5da135cc6bd56da0c99b3f4e54..0000000000000000000000000000000000000000 --- 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 f6adf7857ede0a1da038401ec3a0e72540c4b9cb..d82bdc6654980526d5a5e574285d781050146e0c 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 efbf5864faa88a233cf3870e5f3b51b4abbcf2dc..cbd930668f99c21beee38f6e7147d27c01749904 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 b3a1b64cae960f77ae3769fd91fa5ac71cc512f3..59f471ab4e34851c3fcd42a8b236791e372fda9c 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 1b2de5e73506289afa3f195a071e5baeb594c148..0000000000000000000000000000000000000000 --- 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 938df76e25725c9ce179c1502e9c49d4126d9ddf..e35a0190d8bc60179938c59ab841430ef9e40e81 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 5210af4df7ad5a161111bbd66c48d503914a4911..fb06266cdc59e9c09f8ebd45e04b0c080883ad1b 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 30223658f53566a75c371af7faa22e8fb0b32b48..5132d5950aab8c8f637a9c41b3b05ef974e87f31 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 0d6b538b1072d5f0adec77dca2b84d9b71d9ea00..c4f1b4218d079e850f23c863bfa94e1fc682758b 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 2e7435b48bbb48b79580cf8d4380a1e978e9b8f0..7d800d57b631ab9bfdb633170d11976d122b31f4 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 459e07f9838b3c4344c183a5bb2c0f6caa38251f..5ce36f4f10e98e75c149619429773bc3b685ff54 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 7af7c8986f2fdbaeeca1197ebc7f2df57e7a1e42..57e95dfef106349fc913cf81366930893d8a5a8d 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 7777be9189755c0a7a020ab37b258a933c2aa6b2..5e1cba31b7ec17ef251113a099f04f192b950baf 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 df742645e86b1d241476bf3cbcd8b573b8514a89..43f8f561e2f1f58c167013f60b252c360808751e 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 7e1c6d7c8c4bcf0da3f3c0eeac0c793830e7b305..4e864d953dfde3488ebc44de523fbfa17933f092 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 bf5a2e2c34d108e4c85b065be98e3e4c247e3722..d3c7691ccff93cb8a8798f608579f1ed60855bf0 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 71e2d82ea7cac2b88ef088c1bf3f1fc94618ddd3..c35aaa044aef7c3448568b93bbabd6bc6f917aa3 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 0ce160242e56b50f8a6cef58f8a0f31ea9b1b9eb..b0e32678a141c0c86f4625d40bbaca4c1d731f92 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 7fcdb46e32e964c062a3a20ef4bac1198497f22b..1fc15af72441c206d06dd831bc92da1b98e07bb6 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 2b0dde210c580f3eb2bbc3515203e2872cb3eea2..1917640fd2e59b002a8b3ff119bd1e8f9623a215 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 d45d6c3a62e391fbee9634d53af8ded65bf0590b..cf5ecfdd043f629e7eebf1a8ef90f3ae58644d8c 100644 --- a/pkgs/applications/graphics/dosage/default.nix +++ b/pkgs/applications/graphics/dosage/default.nix @@ -11,7 +11,7 @@ pythonPackages.buildPythonApplication rec { rev = "b2fdc13feb65b93762928f7e99bac7b1b7b31591"; sha256 = "1p6vllqaf9s6crj47xqp97hkglch1kd4y8y4lxvzx3g2shhhk9hh"; }; - buildInputs = with pythonPackages; [ pytest responses ]; + checkInputs = with pythonPackages; [ pytest responses ]; propagatedBuildInputs = with pythonPackages; [ colorama lxml requests pbr ]; disabled = pythonPackages.pythonOlder "3.3"; diff --git a/pkgs/applications/graphics/draftsight/default.nix b/pkgs/applications/graphics/draftsight/default.nix index 30101bb947709d3aff7e8f14ce8d681bada18407..e59d14f7dd6eea7453c7c5e1676c47c8ea9842b5 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 0000000000000000000000000000000000000000..3f922530e73e5e2aed6ec2c57771657cc5693434 --- /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 fd8f88aa53ad154da7e78a08abf13eb1db4d46a7..5db104f031c47d96617cae50f26b51a641692f93 100644 --- a/pkgs/applications/graphics/drawpile/default.nix +++ b/pkgs/applications/graphics/drawpile/default.nix @@ -1,44 +1,95 @@ { stdenv , fetchurl , cmake +, extra-cmake-modules + +# common deps +, karchive + +# client deps , qtbase -, qtsvg , qtmultimedia +, qtsvg , qttools -, kdnssd -, karchive -, libsodium -, libmicrohttpd + +# 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 = [ + + nativeBuildInputs = [ 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 + extra-cmake-modules ]; - configurePhase = "cmake -DCMAKE_INSTALL_PREFIX=$out ."; + 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 = with stdenv.lib; { + 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 3645cc565728ebdf7ae25ec547640461704f7e3c..3b7bdfb8efc2de5eccf6c05c609252a696064f5d 100644 --- a/pkgs/applications/graphics/epeg/default.nix +++ b/pkgs/applications/graphics/epeg/default.nix @@ -3,13 +3,14 @@ }: stdenv.mkDerivation rec { - name = "epeg-0.9.1.042"; # version taken from configure.ac + pname = "epeg"; + version = "0.9.2"; src = fetchFromGitHub { owner = "mattes"; repo = "epeg"; - rev = "248ae9fc3f1d6d06e6062a1f7bf5df77d4f7de9b"; - sha256 = "14ad33w3pxrg2yfc2xzyvwyvjirwy2d00889dswisq8b84cmxfia"; + rev = "v${version}"; + sha256 = "14bjl9v6zzac4df25gm3bkw3n0mza5iazazsi65gg3m6661x6c5g"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/graphics/exrtools/default.nix b/pkgs/applications/graphics/exrtools/default.nix index 7980d09fed12b802556a74fa371b146f7d5ccba6..c8928540bb6564ac19126214079e41cce5595c99 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 33d65a860764e473b1881ec4fe98548e1f43ea16..f5560a9b2032d17f836094a0c4438ee35de5abc9 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 9ef70dff7663994446fb5f9f6102e3fb22088c9b..fef068eaf0ff837830f5a13c914e34fb48b79329 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 1e54152fff4d302ac8de03e1832407434676ed63..ae38730226a46e4d55516ac802b8ba881faa6406 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 0000000000000000000000000000000000000000..920b529d61c3d9a124284da94eaadab070d52638 --- /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 8ca093b90c3eac984f853810e076d8a600657ba6..3b866297603270df7a21aae2a03fc5b1db337ffd 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 6362d6c06fe92ef7df7d4973461d5229c19a44c6..5f866d00b3e1f28a1894d5219a121aa7e9c921b9 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 - ''; - postInstall = '' - wrapProgram $out/bin/FreeCAD --prefix PYTHONPATH : $PYTHONPATH \ - --set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1 + qtWrapperArgs+=(--prefix PYTHONPATH : "$PYTHONPATH") + ''; - mkdir -p $out/share/mime/packages - cat << EOF > $out/share/mime/packages/freecad.xml - - - - - FreeCAD Document - - - - EOF + qtWrapperArgs = [ + "--set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1" + ]; - 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 b1437508a5094814f73d337abb15fa5495c64936..1d712a63fbdf952ea927f76a0c4e66b92a362ee2 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 025b3ae65ecee0ef9fa3b63847b2ac4fcd51e00f..103f40fc9c704702dc39902382d72b49582814cd 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 ed350b2b0eee943c0b31f58176e17e2714650c7f..c7555b612f7ba190e52e7e93d894ec99dc51840f 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 a1ea88da84be2d6c88911a101b3d962dc0866f07..62e2ebfa4b1ef0717ad431a7a24bed76c8fb49a8 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 1b8833b135f359090232ef06b6f696eeacb9fbcf..0000000000000000000000000000000000000000 --- 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 4d835e6590ed119e5c3ad28c333ac8fc52135e2e..e3994b1b4128c74d7bc6891baa68f91374902e7a 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 0c753498af345eec048d3517815477fee358e3d8..008bfdf881e5473a345365f9f857912ac07a56d1 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 ec529519159b2f3958ba07e9735d9b3ac3cb8299..11c1e9ada931698d0f2e681ca115a1d868a36174 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 c5eb126cfbf7637d882c624c374a3269141ad08c..9ba7dbed37b3077f5dd9391f69e218e04f3cf8bd 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 cf4ecf15523a55c802ea5af456abdefe4a7247d0..6bc59cd7d02be13c2441d3a33e0cc42a29c5445f 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 0000000000000000000000000000000000000000..f591dd5a60dd26a595964469a1919e3b6691fbdc --- /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 0000000000000000000000000000000000000000..218108328dd8a69b35e30d6d54ffa0fa292b9bd4 --- /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 b3671ead377ab2c13a2f7c82bb675dae2d8cc252..eb48333997ca2446ee1cb8d14d937cd26ca05db6 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 71ee715b535dc8eeb4137b61a8c3b32a1b3b693b..e4ab5639ba6612a1716434ec4a1cffaa0e903643 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 b1580d73b6417622284133f360584c103ed3ae08..039bb1917d37b2db79dd96abb6607a2d529d6414 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 0000000000000000000000000000000000000000..91eacecbf8c66d7934673599c907f02923072d6d --- /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 bd1ce2ed893a49655c26e2e0fdc4f40a7476add2..be8885caff1fe55f9c6235667d3c312c5a3b34d4 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 c93b4fe958d5bdbfe897924006763c7df010a5ae..403a5285e1501da6630f889b03b870432a4c3471 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 9ec82ea2a94baa8be98f6d6d743139b992bc33df..9af1a0fc91411f4fb14deb5100287931658996a2 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 e8f831a21c20429d57dae556e017c070d1e23296..6bcee18651b01b929e8a9cf35352521c74983eb8 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; + 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 + ]; - configureFlags = [ - "--enable-libchamplain" + 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 061dc2b69a61a8b60bae1db177fc2ad8fe4953b1..d7b96425968382a349f8df300acd8efb2682592a 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 1c5b8d1b81dda2bdacd846bc933358a7b006eda0..d7888da15ef6cee0724c1abd0ce87dc57fdde320 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 0000000000000000000000000000000000000000..0efb087418350c1ea28fdfa0f60d72782c325a3b --- /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 0000000000000000000000000000000000000000..d6a0f13a4c1a79f1f5433c6dd4a92931659955fe --- /dev/null +++ b/pkgs/applications/graphics/image_optim/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'image_optim' diff --git a/pkgs/applications/graphics/image_optim/Gemfile.lock b/pkgs/applications/graphics/image_optim/Gemfile.lock new file mode 100644 index 0000000000000000000000000000000000000000..20c9772ce4648fd443fd8fea700aed206c2e758a --- /dev/null +++ b/pkgs/applications/graphics/image_optim/Gemfile.lock @@ -0,0 +1,23 @@ +GEM + remote: https://rubygems.org/ + specs: + exifr (1.3.6) + fspath (3.1.0) + image_optim (0.26.3) + exifr (~> 1.2, >= 1.2.2) + fspath (~> 3.0) + image_size (>= 1.5, < 3) + in_threads (~> 1.3) + progress (~> 3.0, >= 3.0.1) + image_size (2.0.0) + in_threads (1.5.1) + progress (3.5.0) + +PLATFORMS + ruby + +DEPENDENCIES + image_optim + +BUNDLED WITH + 1.16.3 diff --git a/pkgs/applications/graphics/image_optim/default.nix b/pkgs/applications/graphics/image_optim/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..385f9825e46f70517aca842e0cbcf6db143ee5a7 --- /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 0000000000000000000000000000000000000000..6c9ec2de7457011db302b8939f42216e2f14c0bf --- /dev/null +++ b/pkgs/applications/graphics/image_optim/gemset.nix @@ -0,0 +1,51 @@ +{ + exifr = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0q2abhiyvgfv23i0izbskjxcqaxiw9bfg6s57qgn4li4yxqpwpfg"; + type = "gem"; + }; + version = "1.3.6"; + }; + fspath = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vjn9sy4hklr2d5wxmj5x1ry31dfq3sjp779wyprb3nbbdmra1sc"; + type = "gem"; + }; + version = "3.1.0"; + }; + image_optim = { + dependencies = ["exifr" "fspath" "image_size" "in_threads" "progress"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "082w9qcyy9j6m6s2pknfdcik7l2qch4j48axs13m06l4s1hz0dmg"; + type = "gem"; + }; + version = "0.26.3"; + }; + image_size = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bcn7nc6qix3w4sf7xd557lnsgjniqa7qvz7nnznx70m8qfbc7ig"; + type = "gem"; + }; + version = "2.0.0"; + }; + in_threads = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14hqm59sgqi91ag187zwpgwi58xckjkk58m031ghkp0csl8l9mkx"; + type = "gem"; + }; + version = "1.5.1"; + }; + progress = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yrzq4v5sp7cg4nbgqh11k3d1czcllfz98dcdrxrsjxwq5ziiw0p"; + type = "gem"; + }; + version = "3.5.0"; + }; +} \ No newline at end of file diff --git a/pkgs/applications/graphics/imagej/default.nix b/pkgs/applications/graphics/imagej/default.nix index 0bbd543a307699df0c6a356458ed0441085c06c2..7d5a9013035945d1618c3e2d1b4d781220bda07b 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 a98029dd5807b11b62521cf3ee680684aefd68cf..1fa3ec8ccc6892238f9bcfc76ec3e3689ec9c173 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 a881c0fc1f93176d6845f41e2ac9fd3fead59ac2..5fdd20825cd53483bed3f7f004e7ff4ef09cd901 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 cdbf5f446875e275b510460f069358557a2796f6..38e536c70cbb83db595474fa1dfcd409bd9cb0bf 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 140227eb9eca39310bef7fa32cda64420d2606db..d4a7e396cb057a02dbb5d20a94c29e5c936128d7 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 9c81fe32b513208e3948e8fcb26ade068a556247..4eb7518cc1027164854fce4d45e5602fb64caf48 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 0000000000000000000000000000000000000000..b5664d51a1443ffb19a2ad92d1523cf988238110 --- /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 f438bf6f7ed88004ac7c6d998816674b9238d83e..e15aedd77e1c809a0a541198c7cbf122e8835ef3 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 ba64aae621599a51f1fd61bd4f825884becc194f..cc1ca3a0ff2a26b915d454c01c8f0ead6f055a08 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 301dc902dce912adcc9f0e84de497841c3e2f715..1487fb8adbac48ce9413a10d6cd66f0731afe956 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 e70fafa24b60e252650f3339353eb16e9e3af48e..9b96b30c62b118c78c8ca547be70a7a75704bb51 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 f7faba7c41a59f8a976270cdc6701af7c3fc1cb9..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..b86560d1319e9c5105501bfd2da2e5fedc17e881 --- /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 c9fdbd255d46707bad206b9b80b349f18942cf14..83489e1a24c914451a771e746c0088fb35ec8c32 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 4b3a423a8ce232d83a1fd3cf6b3702c476533790..4ddc2074f2f46fac0e78f3dd928e427932355938 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}"; - - src = fetchFromGitHub { - owner = "fhackenberger"; - repo = "ktikz"; - rev = "be66c8b1ff7e6b791b65af65e83c4926f307cf5a"; - sha256 = "15jx53sjlnky4yg3ry1i1c29g28v1jbbvhbz66h7a49pfxa40fj3"; - }; + 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`. + ''; }; - 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 + src = fetchFromGitHub { + owner = "fhackenberger"; + repo = "ktikz"; + rev = version; + sha256 = "1s83x8r2yi64wc6ah2iz09dj3qahy0fkxx6cfgpkavjw9x0j0582"; + }; - # TikZ documentation default file path: - TIKZ_DOCUMENTATION_DEFAULT = @out@/share/doc/texmf/pgf/pgfmanual.pdf.gz - ''; + patches = [ + (fetchpatch { + url = "https://github.com/fhackenberger/ktikz/commit/972685a406517bb85eb561f2c8e26f029eacd7db.patch"; + sha256 = "13z40rcd4m4n088v7z2ns17lnpn0z3rzp31lsamic3qdcwjwa5k8"; + }) + ]; - # 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 "{}" \; - ''; + nativeBuildInputs = [ pkgconfig qt5.qttools qt5.qmake wrapQtAppsHook ]; + QT_PLUGIN_PATH = "${qt5.qtbase}/${qt5.qtbase.qtPluginPrefix}"; - configurePhase = '' - qmake PREFIX="$out" ./qtikz.pro - ''; + buildInputs = [ qt5.qtbase poppler ]; + enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gettext qt5.full poppler ]; + 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" + ]; - enableParallelBuilding = true; + qtWrapperArgs = [ ''--prefix PATH : "${gnuplot}/bin"'' ]; } diff --git a/pkgs/applications/graphics/leocad/default.nix b/pkgs/applications/graphics/leocad/default.nix index ada55f0351e14450797fb7f593661a4cff396b36..201a4fe113e3b28780843c517a507140d9a08f63 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 867c0a5583822405423ede28ec792af6f95b0a82..94899c937a86b1662b12d6fe60acf91ca287b5d1 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 2fddc39e0d0734dd6af412f4379e8ab3c000523b..5f8a0bb6eed37396008f2af66ab8d27adb6dc847 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 515b834b41eafe5093089a4fa5547f48e5566018..fbe8f10c72f772d42ba751e57a4db5f8f2dc2836 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 b48fd891a6ac16622045981ef348d02110456fcf..63cc4a3a8d3591204d7fd8c0aa48aedf1af00830 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 36c7e7e2fb30dd9a889e9174b22f62150193b65b..5ad5ab6acc61aadbe661e71132e700844fee85dd 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 05d047f7227505c3a71fa57e0114eded0e0f0f55..62fae518b9291ab320ab8ff7b46369e53c51e62d 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 0000000000000000000000000000000000000000..53224e0260eb0eaa17b87d7fa0a9e3696817cfcd --- /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 0000000000000000000000000000000000000000..4e61fccaa372c8767957265e780344f5577a6f6f --- /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 f405ca01200d984509d0235d7ee3c347c51a96ee..7225efadebd9e538b9d7b2b12694c9c7c6c23605 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 bce2e882698302f1f4beaae9b2ee91c50e00c685..9f7fbc8421ba3ac33ae4e67085cd027640fb3bf4 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 cf13c6fb05e9d010c403721d447e25c575298741..13a00991265f43c6648389d580f6fda2dc90e2a6 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 3cc7166b4e46c8ad721417c43105cd7c6ee867f9..a0aaed49c9c0dc8ba2f87a8416800da5394da60b 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 0000000000000000000000000000000000000000..c1b2beadcd53249e67fd46e4c9cdd649eceae117 --- /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 de75827100480044069b0623097c1372e12ed973..37857fc459ea9c2c682e3c8b188671b7a7fe81ab 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 4843898eb645a6326facfa1fb9e00db502b6926e..6bd2fa98b1bb0ad92cba6c9ae75c28f6c477d51e 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 7571bb29bec99e222626607e6e28961aabac311c..68afdd8694b1a37fe7e4a83ae64b46d717f27788 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 daa982b5f3aa709b2552e25b7b8ddb664954d245..0000000000000000000000000000000000000000 --- 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 7da1d4b612f9263f419e850fd7f8c9171e5dcd42..5e7fb5cf7a0a855276d57479ddc4910f8a89e6af 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 132136da658b761f9c11dda2ce5fbfe81bbf6cb4..f50af2925a3a65a1d2a0ee3fdd2146213cc5431d 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 ec4ce69d5e87e5a8c123a48308f6893944c6dbdb..1ad51e92d472e47da9b41ad3bc6a4a37945cf088 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 0000000000000000000000000000000000000000..9972ea75709827a7486e788a1d73f04c0afa885b --- /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 6f90131db12afe4dbd1d0e35e7117b96d2b49d97..0000000000000000000000000000000000000000 --- 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 c37e21ec898ae16b25c00c1e17a094a4f1356fd2..4d416a7c106d23563fe041a8cf91985c9837a332 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 8e6058d699803a2718744a6ef38b3d95777ad5db..750217d99188c4f03f39f83220ddc479078ae193 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 4be7d230b5f461e186a666dbcd9d68f8cf1dc3ae..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..0595ab2963ca5214c81591c407f5d5934ceeca4c --- /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 b300c0071faead67312b53931ae0cf9ebc1c3fee..7e9547c1067cd3e3c9e0748808000ad1248c40ac 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 36087aa84bb3b5489ce7c4c55349aaf7505595db..28d05480dae15dd659a0889e7571c0f17ddedbce 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 3990d0989062fe9a6e8695f154cda4e3fb259b9f..594429503a35009802f362205a6e529478787a7a 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 0000000000000000000000000000000000000000..f96b70a77b473c7fd48e5cd970f2a46dc03ab6ec --- /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 0000000000000000000000000000000000000000..d4165be3784fd110cfac4d9f3ea4e886b559be5a --- /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 f6994db81e4b01940e777ce0c3ba8b329460265d..66473c4a155f1f1a5056dc9c90ed63b664bb896b 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 d55441e39fa55fad5aa14127987d49d77dca251e..63f16f688acd3235c91661c0afb090ffbdb9641b 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 292ae9c8faa875de4929bec6e859f0148c11d570..88bbbd9d86462e8b1c27ff2a8eff5f1d5eaacd61 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 bca88cc7013030e42248d60438095a810c8fa462..58cec2ec1703123e4714636c88b5444e86ed9133 100644 --- a/pkgs/applications/graphics/seg3d/default.nix +++ b/pkgs/applications/graphics/seg3d/default.nix @@ -23,7 +23,6 @@ stdenv.mkDerivation { "-DBUILD_BIOMESH3D=1" "-DWITH_TETGEN=1" "-DBUILD_TYPE=Release" - "-DBUILD_TESTING=0" "-DWITH_WXWIDGETS=ON" "-DITK_DIR=${itk}/lib/InsightToolkit" "-DGDCM_LIBRARY=${itk}/lib/libitkgdcm.a" diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix index 03cac9114afeca77d036a7316a2642ceb749ca14..79bc743fbf01f0478c635df25015f8b0e1ae2c49 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 5800fb6df3cfd294cc5c5d607098f5d7fb170da8..527a21f93fe3e7b24fb74dd5644ddde8c2d062fd 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 2e413839f00b29dfb5880699c1c5e8d2cca2f469..7046caad295e2b79b92a87f5d4b67a27e4b85238 100644 --- a/pkgs/applications/graphics/solvespace/default.nix +++ b/pkgs/applications/graphics/solvespace/default.nix @@ -3,12 +3,12 @@ , wrapGAppsHook }: stdenv.mkDerivation rec { - name = "solvespace-2.3-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 ac3de4a4e14199c8e81cf95c2c1c4bedb9b01f88..f56646e5aedd9c1f74af606792aca07d6bf366e9 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 63d35cc545316f2c91677c77403aa3cf641497c0..34294d2712923688167ace1f6a2932e847b08f02 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 db0e06434aa9c7632b61af024975b898b016dd96..157c0b9742bfb6046bd529b4b10fb23e1663c6c5 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 df321023c741e084ba8788109a59dbb916deeed9..548f58a50fb1ba4d678f446f951855b2d00ea688 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 b4ddb1436856828d0af3345bd4a0d61832d2c0d1..8355545e8dd6df60f3b1e5bd13689ee38a9ad004 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 50cd9485a3e8d4da9879fb8e849def9a95098800..39b4640dc4311126e24b2eb23ebb428b0cdbf909 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 d29c9cd825983ea701dcb8ea5e95e5accf19b5a1..09abfc60a5282fe47e88a4e197cc84a4ef1db7cf 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 5afd7a0237d05fd5faecdd3e6d3b24af07225d2f..4f5fb12faa62f01310b4b455c2e30acb560a2b66 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 e790ef49acbfb6bc984b4df4a84d277509a5a717..5fc7e309f4df91952ddb082774bfe4d0d564a23b 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 e27f074b21bafbc7ce9cf7f487a747abc24df015..8d6eca7ef32c5a683275b32cbd6b682d85bfc5f2 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 e11bc3dd5bb9b3c75ac3e2d4f625587a2122d6b3..232eeeb01153c44c7e610dbeba70f68929760437 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 182f68f3112cc60c4daab0987a7bc3a87758b7cd..e80362c386b98208da2f8d16238728dcda42a620 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 429af12b9bb336d89f4179019526cee213f8e35d..fe5a13703329aa3e386e1493015f2a6feba002ad 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 2269f1c18f1456656c004afb9b874a6ac08dce8f..ae4765fc9e76909db1da94d68e76ce2561d8170f 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 0000000000000000000000000000000000000000..41539f32b071e8052d5d5754b4e9c324f9ed04a6 --- /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 69ab67dffb73d5d646d3478c6e47e4ae63abdb8f..de3f3a78988b17e525eb26d4608ee441b7efeae5 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 3cf42343658c8faa2b1be93885b2ee3ceb580287..e545dd5a72307bc344c078ca632fd4859ffa0f54 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 7267e9bc48573a02acf6c526243a0c45546bc66c..0038d41475fbdf80afc02642fa61241ed3e588c7 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 c60d4b7b904d63e4f65536768b065e3ca778427a..db07b9e1db4e32229b7f01ea332136f2b8cf8696 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 7a49e5b2cb7f0d100298d8496b9c6fdf1f6343da..8ef705f7ef4b4c2cf3d0607e9a192a69f3280a6a 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 1b5e12c7ec3243e6f7c0aeb154aef0dd307e48e4..c3964c5c05b5a063400b3f71c98f30fc5d0ccdbc 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 9fa3c8a14141c1f66b13effa8304e40a52d35803..ba6bbedeeae73181b144178273910e4aee43cf34 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 25a835f5ba24365b22c368d531fc403a24276a98..e299a6991f053ab1c72e79ae0b3bfdfe4f1ca7fc 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 cba0b1e59e3adb88435105650ddff01a82eacb77..b9a96394a6745463e1977d9cef0e52dd9fba3984 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 598857f2e70d3d46e7f772cc3f4ebe3550e00c40..6015cb69d7784ba751c809b89396ee4354d0a9aa 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 0822e65c7c0c4f179964670801484d1bae978b67..6027d8daa9d4189bf77b9868c9cbf98e17e50508 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 6f6acd1e8bb845c96e31bf75fa2dc12d3e80e5f4..5c72e78c582021f200a418ab2a198e6e376b12be 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 e6b4f6b6bdd435968b602d3e3cd982a358d4283d..95ff6cf198b2538eb2001bee855819586d1bab86 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 2d902c220afcc2cf02942c79af40ff0273e80191..4e2a308b17f55412f22e897424706c02bcc04881 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 2e43e946d7ff0ff16baf76d271eb08cbba28d14b..6ae45057f19e550b4257281125de69ef38e08ec4 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 9da12b248c5681c886a952002a4d71471f10d725..fa75dd1eb97a297495a131ee7391835b6fd19da0 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 fa090d50354727392fc439169c92e9bcbad2286d..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..46722ff5fba01cea6cdf1a1d028b1d08e2c8e940 --- /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 0000000000000000000000000000000000000000..6d7bd0daa96b57abb0d1512dbd7163f092aad5b8 --- /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 0000000000000000000000000000000000000000..cc3e104775fffe7b33aa5bba79bb350e2e24df46 --- /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 0000000000000000000000000000000000000000..10932b38032ca45788764e23ad6f0ab0572cfa4b --- /dev/null +++ b/pkgs/applications/kde/kfind.nix @@ -0,0 +1,17 @@ +{ + mkDerivation, lib, + extra-cmake-modules, kdoctools, + karchive, kcoreaddons, kfilemetadata, ktextwidgets, kwidgetsaddons, kio +}: + +mkDerivation { + name = "kfind"; + meta = { + license = with lib.licenses; [ gpl2 ]; + maintainers = [ lib.maintainers.iblech ]; + }; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ + karchive kcoreaddons kfilemetadata ktextwidgets kwidgetsaddons kio + ]; +} diff --git a/pkgs/applications/kde/kgeography.nix b/pkgs/applications/kde/kgeography.nix new file mode 100644 index 0000000000000000000000000000000000000000..c96c198cca9c6a3a7e9b30a4a7af1327f029149c --- /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 33813f376a54991a6ec062d7535cb8ce1c01e2b2..944cff47e0d64681f633fc94b59efe1b4e013c1e 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 dd717c9462d60b1fdcae9d48828fc81dfebb035c..a7aa817576fb454916ee5335410bad52cadb69ce 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 0000000000000000000000000000000000000000..5fb953acbd62e14b21c97aaca3c7a6dbb07865aa --- /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 acb200c59708c80df5b717464a161f16e200f6dc..a58b3b8c45d888e6573f3e8a94bbf2f41f887a2e 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 0000000000000000000000000000000000000000..71a23be2d8391e5fb65a6b0a8044915af78b7b20 --- /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 0000000000000000000000000000000000000000..c0c00f2134008c9e83c2e1304b3d15cb1e5c2252 --- /dev/null +++ b/pkgs/applications/kde/kmplot.nix @@ -0,0 +1,15 @@ +{ mkDerivation, lib, extra-cmake-modules, kdoctools +, kcrash, kguiaddons, ki18n, kparts, kwidgetsaddons, kdbusaddons +}: + +mkDerivation { + name = "kmplot"; + meta = { + license = with lib.licenses; [ gpl2Plus fdl12 ]; + maintainers = [ lib.maintainers.orivej ]; + }; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ + kcrash kguiaddons ki18n kparts kwidgetsaddons kdbusaddons + ]; +} diff --git a/pkgs/applications/kde/knotes.nix b/pkgs/applications/kde/knotes.nix new file mode 100644 index 0000000000000000000000000000000000000000..ced046c2f4e2689a34b5d232b4ebf040fa553ff6 --- /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 87204c1fe9fc244c1f72b7c23bb886c14d25c0ab..89ac92bb474535e1f7b4ad4ca1b001779f18aa4b 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 75e72c0ba1806ffbdbdf045931de792acfb93b9e..7e300ea7157e79200761f1d593d4a471cbf2dcb5 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 efe850ab414d48acdc9e08f51621fb14ab6cf94d..cd98d56b86dd77e16c875b4a286d136eaea50a47 100644 --- a/pkgs/applications/kde/minuet.nix +++ b/pkgs/applications/kde/minuet.nix @@ -2,17 +2,17 @@ , lib, extra-cmake-modules, gettext, python , drumstick, fluidsynth , kcoreaddons, kcrash, kdoctools -, qtquickcontrols2, qtsvg, qttools +, qtquickcontrols2, qtsvg, qttools, qtdeclarative }: mkDerivation { name = "minuet"; meta = with lib; { license = with licenses; [ lgpl21 gpl3 ]; - maintainers = with maintainers; [ peterhoeg ]; + maintainers = with maintainers; [ peterhoeg HaoZeke ]; }; - nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ]; + nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python qtdeclarative ]; propagatedBuildInputs = [ drumstick fluidsynth diff --git a/pkgs/applications/kde/okular.nix b/pkgs/applications/kde/okular.nix index 39fb232b34210ff7dff75ecf6ec807ce23e9d129..377fbe3339a7cc267d15d267a9315a08af79eba6 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 bbbcca13d9804fd855b8d97e437c78b2ce2999a1..cd9ff2528fac7a6bd2ec166d34087cc2cb2eb3c3 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 f036e8cf632c60fa6d125916c9ff39a456ec0c06..58eb288f6cc25917502089e55e256bd06afdcee7 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 1efdd3e6123534e6202cf08a9eedb7b3cd4ea8a0..fb0581cb3411e9c3bf6314527426979bcfb53f58 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/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/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/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 0000000000000000000000000000000000000000..6f9c8df30012658af53e619094c7b9cae1866ea7 --- /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 6de7c3daed19688b92ccdc70ec4d7bcf13627934..edcd08f2499976f2cb9bc5c6260969360f2e9146 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 0ca12a0096edda1703d2ae53880256c56b3a3362..d1e4856e0523ec3bdfdb03e92d31440f86964d6c 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 3e5bf8df4a7b9f3016f9aa43c777a935b25fa282..465c72d73f5cc1af7ae5739cfd028d99bbc9f334 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 ef0b49f8d7bafb254cbaa7f557be57f6150e0fee..dddf8d93412dd9e46f5e8a6e618c566de3a901bb 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 + gzip makeWrapper - pkgconfig ncurses - gzip + 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 2dda615081c0b1da19668e4e9b76d08bf9d847b2..6fc5f9514651dd2e37c81c4f16b800330bc9cc1f 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 0000000000000000000000000000000000000000..4997a9c7f2acbe455de750405cec7b441bdf97c0 --- /dev/null +++ b/pkgs/applications/misc/almanah/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, pkgconfig, intltool +, libxml2, desktop-file-utils, wrapGAppsHook, evolution-data-server, gtkspell3, gpgme, libcryptui +, glib, gtk3, gtksourceview3, sqlite, cairo, atk, gcr, gnome3 }: + +stdenv.mkDerivation rec { + pname = "almanah"; + version = "0.11.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1g0fyykq8bs3x1xqc0l0bk9zazcrxja784m68myymv1zfqqnp9h0"; + }; + + nativeBuildInputs = [ pkgconfig intltool libxml2 desktop-file-utils wrapGAppsHook ]; + + buildInputs = [ glib gtk3 gtksourceview3 sqlite cairo atk gcr gtkspell3 evolution-data-server gnome3.evolution gpgme libcryptui ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + versionPolicy = "none"; # it is quite odd + }; + }; + + meta = with stdenv.lib; { + description = "Small GTK application to allow to keep a diary of your life"; + homepage = https://wiki.gnome.org/Apps/Almanah_Diary; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = gnome3.maintainers; + }; +} diff --git a/pkgs/applications/misc/aminal/default.nix b/pkgs/applications/misc/aminal/default.nix index 1c769e58705aa62cf6f8e2313077f62133b0e790..8c5aded5ed9ba494ab4ae4ca3fce4419919df548 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 37d140e19ba309c8337c9d0ee56915fea896b9a8..c680ffe967834ef6a9b16f4b30dc3a2774c32551 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 0000000000000000000000000000000000000000..0530ec9c1b80496f295ee5d3f532062b3cdf8552 --- /dev/null +++ b/pkgs/applications/misc/appeditor/default.nix @@ -0,0 +1,56 @@ +{ stdenv +, fetchFromGitHub +, meson +, ninja +, pkgconfig +, pantheon +, python3 +, gettext +, glib +, gtk3 +, hicolor-icon-theme +, libgee +, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "appeditor"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "donadigo"; + repo = "appeditor"; + rev = version; + sha256 = "04x2f4x4dp5ca2y3qllqjgirbyl6383pfl4bi9bkcqlg8b5081rg"; + }; + + nativeBuildInputs = [ + gettext + meson + ninja + pantheon.vala + pkgconfig + python3 + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + hicolor-icon-theme + pantheon.granite + libgee + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Edit the Pantheon desktop application menu"; + homepage = https://github.com/donadigo/appeditor; + maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers; + platforms = platforms.linux; + license = licenses.gpl3; + }; +} diff --git a/pkgs/applications/misc/apvlv/default.nix b/pkgs/applications/misc/apvlv/default.nix index 2da0de9ead8c3ef990851ae47792efa266fc343b..b5af1af91f36c5241d6ed3e4c66931a43ad49584 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 25fafb604c3358233b7fb58fca019d7d97ff6154..03f534e1a4daf53c8f3523e1371729dd80793077 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 4b14fd47711ba2b5d6a215a39099f01d9e8f7cd2..0000000000000000000000000000000000000000 --- 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 202c1669f85851d6d482027ee3ab76c68f889441..791e2d0f52e824f1b983b8b28f7042e80a1e0aca 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 912f18890b5fb248545029edc712e409a59f8a98..0e524ede0912e9e51162a4bffcca31efb76878af 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 878e62c68cbfe30091e3951c06be6fe7e053d1fd..622e7169faec66320f6916a40eef3d5819c0d94e 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 2f38307ca1e576f009039cc6dd0c0c6e19a81ef9..444a8da7036d47ef967292e1cd034118dcc406c4 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 1144d5152847374c3c0dde441211bace6bcaafaa..4227b4155acfedc273e812eba15d94b8e7e957ae 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 6151b3d55ab71eac84d89f2f0ccf7631c7813c68..e401a7c0b8e00a6e6152711e026101eda4be239e 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"; - buildInputs = [ cmake curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat ]; - propagatedBuildInputs = with qt5; [ qtbase ]; + src = fetchFromGitHub { + owner = "debauchee"; + repo = pname; + rev = "v${version}"; + sha256 = "1dakpgs4jcwg06f45xg6adc83jd2qnpywmjm1z7g0hzd2vd0qg4k"; + }; - 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 fc5fa4d030062251cbf6e4f1bed92c6102e699e8..b0af34ec7606bb99696cf6e75699f403c68efda4 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 283e7f199071f7a92069fa98d6df7cfb68dfe0e8..8b994c55de3f8c255646c88f6c82611eb84044c6 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 f085e4bd7dd52589d08c67cb303e59d2e494495e..06df1df9f769aae165283f95b0f05b1b9f8f7524 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 0000000000000000000000000000000000000000..89c32668be9ca86982204f9f7875afd474d1e6d1 --- /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 41184d6e9492014ebaf0fd1c01c2b2f9dbbf3f8b..a3f0a3b84f230c4a42b892003f73efdf4182a1f0 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 0000000000000000000000000000000000000000..22eb3e3d8594e13595b49d94f3e420f89f5edce2 --- /dev/null +++ b/pkgs/applications/misc/bicon/default.nix @@ -0,0 +1,36 @@ +{ stdenv + , fetchFromGitHub + , autoreconfHook + , pkg-config + , perl + , fribidi + , kbd + , xkbutils +}: + +stdenv.mkDerivation rec { + pname = "bicon"; + version = "unstable-2018-09-10"; + + src = fetchFromGitHub { + owner = "behdad"; + repo = pname; + rev = "38725c062a83ab19c4e4b4bc20eb9535561aa76c"; + sha256 = "0hdslrci8pq300f3rrjsvl5psfrxdwyxf9g2m5g789sr049dksnq"; + }; + + buildInputs = [ fribidi kbd xkbutils perl ]; + nativeBuildInputs = [ autoreconfHook pkg-config ]; + + preConfigure = '' + patchShebangs . + ''; + + meta = with stdenv.lib; { + description = "A bidirectional console"; + homepage = https://github.com/behdad/bicon; + license = [ licenses.lgpl21 licenses.psfl licenses.bsd0 ]; + maintainers = [ maintainers.linarcx ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/bitcoinarmory/default.nix b/pkgs/applications/misc/bitcoinarmory/default.nix index 3245a56e9de3b45c0881c1438822500eb477b8b0..090cb2f519e151a48340b4632429dd38ae00eee6 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 f0dce54675cd0fde09844a5472978aa8f4fd2652..3f13972de9bb39fc55358d1a00807ac5d181fcae 100644 --- a/pkgs/applications/misc/bleachbit/default.nix +++ b/pkgs/applications/misc/bleachbit/default.nix @@ -1,26 +1,26 @@ -{ stdenv, pythonPackages, fetchurl }: +{ stdenv, pythonPackages, fetchurl, gettext }: pythonPackages.buildPythonApplication rec { - name = "bleachbit-${version}"; - version = "2.0"; + pname = "bleachbit"; + version = "2.2"; - namePrefix = ""; + format = "other"; src = fetchurl { - url = "mirror://sourceforge/bleachbit/${name}.tar.bz2"; - sha256 = "0ps98zx4n13q92bq7ykqi6hj3i7brdqgm87i9gk6ibvljp1vxdz9"; + url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2"; + sha256 = "1yj9bc3k6s1aib7znb79h5rybfv691zz4szxkwf9fm9nr0dws603"; }; - buildInputs = [ pythonPackages.wrapPython ]; + nativeBuildInputs = [ gettext ]; - doCheck = false; + # Patch the many hardcoded uses of /usr/share/ and /usr/bin + postPatch = '' + find -type f -exec sed -i -e 's@/usr/share@${placeholder "out"}/share@g' {} \; + find -type f -exec sed -i -e 's@/usr/bin@${placeholder "out"}/bin@g' {} \; + ''; - postInstall = '' - mkdir -p $out/bin - cp bleachbit.py $out/bin/bleachbit - chmod +x $out/bin/bleachbit + dontBuild = true; - substituteInPlace $out/bin/bleachbit --replace "#!/usr/bin/env python" "#!${pythonPackages.python.interpreter}" - ''; + installFlags = [ "prefix=${placeholder "out"}" ]; propagatedBuildInputs = with pythonPackages; [ pygtk ]; diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index 353cf620ee7413fd3f3e58466ef6e206948609e8..3b98114c710705508cbd7c7ba9b33c225ea6526f 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 0000000000000000000000000000000000000000..1182450345005cd87b7bf856991e3affcb862bb6 --- /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 0a1275cb17a2421cee6bf91bc8228b8b5874fa1a..60ade661cffd1c1e1ae0449ea447c572786c13c8 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 fd65fcd22606607c7f80e1763997503a985af9c1..402198a97322d781beb9721908a99e05d0478585 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 b52156beac6d05050d0906891eda7dfee83c115d..b4c8bbb3f311102f52cee970060f1be05746187c 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 0000000000000000000000000000000000000000..77cabc409c74486e3195faf350e4286b2f9baf5f --- /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 9b2192708090047d654d930684ce1705c10c0852..40dbfea9801bc1826666c16d96b06e38c90cba46 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 f2aac4326cbf365a3700df02f718e0bcc3e77e39..dae6e404a9dd3112ccff3e61e9fd7895f389a973 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 f4ba30080f7152678453dff0a6f2b672d532dc93..44612644359cca7c32e779feedff2522076bd388 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"; }; + nativeBuildInputs = [ pkgconfig gettext ]; + + buildInputs = [ glib gtk3 libnotify ]; + patchPhase = '' sed -i -e 's/ -Wno-format//g' Makefile ''; - makeFlags = "PREFIX=$(out)"; - - nativeBuildInputs = [ pkgconfig gettext ]; - - buildInputs = [ glib gtk3 libnotify ]; + 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 a46565eb76ba75a1e0d24e5b14474f5054a6242e..20bfe727f6d3ebfe77b94c352a299232d2b39308 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 ee3e2a955d322bed5032e3a665d88f760f7ed8cd..04f32a67b84c72381ccdad41b068e24fb54c7c61 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 1a162aca0d76a5cecbace1d18e98d415bb567a76..357dd9bcb8a74b47e210ee468e8447001d9ccd89 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 78059191c2c374576aaad2fdfe934e43e41f14c3..856853e3b1cb8705ca43d6fd56fa43803a0025d4 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 7aecc8f823ee4153b40de5dff4018f1ae451775c..4986661e2f638f683d4328a749e626b1ac5dd4f0 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 0000000000000000000000000000000000000000..43ff1d73f78fd6cbc474c70db6a8a3f762bfffed --- /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 0000000000000000000000000000000000000000..829fd4e12231760b4cfa81845fb3a7c8461f8af8 --- /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 4477cbbcc06a9d6300eac131550b67046af76154..693ce84c97ac827631be7ffe9c9d14fdd6717c2c 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 7a47a0e3bc0bb90a37ce882d97627b06dca3ec98..7577c0a3db99f0f790f804103cd7e6952a7e9619 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 28f14cc1435f3284bbfe6c03d9d9c4957ea385ef..9a008a886facd92db01d795197a13ba09a443b50 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 23d76afff0cef82ed2e200443fd62c962eef7b8e..c29d8684c9029a88ecc41df6886578f6ea66af9b 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 3ba1d12a8048b4389c7e3a37b1fc27cf536d964f..0000000000000000000000000000000000000000 --- 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 3851730c4596d0302d150f2312c2a25c09c766d5..b07e0fb8c5208cef4ebfedc0bc2a26da56a5fde8 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 f2372aa51e68b1c31d98537fedf62d63e5577e84..c9dcc97d5cd14642c47bff807ff808b53833051f 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 5609b6a8bebe213828ebfaf496da4a8f283e3ad0..2aad4d352c97eaec0e9a9bdd3efbbfc274fbe072 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 4d99751924619d14927d357134e98104abd8c8b9..0e9ff40cffa41907afa069aae04862646e5a079f 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 0000000000000000000000000000000000000000..2d612c16fef3afba72572176c6924292af112632 --- /dev/null +++ b/pkgs/applications/misc/crumbs/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "crumbs"; + version = "0.0.3"; + + src = fetchFromGitHub + { owner = "fasseg"; + repo = "crumbs"; + rev = version; + sha256 = "0jjvydn4i4n9xv8vsal2jxpa95mk2lw6myv0gx9wih242k9vy0l7"; + }; + + prePatch = '' + sed -i 's|gfind|find|' crumbs-completion.fish + ''; + + postInstall = '' + mkdir -p $out/share/bash-completion/completions + mkdir -p $out/share/fish/vendor_completions.d + + cp crumbs-completion.bash $out/share/bash-completion/completions/crumbs + cp crumbs-completion.fish $out/share/fish/vendor_completions.d/crumbs.fish + ''; + + meta = with stdenv.lib; + { description = "Bookmarks for the command line"; + homepage = https://github.com/fasseg/crumbs; + license = licenses.wtfpl; + platforms = platforms.all; + maintainers = with maintainers; [ thesola10 ]; + }; +} diff --git a/pkgs/applications/misc/ctodo/default.nix b/pkgs/applications/misc/ctodo/default.nix index f8927319a0110515d40b5a3922248cd28f75e34a..72918a40733ba74b61c3c4f85e18ee093ab751c9 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 0000000000000000000000000000000000000000..2675a5f4fc5d233c5cbc045e2fc1e0f0d5fdaa80 --- /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 f7907746d107285b74fcc4ac199aa5ac2de93671..084881f75d977c595c54acf33e0a8dadfab64ba6 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 f3f1972f6e6ec49b17ad95ab08a5379069b2d826..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..90f5f307d85372552aa727ecdc64a3bf35a3fa25 --- /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 0000000000000000000000000000000000000000..2d32d1895f9b6e9d17c3e26e50c103bd5fa278f0 --- /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 0000000000000000000000000000000000000000..589111df78b819776ac5df790f4de51f25d000aa --- /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 0000000000000000000000000000000000000000..7a1781f62ce70616e4d992aa073336f86b1ad598 --- /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 0000000000000000000000000000000000000000..2c666a98c8f746d7841a8110e77b026f37dc94ba --- /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 0000000000000000000000000000000000000000..43869a0edc62a22344369053198c138f2e49f4e0 --- /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 0000000000000000000000000000000000000000..bdbf8f24136e5b74f370c65ca6ab8a5185e3fecd --- /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 a53b001b0e98c873b4bbcbac7714acf5788cd0d7..1972042f805e61437b085b61f7d9eb79b9bb94b8 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 1ea106d6a18b42a62d22780fd73d646e28e9f882..a367efaaef383fa2c697babaf74172b72c2ee4e4 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 0286e38a0edf57fbc4dbe5d648ad19305bf2dcdf..20c802a1cbdf8216a32e3cb90fcd65c4d5d4a767 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 fd08ed9c391662f1d07c9657ec2cf3903322b725..8cfadd77ece94a4d91d07ea75410ae1d4b9c2818 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 1d3c405b7038e953088437ac8a53130ed50ffb37..5150f13fb80ce8a528fa1e569d0eb7434014e09f 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 b5ae9fb567ca273e0ad59199a9975d6f90c78a93..226bdea03013cd6e9176af67193cd114897466da 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 b28e76739929bfaaa0c65124e49d22823ea933a6..7da2ae421d7a389e465ced4f59c8eea324e96a8f 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 255396a7950230a5f6ce3e165f2a2cabcaf80e0a..ae83802a7b4433a0938915a73e06edc8a231adda 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 fff67b0add62808426fcffcb149258b96d9f32e4..9607f428ab9ee25bfbe973fb0dd3be9e12c77559 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" - 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 + substituteInPlace setup.py \ + --replace "(share_dir" "(\"share\"" ''; - doCheck = false; + checkInputs = with python3Packages; [ + pytest + ]; - 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 + checkPhase = '' + unset HOME + pytest lib/tests + ''; + postInstall = '' 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 5f252d97d86789db93b318d3b4ee257042996f62..8940c8dfd221cf1d7db4ccfd2f8481d0c28c706a 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 45c448804626d9697129221e60dbb48f5a69ec69..a5e4bd74a6eb8d674414e6be5294eef204c525d5 100644 --- a/pkgs/applications/misc/electrum/ltc.nix +++ b/pkgs/applications/misc/electrum/ltc.nix @@ -4,7 +4,7 @@ }: python3Packages.buildPythonApplication rec { - name = "electrum-ltc-${version}"; + pname = "electrum-ltc"; version = "3.1.3.1"; src = fetchurl { @@ -12,6 +12,8 @@ python3Packages.buildPythonApplication rec { sha256 = "0kxcx1xf6h9z8x0k483d6ykpnmfr30n6z3r6lgqxvbl42pq75li7"; }; + nativeBuildInputs = with python3Packages; [ pyqt5 ]; + propagatedBuildInputs = with python3Packages; [ pyaes ecdsa diff --git a/pkgs/applications/misc/electrum/update.nix b/pkgs/applications/misc/electrum/update.nix new file mode 100644 index 0000000000000000000000000000000000000000..247fabe3891f1e142f56af3f69f603d998f0a641 --- /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 42d5d83f7bdbdc09300ae5fb195fae1417598598..6a5f4c9ce0344858caedf16c10b8e88183eec100 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 e6c66cba1e061d1d7beece54aa028f1a81151154..6cd77318754c0fd8e7ab7b05861c3b80f46171bc 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 4a0a4e38a61be179a16c2819ffa56a010d34a08d..e9a177ee19374b3956c4600a3177dd097a0347f0 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 bb105805ca8e869ce346bff3ed8519da9005e0db..f9bdf94db179e89565a223aff03ac1135be2befc 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 0fccf83acf76d1a226f82d972b59dadd268431da..961efe4b057665e7d277394d0d23906a12ee8d87 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 4b5c17d8e51bcba5d92f8325d8e6b1018a73f02e..12eb8839b8a86a0f2af94d28dba141f52ad824cb 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 4143f6fde55937c8f9411bc41b9a5b210a4c8746..9954ff660adcd26c3a218970c5cb93ec09bf712e 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 5131e0739e73b287ed034af5b55e4f2cba719ce7..d06970e8d07cba781de346898f42636b494888c6 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 7b23fca2121e8e317f356e591c0233834dafc840..c1c2a44bd7f29a46980d248d9e2410af6ea73096 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 6bd19ae60440ec68de4840795eaa4dadc1f0c59f..0000000000000000000000000000000000000000 --- 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 0911fbace44974f2172239ca194b6176ef47c178..9d244ca18f323e226996e366f7e40587366ccba5 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 e691c79d85c007a7be8c1381e01210575dc8d30d..5bcaccb43bcf4062773f01ba8e2f2c50770f6b79 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 + ]; + + buildInputs = [ + exiv2 + gtk3 + libxml2 ]; - patchPhase = '' - sed -i "Makefile" \ - -es",^[[:blank:]]*prefix[[:blank:]]*=.*$,prefix = $out,g" - ''; + 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 4f0c1864677c9847d5f1d54c2382fc84d9cb97e8..9c0dc48d42eecaa40fa7bc1ad263d9071a02a076 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 f7cfee3e6516241f1030b61e8c3fef43be6c6a87..04ab062c1a1b1c091e2968954466ff74ce3f7402 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 9fef9381949239adf6336ddce92bc15b3bd9580a..a341a212a37f6b4bab34abea8587fdf5807a3d10 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 5ef64b2b801c2bf14b73bd2cd69322c838150921..6e9296da267b40c4da0606ac1d2663ccfa60b1a1 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 db18ff73412cbbc32f9270cadeb5e332434ffb0d..84be50ccb5e506c4867d2a9f2e3a695c7e4009da 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 00421a2e03341a9e70cd74f94f9c8a21ea44bf2f..308f084bd5864c236491b9eadb28e8b8c78ea886 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 a35079e915177d807b745c3ea90345f38951836c..87e636b9c030fc9bc1ed2e02889a9e99473769aa 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 0000000000000000000000000000000000000000..3e1bb31091f81e18c275a14567a8d2e4ad43e888 --- /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 0000000000000000000000000000000000000000..b84053b94adc13e521aa82ac63ac15f4b370ca0a --- /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 7f3b3a8d6dc547c92418be09a00ec7c8aff49bb2..ea78331e47640dfee6f814ae33c7151ffc4c6795 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 cf409b4c185fc9b24e0923e39cf4646033f450c1..204624f243900f29f1b4a0f1ccd840cd37926d57 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 0541468345e9232790c83b7bb7df0feeb839326c..37352915cb847e0a7105a4ad8ef12dc7ce66703a 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 6c84f3cbd326522de46bccf8b81d64da4f54bf12..f0026cac52e0e128c2a395770815e264176e3a74 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 8401386ead4914297e94658727679c41d4de7441..a7313e7c969b37738bbc4c0fcee2468f7d71cada 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 453d95694eb056273584763cfb81ae240f38dee6..9360e220ab6a721448aea41e3b579899176e42a3 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 e09e65738e5dc2b36ee018e619511f8f652bba3c..7353078600d1af5746fd473a87fc8fda64eb4fdb 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 e2f5f653d47ceb3874cee1e70400d39bd591a2d2..989dfb886ec340e3ab3f09fab3f212363b450171 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 c055bddec694d7518d9fb72f9add11e157a5c8b3..a2d2e8ad735c2d7108c8347ba3b04b12e6d5fe34 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 c0a39d2d91d387fb6bfe159fa24f24d66142ef95..8bae8ce373c7868f2038a52d779c6a2ee10a5a7c 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 0431f35057bed9c4ad502cf7565116789cb3df82..84f5bad24d2136209f0d8c5c6ba33e8e3b5932ab 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 500f1df36a0c51d0762fbde547195121c0e8bce4..88c87eaca87126370eefbfb95b8d226488ab9eb5 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 6b0926db047630b1c2d589ee1eaefc4e98190447..437c42b03317db6c0e91abfd35cd88c6a3fcd206 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 026cf9ecc14a05aca630a0e2a72388bf1aee33f5..0d25d3d686c9908f34db769d0fa7223895ada2ca 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 2b6e58a6ab366a0a6e27c99ab131d6ec3ead1c7c..b2997ece5d566083e13d1a4c305e236d4bd8ab25 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 0000000000000000000000000000000000000000..3170a63379cf0e039e40e7e6de411e8048eb1b7f --- /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 0000000000000000000000000000000000000000..c4c1caf55db4d368578631cf2dba49c5040199d7 --- /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 22badfc8cdd1d089b0e378381033b74dce1b8820..034b9c79201abfc93713d50f0592e98fab591362 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 d5c24d69048a48918b97c69fe5c52cd8a22787ca..0000000000000000000000000000000000000000 --- 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 04c3e0320f6595737344c70d4b68263730a934de..f21675e60b2d8676e24a87f7406d403e64b3a97f 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 c0c1faef09d24da853fc1f0efbeed7a58260d4d4..c197e1a8fd3801f5790225da857413aa69a6b893 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 d9bccee889abe7c428da85a7bc258ddb3b3b3ffb..7daa2704e22b6f09a67131e3df9da371d0805468 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 b5fa9143ddbb9cea5ba94e544998cfbc96dcd542..64e0f0d325b5f3c20fdec93e58db350f891fe9a0 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 fa2ac38d383b802945a6f3af67da5c9263fcaad2..d63576d5cbd0f5e35cef3bf3546d1890c45f9890 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 f24951624c5894248446816d634e1dd6e0ba4863..c20fa4ed9d9b0b0a29af3f243b83e7a446afd1d0 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 2c46ea3ac9a6e742401170b2d94730a675e88e99..c8951059d4c84f2ec217be0d20fb140d2abcff7d 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 2d3446a8113467571db6239544ad31368c12c5ac..c4ba46e2ac6a6c7729a5de5fa845c1d3d54193c1 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 6841bc14c384afa14045bd648bf1ecdf0567c71b..54c703bb859204c2871f7bdc47950ef5f458bb33 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 d680f9255905b3b6bc922f7b33650af4395454fc..41e599c02020c67f3e8419cb0cf7f6d06e539af9 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 ce3c318f678053bb1bab729ea383e569de594cfc..9ae9ab254e80ab72487a844a4d461cd08c0b8d32 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 aba5e06e376944a6a4dbfbc2d7a6be0c38221302..8e7499bad61a3e799a476864f19989e860378d0f 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 5fe2d1085001891271a724c7a63871f31ffc57d1..6410b885ea47f465d85e25e91f9c9b0541b37bae 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 4e33cd6ccdcf37c2d31da787439821d765ffd5fe..80d67022e7af6c5fa1f4ef724510ca2cf2d9c281 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 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688"; + type = "gem"; + }; + 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 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq"; + sha256 = "03vpfpmxcdbqyh6kxrjf5xa9qgvwqj0cfv2khz5h32fp5f5dmrda"; type = "gem"; }; - version = "1.17.0"; + 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"; - type = "gem"; - }; - version = "3.0.3"; - }; - "pygments.rb" = { - dependencies = ["multi_json"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0lbvnwvz770ambm4d6lxgc2097rydn5rcc5d6986bnkzyxfqqjnv"; + sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm"; 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"; - type = "gem"; - }; - version = "0.9.10"; - }; - rdiscount = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1arvk3k06prxasq1djbj065ixar4zl171340g7wr1ww4gj9makx3"; + sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4"; 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"; + version = "2.1.0"; }; - sass-listen = { - dependencies = ["rb-fsevent" "rb-inotify"]; + sawyer = { + dependencies = ["addressable" "faraday"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df"; + sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz"; type = "gem"; }; - version = "4.0.0"; + version = "0.8.2"; }; - sawyer = { - dependencies = ["addressable" "faraday"]; + terminal-table = { + dependencies = ["unicode-display_width"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0sv1463r7bqzvx4drqdmd36m7rrv6sf1v3c6vswpnq3k6vdw2dvd"; + sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk"; type = "gem"; }; - version = "0.8.1"; + 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"; }; + unicode-display_width = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w"; + type = "gem"; + }; + 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 = "1rn4kc9fha990yd252wglh6rcyh35cavm1vpyfj8krlcwph09g30"; + sha256 = "16v0w5749qjp13xhjgr2gcsvjv6mf35br7iqwycix1n2h7kfcckf"; type = "gem"; }; - version = "1.3.1"; + 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 b868808ec3dce99c2b08f9a8a71419a7955b450c..879f344a5afb344dedbcfd45e13cd3ba3a07110d 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 0000000000000000000000000000000000000000..410b04d5dcbdece1854ff3acfb7db431b55e7e8d --- /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 7304ad7141a972d02c1ae08f1ad6f968ef791071..56b28dbc8db9bdc699da18e00c75bdc1a52fdb16 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 138ee397d3fd979c2f6f8e1b01389ea8e3e048cb..2a9e162e7ea9f80d477b21b806f370549c302977 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 0049e9aca755092db405c69fc43f7b01ee81cc9b..9391fe88c5eaaee8d3da23ef4eb043e676101d16 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 0000000000000000000000000000000000000000..f1b4170fbaae9368fe26fb45f2f80a1c2e2b0c84 --- /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 7995c8875b829e565fb5757ccdb712b20e5ce64f..0a42d5e4f289c3312ab09ddbd4938aa908833578 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 b518481e29addcb1a02b60a096babb6ae4b0df14..2af091b0df38768d6ba6e53b1c899fac41581beb 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 d15926ba6fb70a8f15629bbb1ae3478f3a09e54d..ed3c86722699718ef5bbacc4303bdf85761acf3a 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 80bf5deceb160d1a2bc1b8e543dd5652d4150987..c3d2607744352537c1e5d29c37ee699828cfc55e 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 e64632d529b1b65b13f5727ba16d8288b865afbe..76ea9df78c25e429cf0244130828a216bd2557b1 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 b45cb24b1b51956b5450f47bee2605b1fde1af5a..562835159eb3865b8020b1516590d710eabb8a3e 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 f6814119b5a71598bb58a0ebef6447899d52317b..36734a97516b9c1f302d1cd4ce4aa6ded8d8c113 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 b6258491a8c32b19439a60da8e9e0c09be130d27..b1c849b6bcee4337f76d4b7e36fbd5de719e3d3e 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 1edf0a573a31675ae04fcd0aa6f85de73500afa0..6232d1118a7b96c33600b1028dcd48c7616c741f 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 89ceca8a4f10558111ca1f7bd6a9b614fcf45285..7adbcb86c501aab6b6756b3b47d3fbc9d41f0dbc 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 b4d312c8c263f04cac0701e85aec2a0bf930ff80..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/keepassx/qt511.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/gui/entry/EditEntryWidget.cpp b/src/gui/entry/EditEntryWidget.cpp -index 6fd65c1a..e99275b0 100644 ---- a/src/gui/entry/EditEntryWidget.cpp -+++ b/src/gui/entry/EditEntryWidget.cpp -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -2.17.1 - diff --git a/pkgs/applications/misc/khal/default.nix b/pkgs/applications/misc/khal/default.nix index bc2c8978a67e383ba52b11b6ba65c5240e6c9fba..6aa94b2fecb8153b53206e9e322bef7a145904e1 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 d6e05056e1c1b82c72629039184689c40cc4101a..99b9c38d53f87c8cb2a60327cac1ec33e4c2e9b6 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 845de8b0388a23be5c88b880ce9fc84b35e7f13e..3b7e9e9d139d72d826c17e2838442fa07a03b8b9 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 d6e52adc445295d6d8243fcf799a702af120addc..70460581307176c2319649e096d539393e6b1808 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 0000000000000000000000000000000000000000..44d231cb07f9430fe5202ff645c9d37f6f70dcc1 --- /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 0000000000000000000000000000000000000000..8217b5ef51a602d1e198cb40643727aa457bb9a6 --- /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 0000000000000000000000000000000000000000..68566e2a899fd96f33f362341c8a1893014e31d6 --- /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 9ea8210e67e715b0156072e87d58acab5207f77d..89778f670ff3f17b319a2689efe14f2e65b3b305 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 0000000000000000000000000000000000000000..79f0b8dc6df2b1f7839ddeb234d9628433df5efc --- /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 52233ad2f2f46570057ee9cf88d600b6bb18b431..8b6b7741c7df9ade09dbe7aa4453e2f83f421224 100644 --- a/pkgs/applications/misc/krename/default.nix +++ b/pkgs/applications/misc/krename/default.nix @@ -17,15 +17,17 @@ in mkDerivation rec { sha256 = "136j1dkqrhv458rjh5v3vzjhvq6dhz7k79zk6mmx8zvqacc7cq8a"; }; + buildInputs = [ taglib exiv2 podofo ]; + + nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ]; + + propagatedBuildInputs = [ kconfig kcrash kinit kjsembed ]; + meta = with lib; { - homepage = http://www.krename.net; description = "A powerful batch renamer for KDE"; + homepage = https://kde.org/applications/utilities/krename/; license = licenses.gpl2; - inherit (kconfig.meta) platforms; maintainers = with maintainers; [ peterhoeg ]; + inherit (kconfig.meta) platforms; }; - - buildInputs = [ taglib exiv2 podofo ]; - nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ]; - propagatedBuildInputs = [ kconfig kcrash kinit kjsembed ]; } diff --git a/pkgs/applications/misc/krusader/default.nix b/pkgs/applications/misc/krusader/default.nix index 70915ca870737d2ed8ac881e45500c948040ddbe..cf81d572c61120a68ed184652b1d4a0fbda1c45d 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 33a2cf932095287afe232abace43a3541cf31aee..81cba3f56378da1e9d63c8ca011eaa73111c5a3a 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 ec571c0284b6e8cb8fc83f0288b17bb95d57b9ea..0bd919944185b4d397c498e97d91bcba7747a87a 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 9018a5926424d929b5db7e9fc1c48632b3c49e1a..76abe7c9b4b34245bc6ea0996cadc449fc1c3150 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 4b3654f9a97b293519a7c1a0dc834d8b35bb0a0e..846ce30984250269cd9beb73495b2aeab8193fda 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 ca9a90777e33a6b8accec620366ba0c8c5ebb7c6..09089a072b3c1a03c41f98fd41fdba621205369d 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 0000000000000000000000000000000000000000..7207dea9d522ee147026f70ec1e12120274ab0e7 --- /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 948ae7b14a118e2c4b0b164011fb4e65a6a0da42..38078d11931b336394cae91f503c36bf66d600d1 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 ed3aca996e1504b51ec26d2add4bacb18851bd20..c66ef21416be256c4b0bf4b1d84e25cb7f0c8d88 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 4972aa28e5892eb7b5eb7912612ddd055b8726b5..42905fa3cb41d92e3808eb5dcf2ef0d00a8d7eab 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 0000000000000000000000000000000000000000..ab40dfc8131b81045ea42f30a3c9ccf186e2c16e --- /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 0000000000000000000000000000000000000000..5435080e8318c7b1685bcd002ab9cb3c51b8c494 --- /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 4fd86a5a4f5207e079f0f30cfbcfc006c1f4a2c0..8ce353e85b91d4a8bb162cda44de10e6debcb01f 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 ad3bd499cde9c6e13f67f4a2a8ff1a355f5005cd..744d124f84d58452a3fae8d12d1a9c9aadaf8e4f 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 f2dacb7890f051c7f9e14b6abd470217b112283e..9a134343d296b922753914893f8b9ce2c0540568 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 a6af1762e289a7f0acb81c5bb271e89849705030..f2585f7814656cf9759bb19d34850a3bacd79e73 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 3d8ed3627f2a24e5fae67c3c039af443cad77c2d..ffb938f30a576767471cfbcba11e3c3a78d8df18 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 2928d271efcfdad0f5ca8eb70b2bb396f09e174b..1474ea2fc4f25fdf4b3dc2bb880a547f4c2303bf 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 cd7bdd1fe7e21bb3795e84586b342f1506622577..03f30d64fb2decd04fe7f2c47f33c974dfee81e4 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 904fb95ca6c64e39dcd61b9542730ddb229a7a83..9eb4a0897d4fc061e7505f7dfd40d5abc0e276b5 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 a3320a16ee91b191854951a304c5f561686c3c40..98d5ef72b224718f46471e40274c77674d95ef42 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 0000000000000000000000000000000000000000..bc753c5a7a9acee1704f399df719fc652f8b49eb --- /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 0000000000000000000000000000000000000000..7d8748528e7fa8ee405a9ffe302224156e602be7 --- /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 0000000000000000000000000000000000000000..bbf100737bc454b7cd5d84bf762048e1c2ec0109 --- /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 c112cf0c928f0f910ca873ae305a0cff2eafaa5a..ed0bbc4cb4883375369e31192e57a12b40f055ba 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 56854e7863fece39f101e6d74c131eeab78d125a..e06f2a88ade4c4021562a82b7abd6820913848b6 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 70a6efb90ddc21eaeea9f2d345e774c634bf8b28..3023a5b5930ca6046d460b09f77bf510d8e95433 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 602d4a032efda266c789808040add8e8480621dd..318c7c2524271705407524f5adade6e9c99debf9 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 09c4d1db2904f3353007086975b560daa31c32ea..6c1dcd5e150584f60aec6405383abf36658dbf2d 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 6aa7eea3d7e9105e1d44cebc006d9edfd1a44859..95ceaddb4f03e75083500c7fc55e687ed4105a57 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 d11e889e932c8912e82be4c7418a795c7522c2c7..fdd1238d87002a9807154342f884a7438f5d6873 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 0000000000000000000000000000000000000000..6ec40786b24965714cc32c9ea40d665beb965528 --- /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 0000000000000000000000000000000000000000..debcea78f555d19b37a0aaf1cd2a2693bda8c751 --- /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 c872af68cef7eb5241da5d5b4a98f6c74aa4b3ee..d3e7f9e8cd46716dae6abc2dc02e3ddadfa8642c 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 0000000000000000000000000000000000000000..0f4e72502bbafea91a23d82420930ff1f1f499ad --- /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 76c2ba69d35b481b7b0a267a31f5b6a0a462a157..08f510a2840e25fca4dde4d622cc6bdf1f10e6bb 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 b9179bbe5463e07836cf0fa4b6dbd3783a28e1f1..c0d41cda02dd49e14fb05b3a07ac4854aaf4e809 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 eea166d8df7596f7a2b69fb918e4e98222fb726b..0e8cc2ebcea982e8f8e1864db5631d472039a346 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 88a7b94897dc20b71dc0128486f59f472649d5a7..a2678d6067f954560990e62a4651e2a56894dfb0 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 21a5ab0cd0f6c35d094488e6944d3a9b6cd1eb79..4104d35cf10c3bbf220aaf4b8c3e4764df6d082f 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 1b800f654340ad5874e089833d29f0f1211b3045..c1ba5ba23b1e47dec84620fd67bbc2f59e19a42f 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 882bb75219d6a96d75d3a4bb2b3eb8d6ee200c9e..36d5a70735a78fd11133cbd3fd27dbc19954c19b 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 e97452249bcf14e2f05462a7b7a668c96c03e52d..55538925abd78e8e0e03b8edff33aa0e14b50c3e 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 50a6dadadb5c5476babfd87cd00b8589ec3f72fa..de92219e7f979f07c95ced1d6450b01c0060c0a2 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 71519687151270ed901f9598c6380a5c86eac590..03ee66fc5987678caa533ef300e87219ae13d7a0 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 7e99f8f5b86a9614f6ce33d7e99fa4864554f3e7..b0fb18c89b1ab87fbb6ae8335d388c78933f7f33 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 24235f43a11474c9d4e8c05724606aba17d311cf..29b0a7867db2db526304e019b0132d2133a1e11c 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 836bfd5f3e0a76ff3e37c30d7c8b9ec820d52c02..4de882243fe24cb19a8f5970caeda21da0cdb8fb 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 0000000000000000000000000000000000000000..497630c9aa65d76335e393d1cb3dee0fc4d29005 --- /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 0000000000000000000000000000000000000000..f0abbdc049a9bd96b20e3c0dcb8cfa52f43a560b --- /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 1e8dbe271370b060874216d7cab2b347ca489568..3eaa882cb73d0869b1cf84307e7778ea3d02222d 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 ed9433b9f570e83ca735864dcbaa44ff25415c4b..ea9d7c9ea855520b028e54980729ee3755395a97 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 0000000000000000000000000000000000000000..9a4f922c2b6e6f0d2a042fcc769af83714c89a53 --- /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 a905f3a12a8febd7db3c493e6213352e33a0cc22..2144ccd3303754bc894fcf5fea5558fa5f9e56b9 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 509cbeb4503f6fb76981124e1a73c0209aa74df6..a234af740f3c4a66277f22bad9b7cb23eb8340c3 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 971e16848ae7f4e5aae5b56f80b13790f1d7663b..88ac4f0c3eb9a3b5ecf1785941b63c0defce3a5d 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 7e5a3a7840d7abca89809ba49af28ff8f0db1a43..31afed3061a36dd812eb890837944a0943c59c58 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 145abfba5d5c11b4a28653d7f0e7925066e5a821..dec8b4ba0a7c3c4f3d65060c8cfdc91786c36ef8 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 9eb5382cde9f4e8e4c4a4ea0763ac513d15f6744..c38a27d55e63050c3ba1f6934a8ba3b5bc8d05a2 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 bcf2edd8f2f6ad6a1c06be1436f43205e42d6656..db8139122bab2b26516994f3ce7df80c634557ab 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 0000000000000000000000000000000000000000..055728ee046cb1855f35fcc804dd8305140385b2 --- /dev/null +++ b/pkgs/applications/misc/notable/default.nix @@ -0,0 +1,30 @@ +{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }: + +let + pname = "notable"; + version = "1.4.0"; +in +appimageTools.wrapType2 rec { + name = "${pname}-${version}"; + src = fetchurl { + url = "https://github.com/notable/notable/releases/download/v${version}/Notable.${version}.AppImage"; + sha256 = "0ldmxnhqcphr92rb7imgb1dfx7bb3p515nrdds8jn4b8x6jgmnjr"; + }; + + profile = '' + export LC_ALL=C.UTF-8 + export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS + ''; + + multiPkgs = null; # no 32bit needed + extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs; + extraInstallCommands = "mv $out/bin/{${name},${pname}}"; + + meta = with lib; { + description = "The markdown-based note-taking app that doesn't suck"; + homepage = https://github.com/notable/notable; + license = licenses.agpl3; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/applications/misc/notejot/default.nix b/pkgs/applications/misc/notejot/default.nix index a79c63db163375ef482a32a802c12ff1c4916709..b359088d6ba19478fdf057f4d70a29d452b8a17f 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 828c39d5ed87572a545c9b40bd77a03746355eca..4568c3e8acc189f6d659ebe093191cd4366e4442 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 f602ce9db66ad16f79b00be3f02a8e9c3c02b534..484ff62e9e685c26d91b055b1098ee304fb9e7ed 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 69f74d66dd019ce3b2ef0e4471976b9fb14d3284..3ad83776842186a65e935abb141ad4f320670429 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 40432c18aa38747355e3f5fb43d4be7cdf5f64c9..a604349afb01032275dd870e21306c58bfe38251 100644 --- a/pkgs/applications/misc/ocropus/default.nix +++ b/pkgs/applications/misc/ocropus/default.nix @@ -18,12 +18,12 @@ let in pythonPackages.buildPythonApplication rec { - name = "ocropus-${version}"; - version = "20170811"; + pname = "ocropus"; + version = "1.3.3"; src = fetchFromGitHub { - sha256 = "0qx0d8yj0w66qglkrmfavp5dh1sky72njfaqii7bnrpv5n4j3q39"; - rev = "ae84a8edaf0b76135f749ba66fc30c272d0726d0"; + sha256 = "02p1334mic5cfhvpfphfrbim4036yfd8s2zzpwm0xmm829z71nr7"; + rev = "v${version}"; repo = "ocropy"; owner = "tmbdev"; }; diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix index 9622689199a825b045df4ed2130a542ff8fd8af8..c0bacc2c50d2dc8676091b8c9e3ab00102fe6fd1 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 327a59618c2bc4e3b470f2e4414955f5dea3366e..d8179e1b402a3d3d45f612944e9057097ff38bc8 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 e16d9354bb43c8d4c8739c76db3d9995a7ff8e72..b9529981c7ca35b5b143a5df5233c88ec3caa9d0 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 660b5db610581efdcf34eca1ea6f20f2f8b1c80f..411b318a3925cf38d3414a3d761c4b79c5ad2dc7 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 dbd79ba3e1b3ce3563e1cffeb6ed19f25d99ac9e..79e3317e64daa031206d8150d43a48e108c09998 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,76 +29,89 @@ }: 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; - checkInputs = [ - # for Onboard.SpellChecker.aspell_cmd doctests - (aspellWithDicts (dicts: with dicts; [ en ])) - - # for Onboard.SpellChecker.hunspell_cmd doctests - customHunspell - - # for Onboard.SpellChecker.hunspell doctests - hunspellDicts.en-us - hunspellDicts.es-es - hunspellDicts.it-it - - 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 + nativeBuildInputs = [ + gobject-introspection + intltool + pkgconfig + wrapGAppsHook ]; buildInputs = [ bash + glib gnome3.dconf gsettings-desktop-schemas gtk3 hunspell isocodes libcanberra-gtk3 - udev libxkbcommon - wrapGAppsHook + mousetweaks + udev xorg.libXtst xorg.libxkbfile ] ++ stdenv.lib.optional atspiSupport at-spi2-core; - nativeBuildInputs = [ - glibcLocales - gobject-introspection # populate GI_TYPELIB_PATH - intltool - pkgconfig + 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 ])) + + # for Onboard.SpellChecker.hunspell_cmd doctests + customHunspell + + # for Onboard.SpellChecker.hunspell doctests + hunspellDicts.en-us + hunspellDicts.es-es + hunspellDicts.it-it + + python3.pkgs.nose + ]; + + # Temporary fix, see https://github.com/NixOS/nixpkgs/issues/56943 + strictDeps = false; + + doCheck = false; + preBuild = '' # Unnecessary file, has been removed upstream # https://github.com/NixOS/nixpkgs/pull/24986#issuecomment-296114062 @@ -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 0000000000000000000000000000000000000000..64acc9b138c438f2ad473f553dbfaed5790cf189 --- /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 b87f11d7b05dad8ed9205649ad9eacd2670f10da..3a0a548be0b9405c9ec6d9d79cf7d4232a82d5fd 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 8ff9a2f44d55a018f77f1cf53c837638902f3836..8f7f74f712321cee6918d595ff97141d49aef2ce 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 120d3a82b5e94ba80f9a4d94680a96076c95b139..5c7e7355c662b8fdd92c543f8781726e309922a9 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 09ec3433862874e01841d30346788cee34ac0532..c98defee57a09da5dfca41c8d9be917d75f9b106 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 cd9a86e7fac72f759d41b2e65200666f617fd00b..585c85cbd2c51e537b17328374d60ef6c22cea06 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 e8843c1bd6f791b137a4b46b2a52f6978a90c5a4..332c696d8da2131d19bf257a00e878a14785de3b 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 bc6aa242f33807837285854c3ace45cf8a676a9c..e404da974c46f4f61a2cd8f311fcb4b0a31eb831 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 5787adef2a3e8d5d50c17a313f9cb01a7c740ef6..8ffc8ec69fecf711158949c13e1b444c4ea28596 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 bb53782fb7d217c92faf7a0ac291905f16fa19b2..4cbd7cb71190162a8170c0339fc52361b1e3f854 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 2b35cb7703896a942d929cbb2f3d4f7e6d3aef89..616949af8836d461dda8583d4e52947abf9afce1 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 d7f601b50cd892206c387beeef1e061621ba7dbc..918924df0b978fc1094fe327359b5b20fd405267 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 2649c7cbd6a904aa670bd890f5249d8f0dd848ff..633c1d82159af357e084e8778a1ed7d820b45506 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 7fdfbd84d2f68e2a303240839033ff264a18a1da..482ac7ad0667609d46ea97881a39e9a6e29615a7 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 f604684b19a12269cfcf9e4f776d8d3ccfdfcb08..bc6f5965e89b26818c04bd0f80e08fb5506fcbac 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 45d83b5872fa3e1923635b71472cd433f31aac5a..90107be64c728959583c12de5d7dc4c001b982c4 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 0e424a97d8ddba8a0620a59f71f261d0739a04d8..c0dca056476858c5753066c9ab594b29717e18c1 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 d55c7a2af12bbf20a7aca3d0d9a3fa22a2b31f88..fc4e5229c9c015716e5a3c7a9abde5e9217b95ba 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 7e7850668b846a942fa07ac7ded63a33cfd562f4..86e10ae0943ea8c2fba9b7955303f9477f9b0adf 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 113a63f7fe189e623d98ccff8471a90093f3cb74..241d5786468e2def49d9ff416505f28231e09de6 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 0cee74522ab291576fcb43b68879640d65db2b2e..e8ddec91e62a4725e5a81d80d2194a1a7cf10330 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 cc6b74dc9989d546ca310b705c28e4865d69137a..10c8a03fa0a28f7bfcb4abb77dbe8f7d2f4c4110 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 + autoreconfHook + gettext + gnome3.gnome-common libxml2 # xmllint + pkgconfig + vala wrapGAppsHook - gobject-introspection - autoreconfHook ]; - 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 6c23d160f47c17b8875ac97fa2304b3d92837f2c..3ecace18f9246db5adeb28ed951c64e67bc9c8d7 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 c31d442d2d67d5ae78088cde24aa3e44fabc9b5c..48188574ad4be7e6d003e5d156ea548510cc1e36 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 b9323ece1f44b060e14a8bbff73ec20176d771b0..8021ffdc8f513a853cb39d7337ff51f25ae29353 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 4b39e9291a8a73e910198bac940200c6e7b150b7..16c49d5f946c6ed190e3580150c9e5fe13b95cc2 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 82468e1bf9f0cd5db28b9dddeeb2c1bf5febf404..8413f8c8f1023a23d573b625bd58cfe1e6007f4a 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 9e2beb5b07cf6fe36ba687157530ed84378db1d9..9ca8c696184cb5c38396366512c2486f15b59a32 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 5ba8e1b6e3134dc723ddd436a38d1e509adc1b42..344c3d7168ac5159538ebba08e27627c41523845 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 0000000000000000000000000000000000000000..e5d73672eb75d589943ba7fda7305e2885b3bca2 --- /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 3cd52af6d32185363302cc4ddf796a0f12fe22df..7aaa8a8c38d20b6f7074e92d867eaac87a0c9694 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 db023c59d7fded14c72dfbe3d9fbc559404c1840..501fae0ef0a249e9dca727859321f8c087ccb42f 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 dbda7664bde077a613fd3bb6ba841d3793ce8375..f5504721987a9851625aebe28cd507b6206e5c3d 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 cde3c386fb5cec88f3a9a98d3f06b679e7ce181f..f1f69c252142dae72a86cc89bafa337af1350078 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"; + type = "gem"; + }; + version = "1.2"; + }; + declarative = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0642xvwzzbgi3kp1bg467wma4g3xqrrn0sk369hjam7w579gnv5j"; + type = "gem"; }; + version = "0.0.10"; }; - "crack" = { - version = "0.4.3"; + declarative-option = { + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g4ibxq566f1frnhdymzi9hxxcm4g2gw4n21mpjk2mhwym4q6l0p"; type = "gem"; - sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; }; - dependencies = [ - "safe_yaml" - ]; + version = "0.1.0"; }; - "domain_name" = { - version = "0.5.25"; + descendants_tracker = { + dependencies = ["thread_safe"]; + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79"; type = "gem"; - sha256 = "16qvfrmcwlzz073aas55mpw2nhyhjcn96s524w0g1wlml242hjav"; }; - dependencies = [ - "unf" - ]; + version = "0.0.4"; }; - "highline" = { - version = "1.7.8"; + equalizer = { + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4"; type = "gem"; - sha256 = "1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr"; }; + version = "0.0.11"; }; - "hirb" = { - version = "0.7.3"; + 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"; + type = "gem"; }; + version = "0.7.3"; }; - "http-cookie" = { - version = "1.0.2"; + hirb-unicode = { + dependencies = ["hirb" "unicode-display_width"]; + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b7hka1p4mkjdy2wr2cxsivnsmnz31zz1bswznmmxnvf5a6c00jk"; type = "gem"; - sha256 = "0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw"; }; - dependencies = [ - "domain_name" - ]; + version = "0.0.5"; }; - "mime-types" = { - version = "2.99"; + ice_nine = { + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x"; type = "gem"; - sha256 = "1hravghdnk9qbibxb3ggzv7mysl97djh8n0rsswy3ssjaw7cbvf2"; }; + version = "0.11.2"; }; - "mini_portile2" = { - version = "2.0.0"; + multi_json = { + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; type = "gem"; - sha256 = "056drbn5m4khdxly1asmiik14nyllswr6sh3wallvsywwdiryz8l"; }; + version = "1.13.1"; }; - "netrc" = { - version = "0.11.0"; + multipart-post = { + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; type = "gem"; - sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y"; }; + version = "2.0.0"; }; - "nokogiri" = { - version = "1.6.7.1"; + pt = { + dependencies = ["colored" "highline" "hirb" "hirb-unicode" "thor" "tracker_api"]; + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ypyya7bk0w7zd9c3224zsizhv5wbs1icjpn0023wh3ii1by16a8"; type = "gem"; - sha256 = "12nwv3lad5k2k73aa1d1xy4x577c143ixks6rs70yp78sinbglk2"; }; - dependencies = [ - "mini_portile2" - ]; + version = "0.10.0"; }; - "nokogiri-happymapper" = { - version = "0.5.9"; + public_suffix = { + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; type = "gem"; - sha256 = "0xv5crnzxdbd0ykx1ikfg1h0yw0h70lk607x1g45acsb1da97mkq"; }; - dependencies = [ - "nokogiri" - ]; + version = "3.0.3"; }; - "pivotal-tracker" = { - version = "0.5.13"; + representable = { + dependencies = ["declarative" "declarative-option" "uber"]; + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qm9rgi1j5a6nv726ka4mmixivlxfsg91h8rpp72wwd4vqbkkm07"; type = "gem"; - sha256 = "0vxs69qb0k4g62250zbf5x78wpkhpj98clg2j09ncy3s8yklr0pd"; }; - dependencies = [ - "builder" - "crack" - "nokogiri" - "nokogiri-happymapper" - "rest-client" - ]; + version = "3.0.4"; }; - "pt" = { - version = "0.7.3"; + 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"; - sha256 = "0bf821yf0zq5bhs65wmx339bm771lcnd6dlsljj3dnisjj068dk8"; }; - dependencies = [ - "colored" - "highline" - "hirb" - "pivotal-tracker" - ]; + version = "0.3.6"; }; - "rest-client" = { - version = "1.8.0"; + 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"; - sha256 = "1m8z0c4yf6w47iqz6j2p7x1ip4qnnzvhdph9d5fgx081cvjly3p7"; }; - dependencies = [ - "http-cookie" - "mime-types" - "netrc" - ]; + version = "1.6.0"; }; - "safe_yaml" = { - version = "1.0.4"; + uber = { + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p1mm7mngg40x05z52md3mbamkng0zpajbzqjjwmsyw0zw3v9vjv"; type = "gem"; - sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; }; + version = "0.1.0"; }; - "unf" = { - version = "0.1.4"; + unicode-display_width = { + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "06dpm3yqc974qfy6nyx7b0w0f6b8k08jadd5l9xnmla3fji6c405"; type = "gem"; - sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; }; - dependencies = [ - "unf_ext" - ]; + version = "0.1.1"; }; - "unf_ext" = { - version = "0.0.7.1"; + virtus = { + dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"]; + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk"; type = "gem"; - sha256 = "0ly2ms6c3irmbr1575ldyh52bz2v0lzzr2gagf0p526k12ld2n5b"; }; + 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 25b3a6b4e7af6e1be181a026d5d6ad31c809af31..1ed54b05ec8c08be212c17ecab95c06a19658c7e 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 0000000000000000000000000000000000000000..bfbee1bea24d51a8708e5ac002b647c25091e8f7 --- /dev/null +++ b/pkgs/applications/misc/pydf/default.nix @@ -0,0 +1,18 @@ +{ stdenv, python3Packages }: + +python3Packages.buildPythonPackage rec { + pname = "pydf"; + version = "12"; + + src = python3Packages.fetchPypi { + inherit pname version; + sha256 = "7f47a7c3abfceb1ac04fc009ded538df1ae449c31203962a1471a4eb3bf21439"; + }; + + meta = with stdenv.lib; { + description = "colourised df(1)-clone"; + homepage = http://kassiopeia.juls.savba.sk/~garabik/software/pydf/; + license = licenses.publicDomain; + maintainers = with maintainers; [ monsieurp ]; + }; +} diff --git a/pkgs/applications/misc/pyditz/default.nix b/pkgs/applications/misc/pyditz/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..0f4e743aba4e3e888dfa5e84871305eb396a086d --- /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 cdeca96568df6bd2a464148a9e9df81c92950d52..7c560cacda121be1ad4780ad0a2cb6cb8092b652 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 0000000000000000000000000000000000000000..7781f5aa4bed887ae8b6cb9816ce50d3f9ba93dd --- /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 ca4875769013082e08f6df90b0fc3e7736604796..0000000000000000000000000000000000000000 --- 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 0f894c46a53bac63b2487a85c28282fa6d1550fe..0000000000000000000000000000000000000000 --- 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 e0a1e33dc62827474477552cdd86dadbab2813e5..97751127342587787b4e7eab1ba701368c25bba7 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 abf4bb0546216bbd4ec8898ed09dc4b216efa7dc..48a05091ca85c0d7b0b989546a0b79112ece35cb 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 0000000000000000000000000000000000000000..aae38f7d0f17b86c38c7747ee435b0abf5a2fecb --- /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 0000000000000000000000000000000000000000..a679a4f1112faacc48b6ad739386eb0d869516be --- /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 878de748dec9a6daba63ab3d3391985588a8e3b8..8fc890f42439d100100c6510f87d2bc77eb26f82 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 f4983ad9442837c02e39233ac713963d21768e0b..335c583998fc901913ced3e765bb226cb3d75062 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 e395ae9c070debb352a9c4c1bc1796a3a76a2e72..ecc372dc674ccf5fa3951790ae3ae1526cca67f1 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 263bc37660c9506b5ffe0a19a261dbb50889f77f..81aa18c9f2404b6859de202b4a3c3c85739ae29d 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 6ae8f380fe28bacd574e40dbd24b48631aa15b77..71a433bded79f68f9f3310a975f0e599eb494a84 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 0000000000000000000000000000000000000000..47b4641234f3ceb918e74489d8d4f5dad1861cf6 --- /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 9ad9f4fe15a7096ee6bf2cd29afced636568ec86..d942f999f69719aecea7c6907d9ab509c87dfad0 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 e03dd65b9eb372cf9d5dbb357e24d16f0a600431..1fccada4200376d89c8bf5e4ecec6c64d5bfd1a5 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 629bcbb5baca8084d9d1317c6047f3625781dfda..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/qtpass/hidpi.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/main/main.cpp b/main/main.cpp -index 8a18409c..1cddd911 100644 ---- a/main/main.cpp -+++ b/main/main.cpp -@@ -35,7 +35,7 @@ - * @return - */ - int main(int argc, char *argv[]) { -- qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1"); -+ QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - QString text = ""; - for (int i = 1; i < argc; ++i) { - if (i > 1) diff --git a/pkgs/applications/misc/quicksynergy/default.nix b/pkgs/applications/misc/quicksynergy/default.nix index b2616bf7b778549809cd01833e093b085a43d1f0..948bcf33d378fff643ac9b2453ce545dd96dd334 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 bf4559e911780e2c699976aacdf88c51492f4074..25f9c6ed4c7a6f314e1b17e8582a09b08e1e773e 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 03b8d709fce2d11575a1e19277bee6c7a9d19c81..2eebe67c46da3bbe0bd4240fee57a8abc5c74ce3 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 d8512754f6a7c567afd9d497b0fe794cdb89c9b1..ad27c9b13a616195312553b7be005f2ede27c08a 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 703d786212494b0a95b112c03c83c9a0d6080a3a..ca362bab2ec9f7322c6ecf0392913b8014c54de5 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 b934788cdbebb9310685fb814948d12a13a3061b..cd232088b5bb81deaa7e3ee15ab7e507311e4f95 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 be365cb94e4e1f059e01f0d598a06393e672376f..00640be6c74a6dc1a0828255e5741280636a87c8 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 76593eba5fc4e3314e7f98e9b6343af67da48ee5..8df4e960c180ef51055fb3d585986b2198b731ae 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 9b1b0157769708314f0e7d14996be82a2a5c5af9..2255089ab7e2568a53ca1ca21c0167ca4829f37d 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 0edcde12e3410e08a03a8e6b416f47966a2ac1d4..94381d4f6f962d0851b0242bd89c48493594a0b7 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 c2384f56faa1a775636f915bd99dc9da85de4f18..8c24d27f07529e8bf06022663f7433bef0caa8cd 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 11a75e4064f40d5649714f13ca8bbf0f00d5aaf6..1cff3635bf9ddc0951e297cea430c444c59c98f2 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 0000000000000000000000000000000000000000..c427eda8c773609490749d1e30af0294a1c8f2ee --- /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 05b19bbbff9c8962260f59b5a8d42b5ce16a4a43..20211ecb53b18619f49ec97129efc855e99408f6 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 8e63cdb6d16cb16c640ea17052700610d8b645d1..acdd21a1c219444a7b9a0df993d7f8c056653088 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 f872e80083632db397e709ece71d15ed31209dfa..a4e03fa347f0edfc642e2e3fe7918cfe88b4f2ca 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 544789e865b5e5e4dc1236fcdb7a2e15dca4807b..b976388ae2c463dd15ca766dfbba3545e9560d9f 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 68be8b738de6dd81feff9ddf0004737e3545258e..2982c02cce9aea56e38896ce50760b559f0af430 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 f4a41a89e1c46fef40782e4221909550939b1f59..ba8ec3a6e72ab4bc20539f30035cc4045d6faadd 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 d198c5951359add581e521319ad60d3d15918bee..17cea90ac27cf90651c75350f6d1f78775c01f94 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 909c267def828eca3a50425a03f375db04c4b14e..fd0860b3aaef3e8e288f433e60dc3224b98505b7 100644 --- a/pkgs/applications/misc/rxvt_unicode/wrapper.nix +++ b/pkgs/applications/misc/rxvt_unicode/wrapper.nix @@ -1,4 +1,4 @@ -{ symlinkJoin, rxvt_unicode, makeWrapper, plugins }: +{ symlinkJoin, rxvt_unicode, makeWrapper, plugins, perlPackages, perlDeps ? []}: let rxvt_name = builtins.parseDrvName rxvt_unicode.name; @@ -12,8 +12,10 @@ in symlinkJoin { postBuild = '' wrapProgram $out/bin/urxvt \ + --prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \ --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl" wrapProgram $out/bin/urxvtd \ + --prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \ --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl" ''; diff --git a/pkgs/applications/misc/safeeyes/default.nix b/pkgs/applications/misc/safeeyes/default.nix index e99b305b2b33cd69be0119c4e32e63f305a10fca..125170d36c27625befd4d0f9c5b6944f82f4913c 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 33df8e8f0a277b192edd13a08ed856bd25d9e082..8510d50194249f2c5007819ab5a689d8cbf747d6 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 0000000000000000000000000000000000000000..a04b0dcbba6a5e168b9ad9c8aa16792be6af9f61 --- /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 280a42fde14c097c54fd5239b6e9bc060a80121f..c95eba48bdfb441b46a9c71d57e0c2f5d438da66 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 cc8c30043b2931cc12e9a42cb574211b2d80d876..3cebcc0101f87f6c2366a90526ac9b6f1d6a9af0 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 96049b395ea51913c5eff23e64e48a791b761343..e3edb539928977ad109b2e082d5dec1745e2e2de 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 fc63745ebb848e2467f92c10ef7f67f81ec65209..114404c2597dc4df6ef0bbb464f0db24404c82c8 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 0000000000000000000000000000000000000000..1ec2665c6769bc0cdf97ec0ba7b047fbb4dd0a44 --- /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 a10b58d00b61b695a8d1951ea77453327ff694af..2b44b0398b55d49dc5c3fa23ea565912f63ee242 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 719b8d32b33036ee468b28e4ecfe58e526d6a470..6a16741a06b5a4c113f1860270eb218caf2b12b3 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 fc6be074a079e726d1b46944d447bbd21ad1e443..d2d5e9548a0c341b3b1934b934da0d1077ab0feb 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 e012c3763b34c6bb3889eba2a89e5c03c3401fd9..cf9e93b87b39bbedb15b57110b278793d615db47 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 1f0a3a71be8bd9aebe1548661742257477b012fb..0000000000000000000000000000000000000000 --- 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 f4a2e889cd434f7ba926a31159272aebdb2416ad..bfb3d010a3c7cc5415614c412ac1f2d8560ccd29 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 cb64365a944f98ac079f89de7c982c1c0e02dee4..cb2cd3f1e62fa81e0533c79ca470499eb886da8c 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 9f20b20f7f3a3ffbc40e96bcf8f5e977fe4f558d..c116b5874069ed6b94ce440e38c68043954e890d 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 a1d5ef153bbddeec4c2ccfcd8607fbf878bdfb02..103075024dd5fb3bb7f7e37c014f91cc73c7ea11 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 aee486ddf0c2290ca823d3b591e4109172d1d236..eb408eaf6ee3ed3f40d2a5726fd7d441bd2986f5 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 b63a41bb915627d5a6c7084c2ea27fc47ed63ab2..9407243c6a21f49d1d893eca167889c50a8ce0fc 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 6d6382faccd45eb97dadae94e0cfde1a5c9b11ad..ebb50e685da73204880923186124134e64cb10d7 100644 --- a/pkgs/applications/misc/stag/default.nix +++ b/pkgs/applications/misc/stag/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation { homepage = https://github.com/seenaburns/stag; description = "Terminal streaming bar graph passed through stdin"; license = stdenv.lib.licenses.bsdOriginal; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/applications/misc/stog/default.nix b/pkgs/applications/misc/stog/default.nix index d3cd81f7f13a8a137784bde7c3199a30e5dcf767..8c47de3afac03b87b8367960b56ea7b121b96390 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 0000000000000000000000000000000000000000..213f308646ab8a815bcfc0c9577704b8ea36063d --- /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 483fb9cf95a08265e03cd1b3a3ab95414f8c441e..1fc96e551ac7a1a0088d06b29672917345037cf3 100644 --- a/pkgs/applications/misc/stupidterm/default.nix +++ b/pkgs/applications/misc/stupidterm/default.nix @@ -1,7 +1,8 @@ { stdenv, fetchFromGitHub, pkgconfig, vte, gtk }: stdenv.mkDerivation rec { - name = "stupidterm-2018-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 c26d46060183f1cee61b8e38356f933f6f4e1361..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/stupidterm/stupidterm.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Version=20170315 -Name=stupidterm -Comment=VTE based terminal emulator -Exec=stupidterm -Icon=utilities-terminal -Terminal=false -Type=Application -Categories=System;TerminalEmulator; diff --git a/pkgs/applications/misc/styx/default.nix b/pkgs/applications/misc/styx/default.nix index f9779beec0f4a83c01496061b839737481742742..340b59d5ff23adecd9baa318c15b687f0175b4fb 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 50bb1df2eef21fa79fc1dc6e49cbd1780afce2a3..a29dad2c4447980f82a5a237b4cc12d03355cc6e 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 825b52cda7f84768d0046038f261426b3360d64a..ee42c1389fcd5706f9b09f99f29e722313997191 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 ebae6fd7cfed16543552726e1f575c50b1b52bbf..c314e8ffe5acdecf5598f6103574a0d1251d7627 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 f16a0d29c40d915d2ffbdfc91fae4792dc1555c4..a07fe0c75103bcfb3ec659c2b781dea370e67335 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 0000000000000000000000000000000000000000..0dc8f3bf38e48dee21607469f2c4f9419f8a9023 --- /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 25855c2a6130e1e5e445888bb97fbe3984ed02b8..377d83e596272f44a19a62ed396734b5a5590237 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 52e39b98a3b6430c927d75b78ca70e31e47eb09c..fbb1832735beaa1007dca29644300cdde2617ec2 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 6cb78e6d6bd7e6ccd212e5392047c5f4842002f6..00b96f459cb7718bee33588c4e023371130747c0 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 77cbaeeed793d492bd1bf0bc1c9365ef34e6cc08..ab9f5a35464696357f03f9067353dde082e4e91a 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 ebd04c20ea6d1419d79ee4a5213734eb479b81ba..dcc46e370e7194e0196257f8c30acbd1a18567a8 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 f3f9285b312d8044a0ab5bd2afdc5cdb2759fcd8..838cc199a6cad19beda21193a9aa87bc3e24b22a 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 24c1e4311777f1e989a274f86ea064702d5a2125..fcf607de8157d6b42e1c3658e3b004bf759e0aec 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 bf0e964d591f2c11f7662d8a8f0c4f78c1619664..0450cb40a555b763314d860b9851ba40a003abcc 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 0000000000000000000000000000000000000000..9f1773b191d240eaed79f58439e8486828b19f7e --- /dev/null +++ b/pkgs/applications/misc/taskopen/default.nix @@ -0,0 +1,34 @@ +{ fetchurl, stdenv, makeWrapper, which, perl, perlPackages }: + +stdenv.mkDerivation rec { + name = "taskopen-1.1.4"; + src = fetchurl { + url = "https://github.com/ValiValpas/taskopen/archive/v1.1.4.tar.gz"; + sha256 = "774dd89f5c92462098dd6227e181268e5ec9930bbc569f25784000df185c71ba"; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ which perl ] ++ (with perlPackages; [ JSON ]); + + installPhase = '' + # We don't need a DESTDIR and an empty string results in an absolute path + # (due to the trailing slash) which breaks the build. + sed 's|$(DESTDIR)/||' -i Makefile + + make PREFIX=$out + make PREFIX=$out install + ''; + + postFixup = '' + wrapProgram $out/bin/taskopen \ + --set PERL5LIB "$PERL5LIB" + ''; + + meta = with stdenv.lib; { + description = "Script for taking notes and open urls with taskwarrior"; + homepage = https://github.com/ValiValpas/taskopen; + platforms = platforms.linux; + license = stdenv.lib.licenses.free ; + maintainers = [ maintainers.winpat ]; + }; +} diff --git a/pkgs/applications/misc/tasksh/default.nix b/pkgs/applications/misc/tasksh/default.nix index dac447edd7d2f9f8fff5a7c5ade615d3a5466af5..feb06368de4128ce667c5d59de1eb3d22c2e3f42 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 1018a53ce21d7e478d3d956f9be7e840c40c1dca..ba919fbc626743dca3b3bc10be2d7e1331a2e7c7 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 65963f9aa34f6cfb2a937b455f07cbc03cc01e16..94eacb1fe0671e6f37179af79b97c1e4fd82d166 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 b05c8a8039966444e85c4d687d0e64d159e99e37..00300e65abb45053b2eaad8ef11f4accf8a20dd8 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 0b12a905360c9ab1156423d3278afee9e737fc6f..379223d9076d0c00a101030af0f7e2c2defb164b 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 9502b3a0abe7461a2fc128cd954a9cb8646a1d42..b176459198242968ef45a9675823eebe7029ff78 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 ab9611326cae06e424427f5987af9dd2038570a0..c057fde95d7f8d27fc00cd700f9db12a34dc6800 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 4172660182dfe6ecbbe5064d04c5a9b6cb9684e3..39f54156fef8f37d819e954c5813de18124ef97d 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 ab6ef32947001a536fc52a310a12ed23e817ef3c..095681d136d8a78a978ce4c3ac4f89e174e64446 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 4ca7a86e6f7f9f620313bc96cedcd1c746c3fe67..d0419c414d7ace0299f93170341a9a32451d5ca3 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 c70503cbff2f97acd3db89ee3150c5a4a63def45..e612fb10ff8c291c4a3773607cd4b0105360a56f 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 0000000000000000000000000000000000000000..3ef0eac2417a4a2092eb15ddca91492b204527a8 --- /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 6cf1f27a104b074e3c52b5a12508db3235788573..cb70d57869c04b116e627f9351bdb1f50e9d28a6 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 148d6b042f7b7f3a7e00cc358d8056c76cca9d51..5bb2b5b94616914a72362ad5d9867cf73ab1b62f 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 abe1fda23445445add0bc3c74af72d298d409930..d9dcee762cf385710d6f9d3fad8857fbccfff40d 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 9b132e29c77950be1b5e6d246feb5d420ecbf915..0000000000000000000000000000000000000000 --- 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 122567de2e1e605f42b2c1191efe2e8fb2c75c0c..240ad6e5fca4ad0b6f53b145fc83695023dd6a06 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 b268bdd0962ee3d182eec3ae3ffd028d0906743b..bf22cb0181da287526bc3014121ea502b8100d1a 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 ba6e97d61fb3ca5724c26b280f99159f98887e77..d8a6f86f104b62f9d629bbadfef003b1935bef79 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 c6ee750889024f6a770effb42af1550128a3a3e7..df9ed89737029473fbb7fbd329a139beded742d5 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 5a856a5f2b283b9ac1263b661463cbd37f6eef75..413f082fb22a1f9b75faa5b59715d35a9985836a 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 34952b9c0f4dcae789db4edde46559cd08ef79db..eb3894c7b47d22855274d07b6a952b94d7d69b25 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 09322b47506b9cba93e1104f43fc3de83f7b68ac..b955711d0030f1bfa6b3c350dd159a366928569d 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 5d50238a9f0007780477b95e89ec15cbd872757f..a2f6980abd9e238d0e0e724bda61292493667571 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 66bfcbcf4d9aa06f42e9c3e93cd599cbd66c0ed0..76ac3f75b2660a6861738e3c083202a1b524c402 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 a5d2f206f3a52ce15657be70030009e8362c44d6..ae4185441320a11435dc7d6d7f4fc523139c0381 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 5d96918e42da87b3a941ae123656b031a006c34e..459104aba6387d69fa542619a2b48489930164ba 100644 --- a/pkgs/applications/misc/udiskie/default.nix +++ b/pkgs/applications/misc/udiskie/default.nix @@ -1,33 +1,41 @@ { stdenv, fetchFromGitHub, asciidoc-full, gettext , gobject-introspection, gtk3, hicolor-icon-theme, libappindicator-gtk3, libnotify, librsvg , udisks2, wrapGAppsHook -, buildPythonApplication -, docopt -, pygobject3 -, pyyaml +, python3Packages }: -buildPythonApplication rec { - name = "udiskie-${version}"; - version = "1.7.5"; +python3Packages.buildPythonApplication rec { + pname = "udiskie"; + version = "1.7.7"; src = fetchFromGitHub { owner = "coldfix"; repo = "udiskie"; rev = version; - sha256 = "1mcdn8ha5d5nsmrzk6xnnsqrmk94rdrzym9sqm38zk5r8gpyl1k4"; + sha256 = "1j17z26vy44il2s9zgchvhq280vq8ag64ddi35f35b444wz2azlb"; }; - buildInputs = [ + nativeBuildInputs = [ + gettext asciidoc-full # For building man page. - hicolor-icon-theme + gobject-introspection wrapGAppsHook + ]; + + buildInputs = [ + hicolor-icon-theme librsvg # required for loading svg icons (udiskie uses svg icons) + gobject-introspection + libnotify + gtk3 + udisks2 + libappindicator-gtk3 ]; - propagatedBuildInputs = [ - gettext gobject-introspection gtk3 libnotify docopt - pygobject3 pyyaml udisks2 libappindicator-gtk3 + propagatedBuildInputs = with python3Packages; [ + docopt + pygobject3 + pyyaml ]; postBuild = "make -C doc"; @@ -37,8 +45,14 @@ buildPythonApplication rec { cp -v doc/udiskie.8 $out/share/man/man8/ ''; - # tests require dbusmock - doCheck = false; + checkInputs = with python3Packages; [ + nose + keyutils + ]; + + checkPhase = '' + nosetests + ''; meta = with stdenv.lib; { description = "Removable disk automounter for udisks"; diff --git a/pkgs/applications/misc/ulauncher/default.nix b/pkgs/applications/misc/ulauncher/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..3db6f6ae565d0db3d895ef0a1548c65eee54578c --- /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 0000000000000000000000000000000000000000..2936df65194eff9f67ac300cd020025383f0ef50 --- /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 43861d9f60a6f932d4e0a1c24c1198bbc5cabba6..87800cf90d6de3f67fec57bd18fdddc04709b630 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 d12120ca2f11e6856a849d9509d78135a6879992..344c07d845be1ae23d76c77338061bb42681bad5 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 6752b0182fead0610803aea0f8cc6c5af47e8dde..5a12465c4c494d27dd14ffec31d7b7425cdf6b96 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 7649785524f1b5e8653d84288f584dd284c399a8..b25e7f76cefed08fdc3dc44a0135c99837788736 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 8b64bcca667d48e9ae4a23bbfd00b24ca4955429..9639cee2d8c752f4b50e023a91d0a6a625028942 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 f23862c63cd4c81092e6994b74d176a83e889114..b6a8b567a5032cbfcf2a7a76a621700f61d52a3d 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 c568a056514f63fd62046f40ae360b587ebccc2d..81563254abd72e8ead8d6ccca2771098b12cd9e9 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 b7d0b330e85b0d8f869cfa8eff4e853f152b8fa3..cda3b1a6f8503f7b9411a08888ade6704a2fbdc2 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 5ebc98b5712303a08475095a7a62156312deab0e..64645e00bd852a7ba30cffaf919ca625eb93784a 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 40a399247e9050a12eea6ae1055c6374614500b4..3eb797f182e7d0346845c95f9d11629edb0c4926 100644 --- a/pkgs/applications/misc/vit/default.nix +++ b/pkgs/applications/misc/vit/default.nix @@ -1,36 +1,40 @@ -{ pkgs, fetchgit, stdenv, makeWrapper, taskwarrior, ncurses, -perl, perlPackages }: +{ stdenv, fetchFromGitHub +, makeWrapper, which +, taskwarrior, ncurses, perlPackages }: -let - version = "1.2"; -in -stdenv.mkDerivation { - name = "vit-${version}"; +stdenv.mkDerivation rec { + pname = "vit"; + version = "1.3"; - src = fetchgit { - url = "https://git.tasktools.org/scm/ex/vit.git"; - rev = "7d0042ca30e9d09cfbf9743b3bc72096e4a8fe1e"; - sha256 = "92cad7169b3870145dff02256e547ae270996a314b841d3daed392ac6722827f"; + src = fetchFromGitHub { + owner = "scottkosty"; + repo = pname; + rev = "v${version}"; + sha256 = "0a34rh5w8393wf7jwwr0f74rp1zv2vz606z5j8sr7w19k352ijip"; }; preConfigure = '' substituteInPlace Makefile.in \ --replace sudo "" substituteInPlace configure \ - --replace /usr/bin/perl ${perl}/bin/perl + --replace /usr/bin/perl ${perlPackages.perl}/bin/perl + substituteInPlace cmdline.pl \ + --replace "view " "vim -R " ''; postInstall = '' wrapProgram $out/bin/vit --prefix PERL5LIB : $PERL5LIB ''; - buildInputs = [ taskwarrior ncurses perlPackages.Curses perl makeWrapper ]; + nativeBuildInputs = [ makeWrapper which ]; + buildInputs = [ taskwarrior ncurses ] + ++ (with perlPackages; [ perl Curses TryTiny TextCharWidth ]); - meta = { + meta = with stdenv.lib; { description = "Visual Interactive Taskwarrior"; - maintainers = with pkgs.lib.maintainers; [ ]; - platforms = pkgs.lib.platforms.all; - license = pkgs.lib.licenses.gpl3; + maintainers = with maintainers; [ dtzWill ]; + platforms = platforms.all; + license = licenses.gpl3; }; } diff --git a/pkgs/applications/misc/volnoti/default.nix b/pkgs/applications/misc/volnoti/default.nix index 166811fb4ae37c7a845378ebab4e902255516588..e482e7e7c02dd750e902cb27fd4dea223bc86588 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 e794b82e2f6ea2fb939bf586aed3294019c4dd1e..a59a25a144e9233cf6f5ed1ddc770f996f23ebc0 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 a448d35485a7d11a446c71363eb9ea76bac84973..d6404ca6596581bdbd3195f1d1b32d951650ed4e 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 48818ca3b8b11bc666d5a70c39e478e818dd46f3..6dfe8e713c633fbb0622cda8b50378a80ce73173 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 0000000000000000000000000000000000000000..002bdef7333e342abfc3cf2d7ac3bef77eea08c2 --- /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 1c6dc8f63c23bd4f6fa2c5fc9750d1694cc4b6f1..ff770f516bc55ec9afd476fb63f683a2a5c5d521 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 544c1252ff411b31719ab68625d52c0535c72b1b..2748d576c692fab7e6c688baa13f42fdb3cd4563 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 0000000000000000000000000000000000000000..6ed2ff10aaa7712c184d60d6939c8d9da40276de --- /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 a3d3ace009e1bab5930fa6175d8c433a616d3a24..03f3caa4c1515fe3ac7e3f318a632da08d8b1571 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 d8628b794d7161a730a7c485bfae986781d19ae9..d38383c30ecb782969def6b445143e4e3a1a8aec 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 5d153a0e417fd71c33996ed80c6b875076162135..5a1093b47797bb82dccc0e6f7d9304a441f0dd13 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 f9267411dda4dc423fc857b6a6a6c91cd5e60b8b..e5b89ff43b5bf778b5f2a0f737d376af897e1eca 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 7e54f943856a820ddc71630e3fb17e34c8cebebd..a3c9d735ff8d6ec54b3adf58069c7acc34197905 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 a01cef9227bf3c451b83f56d0dbf445cbcb7dd3b..52462d1c1f342873bad7c8e5b9182733c96f1634 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 969661ea7b4e9117408b7301b578035cdbf91f53..4086c0e094a18323924ac6eec09a7df046312d72 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 bf3d9b737a9ebdc7210400125c427bd7a9cba94b..9040bb4318d5bd457b651e939f3f949cf7e1e0e1 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 280b30128727d13bb0826ed15cda0b0a704d73fb..8c5a2e3d2db9041542301d5275e5a7ba2e31c8e1 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 945072ce026e4c1ccc0efc4bed4f53daeb9353b5..8875c95fe578e2c42d2902a394ca3dd0f8e2a8c4 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 ed7f2b27c381cea924d97e2b27fbcf189d8ecc84..b7f8cfce2fb65bea8b3d9fe1b588331de4f649b9 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 7148caf35d34ba9610e04b63585ff769b2d274be..b7c6f938b19e48c043113ce6369df41de77384a7 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 3023e830dc79190171789113ad35150e96b062b9..d6709ecc1a62402a2a405a49b23b93eadb9661ee 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 3f3865d7688a3e6feeae862981c269c487fc72d9..abc808477a39e5b991ab6f61595733e2fa3f22ac 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 4fa1c833df53a21c1beaf9fe93e8bff3bd24caa9..dc618e4561e6e54a636805eef6178744031dd7a7 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 a12f3dc304ba4c64ef28f7736c4a4944200845e4..c673002fb511040f5809e55d4cf900777158d950 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"; + }; + + srcIcon = fetchurl { + url = "https://aur.archlinux.org/cgit/aur.git/plain/xmind.png?h=xmind"; + sha256 = "0jxq2fiq69q9ly0m6hx2qfybqad22sl42ciw636071khpqgc885f"; + }; - nativeBuildInputs = [ dpkg makeWrapper ]; + patches = [ ./java-env-config-fixes.patch ]; - unpackCmd = "mkdir root ; dpkg-deb -x $curSrc root"; + 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 bb3385ad016a68627ca906a8c00327ef73d3ceac..41071012ae9f651f1a72269a9765cfe0c6f46469 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 28ce4a0d500d1969dcd44157ee1f588097aea68e..517105d7e1fd63abc251c4694028b02e57d300f2 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 ef9ce33936199c3dc574d4940b70af96444a8d07..55ecd358c6cd41af3c0d11e8d5b750bd8b2f3d8d 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 3e8acff00f893d70375d1214cc453e553b7d2cfe..aa851e14ab5fdde660ff47de394fd137db092e80 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 0000000000000000000000000000000000000000..856ddb8ff50c93a9659a44c84c9d01e8c60ce664 --- /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 ee267c1ec7cc8f0c260ef6fafc0d24ed9d791523..60231350edbc9ad62a105c793d7d1bf774478e1f 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 f3e743b5528cccaac3faedb14f24009ebf1fdab2..51575d62ed501442eda9e6a66655ea1b8feb9d70 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 56638d126c19c3c4bf1e0f68569d8783f785befd..db952758f04cabb5cb57e4e7980efdebff08232a 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 0000000000000000000000000000000000000000..4f1ecbaf8b3c0545b36565c252b760d7a18067de --- /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 0794b2b6dbe93b59d5d4a702783ec3a3eaca4c73..2135c7fd617423f244d9e54cecbb911fa60aa5b1 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 8f8494ac45b5166b68895d8da4c998ed6b8d41c0..0000000000000000000000000000000000000000 --- 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 a47fb93512db7c1154b5aee95f119223d7a9d39b..06e12416baa019890dfe0410b9f0947f06b4e927 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 53d427e61c2c2cccad80e2a9a691ca6b13215855..09a6cc4a3c0a4ae1250ba2fa5533c6f2b88b942f 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 dec861009eb4ea3965622aa030e66c823ecd8fdf..6b3a4f747f47db5f45b5644316cb5f2e7ec3d6f7 100644 --- a/pkgs/applications/misc/yokadi/default.nix +++ b/pkgs/applications/misc/yokadi/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, buildPythonApplication, dateutil, - sqlalchemy, setproctitle, icalendar, pycrypto }: + sqlalchemy, setproctitle, icalendar }: buildPythonApplication rec { pname = "yokadi"; - version = "1.1.1"; + version = "1.2.0"; src = fetchurl { - url = "https://yokadi.github.io/download/${pname}-${version}.tar.bz2"; - sha256 = "af201da66fd3a8435b2ccd932082ab9ff13f5f2e3d6cd3624f1ab81c577aaf17"; + url = "https://yokadi.github.io/download/${pname}-${version}.tar.gz"; + sha256 = "681c8aa52b2e4b5255e1311e76b4b81dcb63ee7f6ca3a47178e684c06baf330f"; }; propagatedBuildInputs = [ @@ -15,7 +15,6 @@ buildPythonApplication rec { sqlalchemy setproctitle icalendar - pycrypto ]; # Yokadi doesn't have any tests diff --git a/pkgs/applications/misc/yubioath-desktop/default.nix b/pkgs/applications/misc/yubioath-desktop/default.nix index d1fa28318d00fb1e7544af526e10a9fa20e65607..d7a019c1c416985143ed9e8abb82914eb1b340ed 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 0000000000000000000000000000000000000000..7c2c8fb31cab2b4fefec1105a96f8f94680653aa --- /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 4cf05a21636ae4a0a658884f3fc8ce2429280cca..8afba9353ce1fe40b6a16f357233863927b71ebe 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 315df563946626854e063f6d7346d82ed2c7abe2..1548b0581b6562faba24f4f2d3e160200e128395 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 58985dced4255826efe69edbf75052082a8075b0..54f68969d4f7d61be3925d526a76b69b71568ecc 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 709c1edb0b8391c023ec52fc90265787b713fbb6..2ebc640d683da3119c043dc8f09c51a62bb96a90 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 663e798ee0b4140cce4e30d8520b3575fd4d56ed..5b38555eda1a6ac9b87354d813ef54ceef557e1d 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 07e4c5d715b7f7178fa07d66cc92c5cd381b4005..48d42b5e93990b3ef3dd8754c20439baa9ff0ec4 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 b81d12947e41d63522af87f2f8fd4023d5356ffd..975c6e4a4680ce7cd9e5ec2daeec9201b993bd7b 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 bdf6d0da1457ca359198fc2b3c77630b32c9a35c..7418640e072b0b64de0c8c321ee8cb0c38e8c813 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 0000000000000000000000000000000000000000..36f6279c20924345ef5370c51f335f5772c0d1cc --- /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 05dee5b6154cde983ba5f91abc96d801d8908020..ce5c7fb41f1f79ad28f24d7358a78aab8dc8527e 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 9d57cdaaf20d6a539653d3f98567568be590a15b..0000000000000000000000000000000000000000 --- 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 d2db3eec26e83ac09b1a92f2ea14ee0aad584cd2..0000000000000000000000000000000000000000 --- 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 1075aea8db3a859e859a9dced663e91769c5550f..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..31eb4dd7378ac2ca3262f3183e37ec751c33ddee --- /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 f9d5f01be201ff40e3c129aa3b0d6f6358f68e56..57db827169eca55c4b11e1a441c225c5ff9f0c98 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 44313fa1ea284bef4ebe5c2e8f016d87ef0e6915..45fb820a076ca75ff3259a227aa99fbf82ab1de3 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"; - 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" ]; - }; + 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. + ''; + 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 a910f1d14bdfda82430c326621a8b44cd38ab8a8..c3f5cb131645297cf1bc943dd551fad47665aa8e 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 e0eb6600c9beca57b5ec2e794dd500c499c691e1..fae04b4d6a58e603683b0ea16fd993a1adc81c15 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 0000000000000000000000000000000000000000..e7bec997119e08fbde2612959467254f11f9eec6 --- /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 f31ff05a42bb66634ebb75e2b01ed4f9da208abc..8bdb33ed5d22a3361de268db6e6fb817586b7468 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 5d59f7514c60c17fefc263d33c9a8f89cc6198ed..45c125985120231b7fd724aa90ede63cf974af1b 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 c7917e923d4c3c8715f5ae801a4493c71a47c995..3178e2595fc5852f4ebc9907bcb6211b20bfb48a 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 0000000000000000000000000000000000000000..38d77e2155166ecda61949924ed2649e7a74a92d --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch @@ -0,0 +1,117 @@ +From abc7295ca1653c85472916909f0eb76e28e79a58 Mon Sep 17 00:00:00 2001 +From: Akarshan Biswas +Date: Thu, 24 Jan 2019 12:45:29 +0530 +Subject: [PATCH] Enable mojo with VDA2 on Linux + +--- + chrome/browser/about_flags.cc | 8 ++++---- + chrome/browser/flag_descriptions.cc | 9 +++++++-- + chrome/browser/flag_descriptions.h | 10 ++++++++-- + gpu/config/software_rendering_list.json | 3 ++- + media/media_options.gni | 9 ++++++--- + media/mojo/services/gpu_mojo_media_client.cc | 4 ++-- + 6 files changed, 29 insertions(+), 14 deletions(-) + +diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc +index 0a84c6ac1..be2aa1d8b 100644 +--- a/chrome/browser/about_flags.cc ++++ b/chrome/browser/about_flags.cc +@@ -1714,7 +1714,7 @@ const FeatureEntry kFeatureEntries[] = { + "disable-accelerated-video-decode", + flag_descriptions::kAcceleratedVideoDecodeName, + flag_descriptions::kAcceleratedVideoDecodeDescription, +- kOsMac | kOsWin | kOsCrOS | kOsAndroid, ++ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, + SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), + }, + #if defined(OS_WIN) +@@ -2345,12 +2345,12 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, + #endif // ENABLE_ISOLATED_XR_SERVICE + #endif // ENABLE_VR +-#if defined(OS_CHROMEOS) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) + {"disable-accelerated-mjpeg-decode", + flag_descriptions::kAcceleratedMjpegDecodeName, +- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, ++ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, + SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, +-#endif // OS_CHROMEOS ++#endif // OS_CHROMEOS // OS_LINUX + {"v8-cache-options", flag_descriptions::kV8CacheOptionsName, + flag_descriptions::kV8CacheOptionsDescription, kOsAll, + MULTI_VALUE_TYPE(kV8CacheOptionsChoices)}, +diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc +index 62637e092..86f89fc6e 100644 +--- a/chrome/browser/flag_descriptions.cc ++++ b/chrome/browser/flag_descriptions.cc +@@ -3085,15 +3085,20 @@ const char kTextSuggestionsTouchBarDescription[] = + + #endif + +-// Chrome OS ------------------------------------------------------------------- ++// Chrome OS Linux------------------------------------------------------------------- + +-#if defined(OS_CHROMEOS) ++#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) + + const char kAcceleratedMjpegDecodeName[] = + "Hardware-accelerated mjpeg decode for captured frame"; + const char kAcceleratedMjpegDecodeDescription[] = + "Enable hardware-accelerated mjpeg decode for captured frame where " + "available."; ++#endif ++ ++// Chrome OS -------------------------------------------------- ++ ++#if defined(OS_CHROMEOS) + + const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click"; + const char kAllowTouchpadThreeFingerClickDescription[] = +diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h +index 5dac660bb..6cc4115da 100644 +--- a/chrome/browser/flag_descriptions.h ++++ b/chrome/browser/flag_descriptions.h +@@ -1846,13 +1846,19 @@ extern const char kPermissionPromptPersistenceToggleDescription[]; + + #endif // defined(OS_MACOSX) + +-// Chrome OS ------------------------------------------------------------------ ++// Chrome OS and Linux ------------------------------------------------------------------ + +-#if defined(OS_CHROMEOS) ++#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) + + extern const char kAcceleratedMjpegDecodeName[]; + extern const char kAcceleratedMjpegDecodeDescription[]; + ++#endif // defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) ++ ++// Chrome OS ------------------------------------------------------------------------ ++ ++#if defined(OS_CHROMEOS) ++ + extern const char kAllowTouchpadThreeFingerClickName[]; + extern const char kAllowTouchpadThreeFingerClickDescription[]; + +diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json +index 65f37b3f1..ae8a1718f 100644 +--- a/gpu/config/software_rendering_list.json ++++ b/gpu/config/software_rendering_list.json +@@ -371,11 +371,12 @@ + }, + { + "id": 48, +- "description": "Accelerated video decode is unavailable on Linux", ++ "description": "Accelerated VA-API video decode is not supported on NVIDIA platforms", + "cr_bugs": [137247], + "os": { + "type": "linux" + }, ++ "vendor_id": "0x10de", + "features": [ + "accelerated_video_decode" + ] +-- +2.20.1 + diff --git a/pkgs/applications/networking/browsers/chromium/patches/jumbo-sorted.patch b/pkgs/applications/networking/browsers/chromium/patches/jumbo-sorted.patch new file mode 100644 index 0000000000000000000000000000000000000000..cdf0f695f7612601ee35597004d3e6463c83dec4 --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/patches/jumbo-sorted.patch @@ -0,0 +1,11 @@ +--- chromium-70.0.3538.67/build/config/merge_for_jumbo.py.old 2018-10-25 19:15:54.578222230 +0300 ++++ chromium-70.0.3538.67/build/config/merge_for_jumbo.py 2018-10-25 19:20:44.397613032 +0300 +@@ -132,6 +132,8 @@ + assert not inputs + continue + ++ inputs.sort() ++ outputs.sort() + write_jumbo_files(inputs, outputs, written_input_set, written_output_set) + + assert set(args.outputs) == written_output_set, "Did not fill all outputs" diff --git a/pkgs/applications/networking/browsers/chromium/patches/no-build-timestamps.patch b/pkgs/applications/networking/browsers/chromium/patches/no-build-timestamps.patch new file mode 100644 index 0000000000000000000000000000000000000000..6b788f43d29c044f6a04cd46e31928f8f8e89cca --- /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 a097b9fac4ec15f6ec8436f78f8fae8200c408fb..a0ea67133c6fc9c1f421f5254be9f80f4ef885f9 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 277ad29abe297bdd006016993be87c0ef4dfd47f..2334dc6a71e4339bfdacc49b2e4b1d0985abc26a 100644 --- a/pkgs/applications/networking/browsers/chromium/update.nix +++ b/pkgs/applications/networking/browsers/chromium/update.nix @@ -97,13 +97,13 @@ in rec { builtins.tryEval (builtins.fetchurl url) - ... except that tryEval on fetchurl isn't working and doesn't catch errors - for fetchurl, so we go for a different approach. + ... except that tryEval on fetchurl isn't working and doesn't catch + errors for fetchurl, so we go for a different approach. We only have fixed-output derivations that can have networking access, so - we abuse MD5 and its weaknesses to forge a fixed-output derivation which + we abuse SHA1 and its weaknesses to forge a fixed-output derivation which is not so fixed, because it emits different contents that have the same - MD5 hash. + SHA1 hash. Using this method, we can distinguish whether the URL is available or whether it's not based on the actual content. @@ -111,25 +111,50 @@ in rec { So let's use tryEval as soon as it's working with fetchurl in Nix. */ tryFetch = url: let - mkBin = b: runCommand "binary-blurb" { inherit b; } '' - h="$(echo "$b" | sed -e ':r;N;$!br;s/[^ \n][^ \n]/\\x&/g;s/[ \n]//g')" - echo -ne "$h" > "$out" - ''; - - # Both MD5 hash collision examples are from: - # https://en.wikipedia.org/wiki/MD5#Collision_vulnerabilities - hashCollTrue = mkBin '' - d131dd02c5e6eec4 693d9a0698aff95c 2fcab58712467eab 4004583eb8fb7f89 - 55ad340609f4b302 83e488832571415a 085125e8f7cdc99f d91dbdf280373c5b - d8823e3156348f5b ae6dacd436c919c6 dd53e2b487da03fd 02396306d248cda0 - e99f33420f577ee8 ce54b67080a80d1e c69821bcb6a88393 96f9652b6ff72a70 - ''; - - hashCollFalse = mkBin '' - d131dd02c5e6eec4 693d9a0698aff95c 2fcab50712467eab 4004583eb8fb7f89 - 55ad340609f4b302 83e4888325f1415a 085125e8f7cdc99f d91dbd7280373c5b - d8823e3156348f5b ae6dacd436c919c6 dd53e23487da03fd 02396306d248cda0 - e99f33420f577ee8 ce54b67080280d1e c69821bcb6a88393 96f965ab6ff72a70 + # SHA1 hash collisions from https://shattered.io/static/shattered.pdf: + collisions = runCommand "sha1-collisions" { + outputs = [ "out" "good" "bad" ]; + base64 = '' + QlpoOTFBWSZTWbL5V5MABl///////9Pv///v////+/////HDdK739/677r+W3/75rUNr4 + Aa/AAAAAAACgEVTRtQDQAaA0AAyGmjTQGmgAAANGgAaMIAYgGgAABo0AAAAAADQAIAGQ0 + MgDIGmjQA0DRk0AaMQ0DQAGIANGgAAGRoNGQMRpo0GIGgBoGQAAIAGQ0MgDIGmjQA0DRk + 0AaMQ0DQAGIANGgAAGRoNGQMRpo0GIGgBoGQAAIAGQ0MgDIGmjQA0DRk0AaMQ0DQAGIAN + GgAAGRoNGQMRpo0GIGgBoGQAAIAGQ0MgDIGmjQA0DRk0AaMQ0DQAGIANGgAAGRoNGQMRp + o0GIGgBoGQAABVTUExEZATTICnkxNR+p6E09JppoyamjGhkm0ammIyaekbUejU9JiGnqZ + qaaDxJ6m0JkZMQ2oaYmJ6gxqMyE2TUzJqfItligtJQJfYbl9Zy9QjQuB5mHQRdSSXCCTH + MgmSDYmdOoOmLTBJWiCpOhMQYpQlOYpJjn+wQUJSTCEpOMekaFaaNB6glCC0hKEJdHr6B + mUIHeph7YxS8WJYyGwgWnMTFJBDFSxSCCYljiEk7HZgJzJVDHJxMgY6tCEIIWgsKSlSZ0 + S8GckoIIF+551Ro4RCw260VCEpWJSlpWx/PMrLyVoyhWMAneDilBcUIeZ1j6NCkus0qUC + Wnahhk5KT4GpWMh3vm2nJWjTL9Qg+84iExBJhNKpbV9tvEN265t3fu/TKkt4rXFTsV+Nc + upJXhOhOhJMQQktrqt4K8mSh9M2DAO2X7uXGVL9YQxUtzQmS7uBndL7M6R7vX869VxqPu + renSuHYNq1yTXOfNWLwgvKlRlFYqLCs6OChDp0HuTzCWscmGudLyqUuwVGG75nmyZhKpJ + yOE/pOZyHyrZxGM51DYIN+Jc8yVJgAykxKCEtW55MlfudLg3KG6TtozalunXrroSxUpVL + StWrWLFihMnVpkyZOrQnUrE6xq1CGtJlbAb5ShMbV1CZgqlKC0wCFCpMmUKSEkvFLaZC8 + wHOCVAlvzaJQ/T+XLb5Dh5TNM67p6KZ4e4ZSGyVENx2O27LzrTIteAreTkMZpW95GS0CE + JYhMc4nToTJ0wQhKEyddaLb/rTqmgJSlkpnALxMhlNmuKEpkEkqhKUoEq3SoKUpIQcDgW + lC0rYahMmLuPQ0fHqZaF4v2W8IoJ2EhMhYmSw7qql27WJS+G4rUplToFi2rSv0NSrVvDU + pltQ8Lv6F8pXyxmFBSxiLSxglNC4uvXVKmAtusXy4YXGX1ixedEvXF1aX6t8adYnYCpC6 + rW1ZzdZYlCCxKEv8vpbqdSsXl8v1jCQv0KEPxPTa/5rtWSF1dSgg4z4KjfIMNtgwWoWLE + sRhKxsSA9ji7V5LRPwtumeQ8V57UtFSPIUmtQdOQfseI2Ly1DMtk4Jl8n927w34zrWG6P + i4jzC82js/46Rt2IZoadWxOtMInS2xYmcu8mOw9PLYxQ4bdfFw3ZPf/g2pzSwZDhGrZAl + 9lqky0W+yeanadC037xk496t0Dq3ctfmqmjgie8ln9k6Q0K1krb3dK9el4Xsu44LpGcen + r2eQZ1s1IhOhnE56WnXf0BLWn9Xz15fMkzi4kpVxiTKGEpffErEEMvEeMZhUl6yD1SdeJ + YbxzGNM3ak2TAaglLZlDCVnoM6wV5DRrycwF8Zh/fRsdmhkMfAO1duwknrsFwrzePWeMw + l107DWzymxdQwiSXx/lncnn75jL9mUzw2bUDqj20LTgtawxK2SlQg1CCZDQMgSpEqLjRM + sykM9zbSIUqil0zNk7Nu+b5J0DKZlhl9CtpGKgX5uyp0idoJ3we9bSrY7PupnUL5eWiDp + V5mmnNUhOnYi8xyClkLbNmAXyoWk7GaVrM2umkbpqHDzDymiKjetgzTocWNsJ2E0zPcfh + t46J4ipaXGCfF7fuO0a70c82bvqo3HceIcRlshgu73seO8BqlLIap2z5jTOY+T2ucCnBt + Atva3aHdchJg9AJ5YdKHz7LoA3VKmeqxAlFyEnQLBxB2PAhAZ8KvmuR6ELXws1Qr13Nd1 + i4nsp189jqvaNzt+0nEnIaniuP1+/UOZdyfoZh57ku8sYHKdvfW/jYSUks+0rK+qtte+p + y8jWL9cOJ0fV8rrH/t+85/p1z2N67p/ZsZ3JmdyliL7lrNxZUlx0MVIl6PxXOUuGOeArW + 3vuEvJ2beoh7SGyZKHKbR2bBWO1d49JDIcVM6lQtu9UO8ec8pOnXmkcponBPLNM2CwZ9k + NC/4ct6rQkPkQHMcV/8XckU4UJCy+VeTA== + ''; + } '' + echo "$base64" | base64 -d | tar xj + mv good.pdf "$good" + mv bad.pdf "$bad" + touch "$out" ''; cacheVal = let @@ -137,31 +162,40 @@ in rec { timeSlice = builtins.currentTime / 600; in "${urlHash}-${toString timeSlice}"; - successBin = stdenv.mkDerivation { - name = "tryfetch-${cacheVal}"; - inherit url; - - outputHash = "79054025255fb1a26e4bc422aef54eb4"; - outputHashMode = "flat"; - outputHashAlgo = "md5"; - - nativeBuildInputs = [ curl ]; - preferLocalBuild = true; - - buildCommand = '' - if SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt" \ - curl -s -L -f -I "$url" > /dev/null; then - cat "${hashCollTrue}" > "$out" - else - cat "${hashCollFalse}" > "$out" - fi - ''; - - impureEnvVars = lib.fetchers.proxyImpureEnvVars; - }; - in { - success = builtins.readFile successBin == builtins.readFile hashCollTrue; + success = import (runCommand "check-success" { + result = stdenv.mkDerivation { + name = "tryfetch-${cacheVal}"; + inherit url; + + outputHash = "d00bbe65d80f6d53d5c15da7c6b4f0a655c5a86a"; + outputHashMode = "flat"; + outputHashAlgo = "sha1"; + + nativeBuildInputs = [ curl ]; + preferLocalBuild = true; + + inherit (collisions) good bad; + + buildCommand = '' + if SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt" \ + curl -s -L -f -I "$url" > /dev/null; then + cp "$good" "$out" + else + cp "$bad" "$out" + fi + ''; + + impureEnvVars = lib.fetchers.proxyImpureEnvVars; + }; + inherit (collisions) good; + } '' + if cmp -s "$result" "$good"; then + echo true > "$out" + else + echo false > "$out" + fi + ''); value = builtins.fetchurl url; }; diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index 62858904ffcc5b23a6a14bae749ec017dd30d059..14799e9f96cc35ed421fb502fc7b0782d27597fa 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 ded2b688815c3addd76d1ed32f0e367ecc0ef403..be1389c2121f71c35d40ed025525686dea481a5a 100644 --- a/pkgs/applications/networking/browsers/conkeror/default.nix +++ b/pkgs/applications/networking/browsers/conkeror/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { ''; homepage = http://conkeror.org/; license = with licenses; [ mpl11 gpl2 lgpl21 ]; - maintainers = with maintainers; [ astsmtl chaoflow ]; + maintainers = with maintainers; [ astsmtl ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/browsers/dillo/default.nix b/pkgs/applications/networking/browsers/dillo/default.nix index 671ab03a2e2996e0062114058c85048a8854a086..8d6c99d2468c9ff689115712ee6f14bfbcc43d69 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 b60454c4a42dec7c1e1261327f2b70e4f1ea75d3..4f4741ce0bdf60e320ff7bca5f5eba1c361f98e3 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 12a6c64c7ae426c33139a68ca0d029e37d2ca661..e067f3f15eb5ea329ff1a5d98c6ce2b973f0ff4a 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 0000000000000000000000000000000000000000..369689520d8ad33f270d736dbecf24d924e163bf --- /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 ff16ddb90f694941b5bd8c4fe1fb24f3f117cfaa..6e21456a9a9252abd08eb4bb78da833f4acfa52a 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 256d2e39cded1ad0d8547fc9b71cfded5233b9de..50b7153533dc6ab9aeb64580d4f27296c976cf9c 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"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/bn-BD/firefox-66.0b7.tar.bz2"; - locale = "bn-BD"; - arch = "linux-x86_64"; - sha512 = "5fa6ccff9c96760ee5fcbb1a5a23a42412a5a3d54d61810eaa5b5670ff35715c20ba8ef449a922cbbb2fa5fc8d8817c64dcafb2f4d6945e8630141559a45da0e"; + sha512 = "6746f4d0c2a73f99bc04c3b12bcf54e5eca7262ac6d54835a567a23a07fc91775db9e64d0c5accf045aabd5d4645a753413f934e6eac9dbcefaea30c944aadd8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/bn-IN/firefox-66.0b7.tar.bz2"; - locale = "bn-IN"; + { 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 = "5912e3889444159c2ce5fa0e74feffd48119f9658f0f7f7c83cdd2b67b7694dbac908fab4daa91c34bd154d274a8fee4a9106709a5cadc1f75cdb033847b7f38"; + sha512 = "ba88ff34405c92b907cc16e44dbd5d1db0b4bcf0fb75ca650739bf307a6e2270cfd69bba9ead6c260721857738165fbbcd4af44fbe8cb9d7402d97c32eb09532"; } - { 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"; - } - { 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"; + sha512 = "c63d7358887ba0d8af897063c5431c2bd404fb9708e6b59d73c14dd8cfa1a2137af72eb01dfe25b9e6d92b84d5b966693cc89f5446ed3410f910e2df3f92b6cc"; } - { 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"; - } - { 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"; + sha512 = "0f67149117eef961fad9355fe61353a3a2ee15f19e92a592d6fad69e46ac488c26f2b0269f6c229df51690bfead9e85c1ae0489230ba32fb27609900a9725f57"; } - { 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"; - } - { 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"; + sha512 = "1b873b5a90c8130be2a782f8c0459f853d3fbd340d7500550fc7628282b1e575d92a1d0af263665f7fac7192c22910e8338b66abda828ffecddfec79dab62fe7"; } - { 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"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/bn-BD/firefox-66.0b7.tar.bz2"; - locale = "bn-BD"; - arch = "linux-i686"; - sha512 = "e33df73b8917aa7b3b0dc3d9600d7082943d595b8e3442944aa2570dfd3bd755f596c21b7f06d46e6e4b462e54a5092e0f503e6c5a5838968e9ee5975d431784"; + sha512 = "14b2380a52cfce2dddc48a8c0cd52ed31d01f3c46728aa866e0d05360f9d078aa7f59ca7bcc33d0ca7beb60c81780d5def46e1b05786164a0123d95b80aa100c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/bn-IN/firefox-66.0b7.tar.bz2"; - locale = "bn-IN"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/bn/firefox-69.0b16.tar.bz2"; + locale = "bn"; arch = "linux-i686"; - sha512 = "468360b5d13a3a43eb3df625685028c4b3077d1ba31332e994ce26f8f88c65c2458426fbeb7ea0e7657e7f1c5b43b8be772609d44c615fd1ea248e276ca7f90d"; + sha512 = "1ca9adfd64c8194fcb7014cf48a87e171d5fd667515a972259e9bbd5ae436470a64c2c03a7d672c411bb0644bd962e41f60dd5385a5c04aee1ff7a2f5b847eb8"; } - { 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"; - } - { 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"; + sha512 = "eb6ed30b684c016b947e3354da57b5886b29524b57f4bff4e071fab5d5ae978b94adf0572e74e9e31e15e493098aaba03344b632d0ff71145f90a8e5c7e367d0"; } - { 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"; - } - { 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"; + sha512 = "677e6238580a561fa86dbe1ba8d293aec4d51ee96adea11871e169e1d6ed0c1de29a6a44c374c87aaf93b00178719f142b44821d3f2f866cd43308f7ddc95784"; } - { 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"; - } - { 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"; + sha512 = "0e116e00a58d1086093e321a188c2c060f9dce3374cb7152d753064e170eca302c0698cda110ed12a4e41b669c242e3865165bfafc4463d1ce583d0854e16075"; } - { 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 2d9692c0528ed25f7fc81f7c20982e52e082f9f9..dea752874ddb1084f21f8a1b6f7f93e67efc71d7 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 b49d20c1e656836414c85e2d7403d26d234c2098..a9ca0a5fe06b51fa426d63fd22c91f9086d52fbb 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"; - } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/bn-BD/firefox-66.0b7.tar.bz2"; - locale = "bn-BD"; - arch = "linux-x86_64"; - sha512 = "c0fa1c00cffdb723263879974de005f7f62b661744f246d78d4aae152da1ec4b72cb4085c4956d57d594054720d99b8a7c0254620ce8bc481a83ac43a1bd31b0"; + sha512 = "d08edb6750464805ef379b18008d5f3a76a649ee4d6528b4ebd255ab89205756e2c9978bd9a27f56a607117186d434fa2df49ef4494bf5bd4f1f8e2eed10b30a"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/bn-IN/firefox-66.0b7.tar.bz2"; - locale = "bn-IN"; + { 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 = "9591940be5d6864041384bccfc321043b2bb09462506cc41142f378e423e0aa0a2d0dcf137ecd0331974809cf1f3ef80c30926b9f8565c08f505922bb01bd015"; + sha512 = "a3c200e13d6b20a7fcdba2524501d936a183213f590213727facd9271867ca3d5ac0c59831b88e92a424b3b154bb9cfc66dfd8908ee28fe6a4ed15146944eb7a"; } - { 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"; - } - { 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"; + sha512 = "1b0eb7dd1995822cf30aa85749741c1bdea6cc98b4eaeb1d11fd94b56d2138a177428734169355257a165350cf21b72141386d6fcbca606e9d3bc11f292563de"; } - { 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"; - } - { 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"; + sha512 = "b7943903f7bd3783e5c3776d35125b19ed88e87f6449f25a5b26dead87407d0180cb21b67c89971d3e975d454098d22706c74a33d21c2888a90a0af9ef7b601a"; } - { 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"; - } - { 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"; + sha512 = "0c0fbf38f078c0fc4ae38112611f164808c7b9fbc4e3ef7d57e622e918f5c581915095d5bf7c92cc0ef9beb67cb04ba9b1ae1e011b7c8f91f23a79a326481931"; } - { 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"; - } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/bn-BD/firefox-66.0b7.tar.bz2"; - locale = "bn-BD"; - arch = "linux-i686"; - sha512 = "3e0bfd57662e6dbe3ac5d8296235e851602c028ffc02d89bd597345938f9d873913ddb2ddd81037b1fb4b067c52c6f8b8457f369d27964a43ea41765df57f9c0"; + sha512 = "a7a5818af9299a4b63098c102019134dcd74001a92a2d672d2c3c9e8dad6a58c28fdfd14ab10b96262ce34fca4947905f100a5d89df0e106df3c8b9a0a1796b1"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/bn-IN/firefox-66.0b7.tar.bz2"; - locale = "bn-IN"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/bn/firefox-70.0b2.tar.bz2"; + locale = "bn"; arch = "linux-i686"; - sha512 = "a762f317a36ed7bf900f12f5f0a25e8d6412bd7983aad4d701228c086cd4a0d14cab69b14cab6aa738fe501abbe941f4b061b87c9cb3843f5b33b7e832f9cf95"; + sha512 = "60de18a8524a67dfb90ee9d272ec06e70b4393b3ed76acc7c86a545af561b323710add4a4d8a896982dd8bb48bf3e32496fe800abf50fed509d91f0e54a8d04a"; } - { 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"; - } - { 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"; + sha512 = "de2716443b6dc3757fe58d42ef4fc526c1218601650ba7ccb0b0a9f77b7acb04a4e4af2c79b7587ab8d8e3515ca6602b563fb54ac5e102ca30952c39843c7d31"; } - { 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"; - } - { 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"; + sha512 = "e8cf48b2e4a841c6101ab0759db844dce8865bcaf056dc0d2a5c43653bf86602dcdb337422a8149a4d4527f33ff79509d4c4a3fc221ca50c0f78fac80d7e45a2"; } - { 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"; - } - { 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"; + sha512 = "94004a03a0b07fb91a30677168d19ecfb29d5613483da62859cc68d9e392f94ecfd87f29b5f3c44cdfbb3fe067216fe4f6db997da2368aeb289fb7b1d83029a6"; } - { 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 bd27ce85c94f6693b094535ff98974b2f195d3a0..0000000000000000000000000000000000000000 --- 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 e5e94559af239c4416a5a882d339ccd4a39176f7..cd9d3bd88a09365cbe43809396ecb89904d7c20d 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"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/bn-BD/firefox-65.0.tar.bz2"; - locale = "bn-BD"; - arch = "linux-x86_64"; - sha512 = "1fe6f67067cc27f4d8b13eaa22a8ef2ca23fd3971a3140432ee389327fd97faf97be802add562b2f4ced0fc83f75b8c8c8c707c160e0ce3ec50648735704f9cd"; + sha512 = "75b57ec04a5a56691e31d4d10acca2e28d1d8975f4cd277c4e1e523e9ab0860789c83f63ce2a7c41f8b3308c7f75539d3c833c2cd62bcecf8677114b053322ec"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/bn-IN/firefox-65.0.tar.bz2"; - locale = "bn-IN"; + { 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 = "d5ad4b8673ab8c136e3aaf5c2627c7210d670351744d486a896d40dd1599ee17a5cf90fe2c967d1c70989ac644f180c0efe23fa25f5f76ea4ba4f0ca0f3492c2"; + sha512 = "6942ef38de37525233bc24aa993fb9ef3e723fb21a4627f0edd53412b2129c1326b85f3c828383080d7fbff3fecaca63d69e765b61b1d45a2edebc0c037f710f"; } - { 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"; - } - { 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"; + sha512 = "8742f7831dbb888554532583c0dae319c1e30424901bbfeab62011088755067df63f360e5aed8fe3675706c4a64dbfaafbf832e66f559dd3c1f58afe8468bff0"; } - { 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"; - } - { 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"; + sha512 = "370dc43f9bc1b33f3e1babadd16d8fb63850b8e68be13a22843bb09db530dfbdb22218507b04c406f3b386ef683572ba262a3a16b62c4273ff3fa2c014b4ef54"; } - { 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"; - } - { 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"; + sha512 = "8dcb8884541f272cdc97ebb9fbc0ac7cc98c3f3d252ad53cd94aee3c5d9768fd123d87a4b8c111ed92239e90f6d54daf67c5efa3823f8b1b6682eb8ad2c3876a"; } - { 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"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/bn-BD/firefox-65.0.tar.bz2"; - locale = "bn-BD"; - arch = "linux-i686"; - sha512 = "9564b72566f535061c5ce2d7acffeaa049e8021adc6dce964c035c55cc5d118565dad54c933db771757429bcb81412a71421cbd52ec2f939bc47957f3e05d623"; + sha512 = "0a473653d6ff4b6c604e269243f781704c8fbf9f99b18e3fce83680793622b58de5aa655e5301dca2765d6526fb5aa88ee2caf7d35557047c4329994610d9502"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/bn-IN/firefox-65.0.tar.bz2"; - locale = "bn-IN"; + { 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 = "e43676d023a668d215f39b084007812514ff663063b3a16fec72aa79e801a2463d93b292924687341be96101c58954465762dd68a4f44bb18c5f322f59beee3f"; + sha512 = "fbaa81947143836f54f84e4e376ce31a21cf59a46debdb61c8a9db2f92703da3ac06218c560a639b5d6076e81d74dffd291f9d773b6b7ae5d65dcd0e77b5d1de"; } - { 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"; - } - { 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"; + sha512 = "d6acd7725858a512805676f6fa215b949e631f4493bdb060921bc51c2f2526bd0e69641b41168ce756556510e354cd98fe1d1bced42a1e0a7100ee797c2eec00"; } - { 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"; - } - { 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"; + sha512 = "db44f22e19d505a590749ac98d7b84354106d421e4a45eff70986af2c9d2ac581a0bd84cfa103196ae4cdc17dd1fe5d9f0cf0c710ee0fb5a0ff7701f6de5253f"; } - { 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"; - } - { 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"; + sha512 = "6b34edad11c141398d329d07e126eddf03bfd395bacd6856e947771ea65e274e78f96784f695542280f4530c395ebd0011946f1bdc95c1bf5c0f96ae8d7ea707"; } - { 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 ee022e329f9fc2df01e4debe00a18046229f047e..d6593be8890cc822200bebb7d69a670c9f3067e3 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 1219f3bb895e88feac22ae5430b48bb00a19e694..e6f143c9762984a322d7062287ffe05854ceaa8e 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 a0f581d84733baaf6491405aa47d0a5ce80ae1e3..18d31356989a2c79a55580208d8730c2ba09b0c9 100644 --- a/pkgs/applications/networking/browsers/firefox/env_var_for_system_dir.patch +++ b/pkgs/applications/networking/browsers/firefox/env_var_for_system_dir.patch @@ -1,14 +1,6 @@ -diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp -index 380c1c1..255539f 100644 ---- a/toolkit/xre/nsXREDirProvider.cpp -+++ b/toolkit/xre/nsXREDirProvider.cpp -@@ -306,7 +306,8 @@ GetSystemParentDirectory(nsIFile** aFile) - "/usr/lib/mozilla" - #endif - ); +--- a/toolkit/xre/nsXREDirProvider.cpp 2019-02-28 21:00:14.157543388 +0100 ++++ b/toolkit/xre/nsXREDirProvider.cpp 2019-02-28 21:01:28.731128320 +0100 +@@ -302 +302,2 @@ - rv = NS_NewNativeLocalFile(dirname, false, getter_AddRefs(localDir)); + const char* pathVar = PR_GetEnv("MOZ_SYSTEM_DIR"); + rv = NS_NewNativeLocalFile((pathVar && *pathVar) ? nsDependentCString(pathVar) : reinterpret_cast(dirname), false, getter_AddRefs(localDir)); - #endif - - if (NS_SUCCEEDED(rv)) { diff --git a/pkgs/applications/networking/browsers/firefox/fix-debug.patch b/pkgs/applications/networking/browsers/firefox/fix-debug.patch deleted file mode 100644 index ba92bbc47403fab8c8c070b61f24cd01931dc04d..0000000000000000000000000000000000000000 --- 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 09c1e5dd8f8e1b2e9572f763dd778cac75090a5c..20509439d2fbcf600c9dc726e4569a0cfb94409d 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 07ae2c040e6e888ae1f6d6ef9462f357b69fc88e..e12b552535d2dad92db4d44ba377635507265405 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 bc3a1ed844a46aa70da3fe8f09f1da88cdba3e15..2a4db14b2c6d4eeb1242d96ae7f85e09bd3a35b8 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 6043744f296c6b8f1509f918efc74bf43d928e17..977b40e4a7e3093d1a765541bdd628e92238bfb5 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 62be8bbc1d611c08f28c05b4764b89ef3b2398b2..f2cc277f3dac5b08a2f6a692b2e8c8ce1bdf43b2 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 f55d129df21fddfa679299bdd1e9e97b6619ed14..69beeb167590ed6ca48432c76355fa1d2f753ce2 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}: - -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); - -in stdenv.mkDerivation rec { - - name = "luakit-${version}"; - version = "2017.08.10"; +{ stdenv, fetchFromGitHub, pkgconfig, wrapGAppsHook +, help2man, luafilesystem, luajit, sqlite +, webkitgtk, gtk3, gst_all_1, glib-networking +}: + +stdenv.mkDerivation rec { + pname = "luakit"; + version = "2.1"; + 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 cb44e79839b0ce34480eb95352d3cd5e21b3c89f..3f4f96d33efb6401b96e08d5c1fddda1aeb7af27 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 290810198adeef4a6b3ee9fee10385568b27a88f..fd21d9222d3d31a407e32e5764390913f46b9cfd 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 fa98f2a9e7857ecd1b67fdd7a023bcfa4f4d4503..e8841a0ab6fbec1fa9f4fcaf5fd35e63b3bb72e1 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 48d06d644dda85b06eeaacd2ec03605165f73cfa..0000000000000000000000000000000000000000 --- 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 c48c36ad7a06a5931ee1a35e47d9237cedffaa6b..772ca926cd7565bbb3cfba6663f1105d05c94ed2 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 dd7b931b94056213833bc8dda21fb798809d02fa..2d2d2a6910069da38fc91a2e4b0398c8b3468c38 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 30bae8792c2e053a0914a4b7dbed9ab8e17cebfc..101ae99d6659bea3c3a454a3c99e0cae592052b6 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 71b5161c1e39d3884eccd507a0e63efc73a67e06..bde4ce15d7c0cd3cb7e8403c3e0ecfa825aa9f9a 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 c6c1d6a334cde76c86e4cd9889f9bd9de7a5bf0c..fd956f62327e255e0323d96105f5512dacdeb7dd 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 07a389af8d61812b5e6122b785e4d858fc60b286..062d2e6582b116e8be7d70524ca9afa45c54d6d2 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 9a47e18fad121cb31f9e63f1caac48d7a4a4c080..d41f8440420122dbf399dbc79a1e8d496e6a1bbb 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 0d863ae9131442421e6a8817d34d3b008bb3e5fe..c4182785e829098e365f7da5592fb0d9424d1ba7 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 - patchPhase = '' - chmod u+w . + ac_add_options --prefix=$out + mk_add_options MOZ_MAKE_FLAGS='-j$NIX_BUILD_CORES' + mk_add_options AUTOCONF=${autoconf213}/bin/autoconf + " ''; 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 df956addf5ccdef9caaa61157e5285974bbb6b2a..9a4d61a50aee50f312f81b43d030081548078920 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 1be4f1c4c52479562adc8251890c5722aacd69f0..05eafb48e721c33fd88bc7dae20c73e86c329795 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 0000000000000000000000000000000000000000..56f6bcebf2808142883ecb159e23eb3e94cedb3b --- /dev/null +++ b/pkgs/applications/networking/browsers/qutebrowser/fix-restart.patch @@ -0,0 +1,29 @@ +diff --git a/qutebrowser/app.py b/qutebrowser/app.py +index 2b6896b76..ee05f379d 100644 +--- a/qutebrowser/app.py ++++ b/qutebrowser/app.py +@@ -555,22 +555,8 @@ class Quitter: + args: The commandline as a list of strings. + cwd: The current working directory as a string. + """ +- if os.path.basename(sys.argv[0]) == 'qutebrowser': +- # Launched via launcher script +- args = [sys.argv[0]] +- cwd = None +- elif hasattr(sys, 'frozen'): +- args = [sys.executable] +- cwd = os.path.abspath(os.path.dirname(sys.executable)) +- else: +- args = [sys.executable, '-m', 'qutebrowser'] +- cwd = os.path.join( +- os.path.abspath(os.path.dirname(qutebrowser.__file__)), '..') +- if not os.path.isdir(cwd): +- # Probably running from a python egg. Let's fallback to +- # cwd=None and see if that works out. +- # See https://github.com/qutebrowser/qutebrowser/issues/323 +- cwd = None ++ args = ['@qutebrowser@'] ++ cwd = None + + # Add all open pages so they get reopened. + page_args = [] diff --git a/pkgs/applications/networking/browsers/surf/default.nix b/pkgs/applications/networking/browsers/surf/default.nix index 3a7612bb0fbc470befc8bf2b1b0bcfd6bf323842..a4979d3bcf2cdc5c944ac2dfceb465ebb6e55f87 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 cdee8111b549d80217216e2a498e941695c9822e..fc3cc2e89a91b2f259f8a628aacb2ec1a30ae410 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 8c8212e9e2c8773c538c2e1d5cee3e231cdf68ba..f15bf165e826e654f99a10af1c25c06d5203b2cf 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 0000000000000000000000000000000000000000..a21de1acad28761e7a104a7249e1e032db567dd2 --- /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 c1fa364a2d2323b0458178bcb993d11cb06a18c4..136c14d34d48625d863c5909b5dd9ba0f5912347 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 83b3e96821f559b8c735dc9c0b9a1112d38f31a7..0816c022926d77b3586cd022f6dec766f6a243ed 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 242abc2ece79745635092296938c1083b0215046..4495fc0957965d03f17d2e2b583e979612ae47c5 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 3f019d177023873801dbdaa7f783087a879f9c75..09be379b2409fed75dce492ea869fe061daa19a1 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"; - }; - -in stdenv.mkDerivation rec { - name = "charles-${version}"; - version = "4.2.7"; - - src = fetchurl { - url = "https://www.charlesproxy.com/assets/release/${version}/charles-proxy-${version}.tar.gz"; - sha256 = "1nycw3wpbfwj4ijjaq5k0f4xipj8j605fs0yjzgl66gmv7r583rd"; - }; - - buildInputs = [ makeWrapper ]; - - installPhase = '' - makeWrapper ${jre}/bin/java $out/bin/charles \ - --add-flags "-Xmx1024M -Dcharles.config='~/.charles.config' -jar $out/share/java/charles.jar" - - for fn in lib/*.jar; do - install -D -m644 $fn $out/share/java/$(basename $fn) - done - - mkdir -p $out/share/applications - ln -s ${desktopItem}/share/applications/* $out/share/applications/ - - mkdir -p $out/share/icons - cp -r icon $out/share/icons/hicolor - ''; - - meta = with stdenv.lib; { - description = "Web Debugging Proxy"; - homepage = https://www.charlesproxy.com/; - maintainers = [ maintainers.kalbasit ]; - license = stdenv.lib.licenses.unfree; - platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; - }; + generic = { version, sha256, ... }@attrs: + let + desktopItem = makeDesktopItem { + categories = "Network;Development;WebDevelopment;Java;"; + desktopName = "Charles"; + exec = "charles %F"; + genericName = "Web Debugging Proxy"; + icon = "charles-proxy"; + mimeType = "application/x-charles-savedsession;application/x-charles-savedsession+xml;application/x-charles-savedsession+json;application/har+json;application/vnd.tcpdump.pcap;application/x-charles-trace"; + name = "Charles"; + startupNotify = "true"; + }; + + in stdenv.mkDerivation rec { + pname = "charles"; + inherit version; + + src = fetchurl { + url = "https://www.charlesproxy.com/assets/release/${version}/charles-proxy-${version}.tar.gz"; + inherit sha256; + }; + buildInputs = [ makeWrapper ]; + + installPhase = '' + makeWrapper ${jre}/bin/java $out/bin/charles \ + --add-flags "-Xmx1024M -Dcharles.config='~/.charles.config' -jar $out/share/java/charles.jar" + + for fn in lib/*.jar; do + install -D -m644 $fn $out/share/java/$(basename $fn) + done + + mkdir -p $out/share/applications + ln -s ${desktopItem}/share/applications/* $out/share/applications/ + + mkdir -p $out/share/icons + cp -r icon $out/share/icons/hicolor + ''; + + meta = with stdenv.lib; { + description = "Web Debugging Proxy"; + homepage = https://www.charlesproxy.com/; + maintainers = [ maintainers.kalbasit ]; + license = stdenv.lib.licenses.unfree; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + }; + }; + +in rec { + charles4 = (generic { + version = "4.2.8"; + sha256 = "1jzjdhzxgrq7pdfryfkg0hsjpyni14ma4x8jbdk1rqll78ccr080"; + }); + charles3 = (generic { + version = "3.12.3"; + sha256 = "13zk82ny1w5zd9qcs9qkq0kdb22ni5byzajyshpxdfm4zv6p32ss"; + }); } + diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix index fd047147e01aa8bcbb0f72a3e1a9f60116be6945..6712dcd486bc9540bb08049f4ab4e41ceeb45ec0 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 da7f509378ddd1ca68fae77e1c526c132804a0e7..e5ca7be00705b4684664923825edf1a04113ba36 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 647261a138f28e11e101c8d9b11ecda8beb054c8..92db34417f47fc55840239e56d5f7cb4c3568238 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 bc9023a222f64a95ea474bb6c6672e61ae075216..78be19cd81e5d8c240479d74788380d76a6b4fa7 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 2c7a026b277e61911ec3139efa9e8b0d06f2c937..bd8eb5451526abb12446876755477c909df6763c 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 bc4db7ef7c12175bc7f7c5d902860494f8f9e94f..0000000000000000000000000000000000000000 --- 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 3f342ea04a03133e75c91052a517b794c4ab739a..88dbd177da048447f12f297781b34fd7b0dd812f 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 27e0a038310b46d7c2035449fe445b4dcbfc0352..b5276818f79fab096224886a19821e8a4e7b24ab 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 876630c559a5c9b4dd6f2f8574d442ac3ea38526..115dc3835fc55a972fd1454bdae1870a5cc3a4e3 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 181663513d3efdd2cf0c6fe814d58732d73c62d4..de122dd2a5a24d0db8bd4aa36f18f5b9ecb45203 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 41465766489e44c351c60c7e77fad793c6722624..eb2946cec7718a97dd0a556ce2fe5166fd3ea64b 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 6b0440eb84aec57fe5b7065c8943a96b7e17dc90..1c2caff50d5368521192b1c0e04d366325ca2edc 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 e5f437a89ad92589161b0a2f49eb48b12e2bcc87..424b2ddca910d981b13473fa4f6c6fe7650c6c3d 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 0000000000000000000000000000000000000000..b0f679322659618352415efe7ccb90b22d374640 --- /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 dfe6513bf0c1062022497f1d35f382eeabf5077f..438fdfb2ebac83aa3f09dcac2f0b82f73afc6ddf 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 c03af2e9683d40d87581868eb092c9547dfd1f31..b32862bb4d67526bd9d7d0c2b572871dfb9018dc 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 36bd3406f5bfa1143c8909ac060440c3bfc5b6f3..2fdda0ca28006cc3ddcbdcdfc77dbbd0b95d1daf 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/adisbladis/vgo2nix"; + fetch = { + type = "git"; + url = "https://github.com/adisbladis/vgo2nix"; + rev = "56ac56bb0d96"; + sha256 = "1jbxbgcqkal8cdhj2nfbw92fn1fs9ng1df9sf92vgf0m1xzq2mc3"; + }; + } + { + 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/aokoli/goutils"; + goPackagePath = "github.com/alecthomas/kingpin"; fetch = { type = "git"; - url = "https://github.com/aokoli/goutils"; - rev = "9c37978a95bd5c709a15883b6242714ea6709e64"; - sha256 = "1c51qgk4pjc8c776h7589c3d14791h86f1yj3ykg4q7vlcf9xrnr"; + url = "https://github.com/alecthomas/kingpin"; + rev = "v2.2.6"; + sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r"; }; } { - goPackagePath = "github.com/asaskevich/govalidator"; + 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"; - }; - } - { - goPackagePath = "github.com/docker/go-connections"; - fetch = { - type = "git"; - url = "https://github.com/docker/go-connections"; - rev = "3ede32e2033de7505e6500d6c868c2b9ed9f169d"; - sha256 = "0v1pkr8apwmhyzbjfriwdrs1ihlk6pw7izm57r24mf9jdmg3fyb0"; + rev = "a9fbbdc8dd87"; + sha256 = "0vkr9fs8qv3ydpm4f4b3jsx1f3cxpws78f2kwpyn00y1gb3lpnpc"; }; } { - goPackagePath = "github.com/docker/go-units"; + goPackagePath = "github.com/docker/spdystream"; fetch = { type = "git"; - url = "https://github.com/docker/go-units"; - rev = "9e638d38cf6977a37a8ea0078f3ee75a7cdb2dd1"; - sha256 = "1sqwvcszxqpv77xf2d8fxvryxphdwj9v8f93231wpnk9kpilhyii"; + url = "https://github.com/docker/spdystream"; + rev = "449fdfce4d96"; + sha256 = "1412cpiis971iq1kxrirzirhj2708ispjh0x0dh879b66x8507sl"; }; } { - goPackagePath = "github.com/docker/spdystream"; + goPackagePath = "github.com/emicklei/go-restful"; fetch = { type = "git"; - url = "https://github.com/docker/spdystream"; - rev = "449fdfce4d962303d702fec724ef0ad181c92528"; - sha256 = "1412cpiis971iq1kxrirzirhj2708ispjh0x0dh879b66x8507sl"; + url = "https://github.com/emicklei/go-restful"; + rev = "ff4f55a20633"; + sha256 = "1v5lj5142abz3gvbygp6xghpdx4ps2lwswl8559ivaidahwnc21c"; }; } { - goPackagePath = "github.com/evanphx/json-patch"; + goPackagePath = "github.com/evanphx/json-patch"; fetch = { type = "git"; url = "https://github.com/evanphx/json-patch"; - rev = "94e38aa1586e8a6c8a75770bddf5ff84c48a106b"; - sha256 = "1c9gzc3gb76lm5famc0345y90is1lyffn39bmdr0xk19462f8av5"; + rev = "v4.2.0"; + sha256 = "0cfvyhl3hjfc4z8hbkfc40yafv6r7y513zgp3jwf88isbd13r7a6"; }; } { - goPackagePath = "github.com/exponent-io/jsonpath"; + 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-kit/kit"; + fetch = { + type = "git"; + url = "https://github.com/go-kit/kit"; + rev = "v0.8.0"; + sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0"; }; } { - goPackagePath = "github.com/go-openapi/jsonpointer"; + 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/go-sql-driver/mysql"; + fetch = { + type = "git"; + url = "https://github.com/go-sql-driver/mysql"; + rev = "v1.4.0"; + sha256 = "1jwz2j3vd5hlzmnkh20d4276yd8cxy7pac3x3dfi52jkm82ms99n"; }; } { - goPackagePath = "github.com/gobwas/glob"; + 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/mock"; + rev = "v1.1.1"; + sha256 = "0ap8wb6pdl6ccmdb43advjll2ly4sz26wsc3axw0hbrjrybybzgy"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; fetch = { type = "git"; url = "https://github.com/golang/protobuf"; - rev = "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9"; - sha256 = "1ch3czyzq5abl6zm1l0dfsi09xj43ql9jcbmbhfhxz954pw03v3v"; + rev = "v1.2.0"; + sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab"; }; } { - goPackagePath = "github.com/google/btree"; + 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/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"; + 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/mattn/go-sqlite3"; + rev = "v1.9.0"; + sha256 = "14vw8bwyaz9lrd1rqhfri5cwpimiimhp75pkbqxxsjsr5jz89s7m"; + }; + } + { + goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; fetch = { type = "git"; url = "https://github.com/matttproud/golang_protobuf_extensions"; - rev = "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a"; - sha256 = "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"; + rev = "v1.0.1"; + sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya"; }; } { - goPackagePath = "github.com/mitchellh/go-wordwrap"; + 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/lint"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/lint"; + rev = "c67002cb31c3"; + sha256 = "0gymbggskjmphqxqcx4s0vnlcz7mygbix0vhwcwv5r67c0bf6765"; }; } { - goPackagePath = "golang.org/x/net"; + 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/sync"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sync"; + rev = "42b317875d0f"; + sha256 = "0mrjhk7al7yyh76x9flvxy4jm5jyqh2fxbxagpaazxn1xdgkaif3"; }; } { - goPackagePath = "golang.org/x/sys"; + 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/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/inf.v0"; + goPackagePath = "gopkg.in/gorp.v1"; fetch = { type = "git"; - url = "https://github.com/go-inf/inf"; - rev = "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4"; + 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://gopkg.in/square/go-jose.v2"; + rev = "89060dee6a84"; + sha256 = "04ak01zs9qibr6qvc6l0zdjj9pgccpbvxz6rdwrqv698i1q3qfpd"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; fetch = { type = "git"; - url = "https://github.com/square/go-jose"; - rev = "f8f38de21b4dcd69d0413faf231983f5fd6634b1"; - sha256 = "1bjrs3xq3m2ckfds0l4wqf81311ymm9agipmkllbvkadac156dsa"; + url = "https://gopkg.in/yaml.v2"; + rev = "v2.2.1"; + sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; }; } { - goPackagePath = "gopkg.in/yaml.v2"; + goPackagePath = "honnef.co/go/tools"; fetch = { type = "git"; - url = "https://github.com/go-yaml/yaml"; - rev = "670d4cfef0544295bc27a114dbac37980d83185a"; - sha256 = "182x97q4826cpzybkrl8icyx1n6l1z0kspmbz33fh901v10b6322"; + url = "https://github.com/dominikh/go-tools"; + rev = "88497007e858"; + sha256 = "0rinkyx3r2bq45mgcasnn5jb07cwbv3p3s2wwcrzxsarsj6wa5lc"; }; } { - goPackagePath = "k8s.io/api"; + 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 = "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"; + 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 73ec998ed8e81e92bab64e5a0e7acbe85bc01682..1faa0988a66d74023a136ca38579e417ce89cea3 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 6a83ac34f3f9bc50a4e4f7d955c4d7bc8a63d9f2..b9413577b10445fc3efe2c244dbd77c858f4c5f3 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 fe2420a719d55a0e9469a9fef6835a9a61b3e363..7938265d1b8da82933624d3d41e4ca1437eacf63 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 0000000000000000000000000000000000000000..223d6c6c2477ab2d66adb866520e05af3d189f46 --- /dev/null +++ b/pkgs/applications/networking/cluster/jx/3321-fix-location-of-thrift.patch @@ -0,0 +1,36 @@ +From 40b8eaacb3a24c466c17c8a65938330d5805b112 Mon Sep 17 00:00:00 2001 +From: "Wael M. Nasreddine" +Date: Fri, 8 Mar 2019 14:10:11 -0800 +Subject: [PATCH] chore: fix the location of thrift + +Thrift is no longer available at the git.apache.org and it's now +distributed on GitHub at github.com/apache/thrift. + +fixes #3320 +--- + go.mod | 2 ++ + go.sum | 1 + + 2 files changed, 3 insertions(+) + +diff --git a/go.mod b/go.mod +index 04bcc84cc..e26c4cf1d 100644 +--- a/go.mod ++++ b/go.mod +@@ -184,3 +184,5 @@ replace k8s.io/metrics => k8s.io/metrics v0.0.0-20181128195641-3954d62a524d + replace k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20190122181752-bebe27e40fb7 + + replace k8s.io/client-go => k8s.io/client-go v2.0.0-alpha.0.0.20190115164855-701b91367003+incompatible ++ ++replace git.apache.org/thrift.git => github.com/apache/thrift v0.0.0-20180902110319-2566ecd5d999 +diff --git a/go.sum b/go.sum +index c9fdf8768..6ed69e69d 100644 +--- a/go.sum ++++ b/go.sum +@@ -87,6 +87,7 @@ github.com/antham/chyle v1.4.0/go.mod h1:D94Z4aE/ECudyNoTHwkhqu77mjGPZtfPG8dNoeI + github.com/antham/envh v1.2.0/go.mod h1:ocIRPHuwwjyBVBtuUJOJc2TYzGg+d23xSAZexl4y9hQ= + github.com/antham/strumt v0.0.0-20171215230529-6776189777d3/go.mod h1:sE7EYIUE0nQzPiv5zQAmw2aVkei0j2xmb4gTIIqSFSI= + github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= ++github.com/apache/thrift v0.0.0-20180902110319-2566ecd5d999/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= + github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= + github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= + github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da h1:8GUt8eRujhVEGZFFEjBj46YV4rDjvGrNxb0KMWYkL2I= diff --git a/pkgs/applications/networking/cluster/jx/default.nix b/pkgs/applications/networking/cluster/jx/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..88aa8777ee5ec9042c2c15f5658836975e0bcec9 --- /dev/null +++ b/pkgs/applications/networking/cluster/jx/default.nix @@ -0,0 +1,41 @@ +{ buildGoModule, fetchFromGitHub, lib }: + +buildGoModule rec { + name = "jx"; + version = "1.3.967"; + + src = fetchFromGitHub { + owner = "jenkins-x"; + repo = "jx"; + rev = "v${version}"; + sha256 = "0a25m7sz134kch21bg6l86kvwl4cg6babqf57kqidq6kid1zgdaq"; + }; + + patches = [ + # https://github.com/jenkins-x/jx/pull/3321 + ./3321-fix-location-of-thrift.patch + ]; + + modSha256 = "0ljf0c0c3pc12nmhdbrwflcaj6hs8igzjw5hi6fyhi6n9cy87vac"; + + subPackages = [ "cmd/jx" ]; + + buildFlagsArray = '' + -ldflags= + -X github.com/jenkins-x/jx/pkg/version.Version=${version} + -X github.com/jenkins-x/jx/pkg/version.Revision=${version} + ''; + + meta = with lib; { + description = "JX is a command line tool for installing and using Jenkins X."; + homepage = https://jenkins-x.io; + longDescription = '' + Jenkins X provides automated CI+CD for Kubernetes with Preview + Environments on Pull Requests using Jenkins, Knative Build, Prow, + Skaffold and Helm. + ''; + license = licenses.asl20 ; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/applications/networking/cluster/k9s/default.nix b/pkgs/applications/networking/cluster/k9s/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..5c0adbdc548a6f1b4e4c7ebb01179f04bb38baf9 --- /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 6274168b3da7fab4b7b48ad49f6290ac4134f421..52abc3189903da488b6218c217124f0d4aba90cf 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 d6e703f79d052136035cd64d7a0935c59659af4c..1a14e1ed273ee301705019a7caa4f6ef6be8cef3 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 1e03efddc062848922e0e7dbde44f911dcb44247..e38dc355d2464660502e57d9a3a096ed4ebbb6d2 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 c9edaae1e536b4f01fd794558f3024427f2adfd9..c8b95baf2f39562e5b3f2bc4dda01848b7efc34b 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 b8bce931523763fb8a64576311531ddb6d63cd54..0000000000000000000000000000000000000000 --- 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 2a43c23e73aa82c98fa0edb3a1330265e313ad9e..a3cb55ce329cb0712242a20832a14146ed412421 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 0000000000000000000000000000000000000000..c549efa7b40b64c50db22239b358caf93134a977 --- /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 0000000000000000000000000000000000000000..4fb2936a40b05a898896c2715a0d6296c8e897e7 --- /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 1e16cf1afca1dd053c430c1313d49d4f1c9d5ef7..e1b5a4425d517a6de6b3c0aaf77fbd80223cd62e 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 4dbd3d38d31dd336f4b703010b4efd8ac95256a9..40d42408679eb7486a3cd7b05f9808838a6b3b29 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 0000000000000000000000000000000000000000..a69dc8890a7baf3b132c3393a9ec24e5e66570ef --- /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 597c2c1830926d9b5930b5965a6798ac6c224cb9..e4adabd7581348c172fe3cfb14934bf00d7fc027 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 6ac232ee5bf4be8deade81a5a19648774beee16d..ab8b7deae72d6a13e1e7c4e8e817a725475ae040 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 55a827f9cf920e0685241e7b8a89d165b08e8918..982f36def691024774c0392a95ab59dca98ea0db 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 0000000000000000000000000000000000000000..256bce9b6ec2413606aa0d45e17ab9e814c133f5 --- /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 49cac6d50635e2df67e4b650d1259742100a3da3..72bd82be6c16eed21ac54ab288a715feb362e055 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 8cff2494bf8fe6ca5f2a02fee62afd699548d01d..0ffc7a1fb6f0737bc880a9cbfbac8206c4a5a3ca 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 c44b7ac1dc76d959109d8631c4ebd1ddbd5a515a..5637e486ef116458765d952505f33025fa8a00ce 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 bb10349470f66599af5fd38f5ecb9a338eaffb94..43e960d9403ee4911ba22f22db2b0868014abfa3 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 765d168449912353896291883c01b7823fb87f80..a4236a9408cca3318f43fbe7c72bc68eebe5d134 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 f730329d07251398dcbb6b900035badd1009e3a0..758786f586a6fb0735d4bbd3f8797c8a8777e6ee 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 c276c2e752fd5d535b34833fe2894af270a6a073..de0bb015852cfda8cc157f81e17c8bcc75eec3f9 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 0000000000000000000000000000000000000000..ae407727b9d4e3428e92ee6a4ca256f62e151354 --- /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 0000000000000000000000000000000000000000..1c802802c096ed8479bc411b81080c4d507c125a --- /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 0000000000000000000000000000000000000000..de683b26484c1f2e3f0158e2bc0b57f4a9a6fe4e --- /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 6401194eac20332f0a97e16f9b1f6cbd2cb8483b..e675d17491afb6ebab1ec7d567488434bdd8ceff 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 bb179606b367489857a842d2067300f16a703de2..0835d268cd79b2addf044b682dbe152baf66514b 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 bb0f3229ea5e0b5f958378dfce227808d9c0c89f..8e9e6691a79e8510f6435d7b9b95726de817ac81 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 c61896d892182d2bd089eab33baea05efedd2b34..3423163f590267ba61225e9ee62c80bfe213c669 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 2b39cebbbeb0730d8c26736d39f63c2757dd09ba..606cd0370aa2c8820cd8a41f5ae4c4d963b033a9 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 dd4a36807ea15d8a84323c6a7921c2e6f306ea4c..1bb8df88d0101f6432a28dc279a7f5b77f6917a9 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 aa52350685057d4e1cf575346da0026e7bc8e9f8..6973938b60de22604657ea09ea3152adcc818e99 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 0000000000000000000000000000000000000000..bb634a78e23cfa88a60e97605ee7bed4b8caf29b --- /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 0000000000000000000000000000000000000000..dc49f24afa5901ee2fbae6b30c9dc74982d7df40 --- /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 86787a12c6ad198e669ff373ca97d0fab1edea9f..16056d9185b5cd6b151e695768e39e0e47a25a40 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 0922bd7b8a9fd81ca71c9234a97cd6659ce11ac8..fc6b71313856544a432fb56090c1a19789659cb9 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 0000000000000000000000000000000000000000..1aadbbc5ccd38e3a70ceca5d3c4b55483961003e --- /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 291698f3065f79a1124a7357cdacfe9dcb834e44..4571d368991fa69ec106cf53eea1133a4b59a2bf 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 fddf13795f3eab11d69ebd9aa776632dedfeb9d8..06d7b8a9f073eaaa4c3837d41a96700ef3057989 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 96b5c8a0fa1fd61610171103611480b4364666fa..23c4f4bfa8b3519e7659791c35aae7334299a7f1 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 c32d6d7b7d6a1c162facc58b5869e829f9ac7065..286e3d6efe0413db78d5a2c9649d91345b65fa1c 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 a9d8faf62b56029525f1623ba1a1d953c7532281..de1e86fa07364e656ffc48e9702de059c2f3973a 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 56c30df37c5b16a5b2f5a1d70acb3ab5b5b31964..ddeb5851037b839f8ae3b90cf2829ffacb87424a 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 0000000000000000000000000000000000000000..b4707327bc728713a1b3256679125c6db30b9598 --- /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 48f85c80e0ebb85db498884bb736143ce85bf2ac..5d9a658972c36164a08906455d217a09cc65f166 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 1ee2c694e0b46f3baaf0167db6c18f16ef8e98fb..6dbc6954ef519b5108d7e4a57bd3084e291c0570 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 f66692d105639600b9a5aee800a2516ef6271897..589cd04057ee0aae1ef04227a7c2a700783aaa4e 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 113d6a2e5f4650207cd4080771ad4135cfd3b8f3..0967fd95dc0b14d6e236a399024f4fbcb79566b0 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 62fe4e2e662e1c77dddba5d0cf5351d66d44d3b0..c74f5789d84fe83a41235e595c751388ed54ca03 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 fc6cc61787fabbf33d8f689189a16c0e521a14eb..54ed0f2eea040cc875f18160d8c2a5c9b9e9d7f2 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 ]; - - phases = "unpackPhase installPhase"; - - 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" - ''; + strictDeps = true; + + patches = [ + (substituteAll { + src = ./fix-cli-paths.patch; + inherit dropboxd; + }) + ]; + + 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 ce3141f0ef3aaeca391ea0717e9f2eb6e1c5d686..d820d40f7a34abc9ce4cdd9a13d23e525f353822 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 0000000000000000000000000000000000000000..84cd8014e1e6c652e4925051ef56ba977e83c138 --- /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 0000000000000000000000000000000000000000..4958d290529ed274fa6ef007e5e4698dbdec7348 --- /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 d1eeaa48bb7b15c0dcf8d2989f275b89ff90c22f..a5b4c577b4cb102edd8b8663f10d271a0f9c637e 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 f89b8206dbe63072ba6a99f975c81aecb6537816..5b1ab692abd241aa0e5ced227ffbd05a49e37442 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 87e0584c931efe4d093399814ca5fdd310c68da3..708d3c1ed800d1ff35042934394daa33518ec401 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 0000000000000000000000000000000000000000..21f1e555a291214e4e419300849073bc02380f7a --- /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 a7cfc6058244c156b76288ce3d37d799c9d75f2e..959649c4b15092569b823e9af09ee57415b08cdd 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 7ed0e8e137fd83a2a612eeeb8d4beb2147bb3b66..2795ac4e46e4055a6b0af3e1807217464f603cde 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 4d17cc8bddd1695f410bc437e6a24cb0f6e15acc..67346d45b9f4b3c14983605ea28d821691fc5cea 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 297703cde696e4dfb62fb41482d46821015aa3cb..169b88f27185808822ff7ffb8f96134047eab438 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 459aee01f43f2b6e56b24cf7539b2eed59dd1306..c0a6185309ae1885a438b902e9e73682bbcce04f 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 335f393bc0773bf47571fcd085bb08eb02ff07b7..ab2ca1601520b78574f79ac687471bf7aa0541d9 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 bb245928f07ccf2cd630071e1dc0e666cba5fce6..194dfc25ebaacf8d5f1f7a126eef4927fa12e0c0 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 2f97b39da60feb70cd05ef943ee079bde3ae0d01..bbd9a7601acdb559e3c5d9edc5a92a694f48ff17 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 69530be4a44683b257f78f9b5478e61b7ef412e4..2e1f2fbd38200a9974195bd46a325e6d88630aee 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 b7d19db376300cdf404dda00001eb015bf966045..efe602edc4f2fa6832cef974c597e0bb9ef15506 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 1625327f16dcd65fccd6550d1b74a27852287fbe..61424d395f9b93e183ccd2ea19f6f8b23d4839f5 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 42888da842c7bb5772ad05eab57011fa4ed5899b..3e2718c9c573ec27de3d8c335fdbf7aee28b7041 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 ef7091689b372afac6bdfd7b83c5d66b9d41f284..5f3ef945b3d4b2c2bd8225ed1f091dbfeefb067e 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 bc83767af32a397500f77d508753e97c0c8df101..0000000000000000000000000000000000000000 --- 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 a75835b3c7e97cb94b3c719edf3c7d74cb1d94a4..7b76154021aba8063d6e388b6584e6fe11bfab4a 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 4a669f127e54c96d9e77e031434037322188b2b1..f214f7221438827cfe7c911c872174df495899d7 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 c71db351e9d2de4b89b5e6f9f4947eabc76324b9..ff260c9161b807f434cccc341e714eb10c9545b6 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 60fd5af0a1ab030304bf531a592d0c3f71cd622f..079fc7d57fb1d9fab0bb848f20393aedf05666ca 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 59b1d463c9d2bda00f4c21a1e46527b17f865e21..eb6d954eb33464fba56e9cfe9bcb386909c2e3e2 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 18bf89a5f2ed9075ce9b808b99b20c12591c2860..9a1e46e5ac55885ac405b4263b4842d708d058ed 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 7e86a390edcbdc896f31b49bb9b070860e3c9443..34755809e392ba1d57c2ab47cc1db230724880b7 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 5fbf385ed07b37733b6434472be18bdc3005fe9a..c418b2e992a87d82d8ad1f896ba13f95e9e8d651 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 f482e12a4bc97527a32d7b8052757070be4dbaea..936974a1a8807a54267ecd8ae8bbf3d1c73365fc 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 ba1d64c8b92514d1255df5c861900752f1f160a7..1e998bcc80651a4fae4abb4f450cbd84e8e9a508 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 61e8c2b58d9d5b3066631ce9a5bf6be13be3ac5f..d226490b275502607270f56e9e1528db15791686 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 bcfcbee8556847685a9663895a8bc4029137cce6..e488ae73be008476b3ac7aae3e8d5f3faf17cd29 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 0b2cba649207198f3400d606768106071b9da914..3c4169274877fb76e3de32f1079446bb5babed1c 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 e54af933a0818138ae586f83dc6d9c515b35d130..22554a4abf8ba303e4ecf58d2385393ff10585a9 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 2d3a10cec5e401a77264d7d6c130e0d873e39d90..5b3e09440a63d8cbb6b8ed0277ad835a5cf2874c 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"; }; + nativeBuildInputs = [ intltool ]; + buildInputs = [ pidgin gmime libxml2 nss ]; + enableParallelBuilding = true; + + postInstall = "find $out -ls; ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe"; + meta = with stdenv.lib; { description = "SIPE plugin for Pidgin IM"; - homepage = http://sipe.sourceforge.net/; + homepage = "http://sipe.sourceforge.net/"; license = licenses.gpl2; platforms = platforms.linux; }; - - postInstall = "find $out -ls; ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe"; - - buildInputs = [ pidgin intltool libxml2 nss nspr ]; - } 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 ddb9217d5e225cb6cec4dcb56d6cc514e4855d6d..6657ff96b11fdc1a854de0dda45d669fef32f08a 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 8527593c1a20d0b26643724fe0752f0750a4ac49..df2665d8ce8f39a537fa50b3a0a323a1bc2c9c06 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 6d75ba40ce013f5ff8ca10e59383616357344369..41f205514e7632a4f6531ca5dcdb37663403efb4 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 37b2a1f0c62d69d6ff5e5720826dc7aa016751a4..8f86256069ce901ba0c59a3d7c014cc9fd3b81dd 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 12348fe548c73d42bc01011f083f60badfea04b6..71168e1a692c2656b93e38f6a37d33a2c34efcce 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 b5fa1ccc2f41b7bed10d14f756c1d8e99ca54b34..31c9fb4e7c3fb0adf304920dedf15bf7e76ba5e3 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 e7527bafcc65d2180524ea66c90290b84ec68b88..1ddc603dc62ee34086bf791c978b8e818598708e 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 ae2f6f103049e8b12b976752f1b8d23031c7e2c7..bd88962c40dfc8f40d8fafc1d667803e4c7fc323 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 77bfc5e78bd0c6991922ae9c4be399e0ecd0c374..796ec6b0a615515c175e37914d76e2f5dbd2fa9b 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 e1a2fb40c5aefca99c7e3eb229c63cfdee46d0fa..b77407bd0c833b8f4dcdf8cd7801fb1ff8bff4b1 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 6cb51478b731f6a9465a98741c8fabd92d994efd..6a43344fbd3ccf0a7c849f059500700421f3c5b9 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 55b24f71fb64ab4eac67c6d11117cca79a19a7f4..65562830897133263a53c0c4452cef6588fea6b4 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 }: - -stdenv.mkDerivation rec { - name = "quaternion-${version}"; - version = "0.0.9.3"; - - src = fetchFromGitHub { - owner = "QMatrixClient"; - repo = "Quaternion"; - rev = "v${version}"; - sha256 = "1hr9zqf301rg583n9jv256vzj7y57d8qgayk7c723bfknf1s6hh3"; - }; +{ mkDerivation, stdenv, lib, fetchFromGitHub, cmake +, qtbase, qtquickcontrols, qtkeychain, qtmultimedia, qttools +, libqmatrixclient_0_5 }: - 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 29ed30dd27f6e3d56635ed36f77c782b608bda84..a23dbda6cb2a367f734cf6c7e9547bcf80e8d8be 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 84ea02f7cb38f2077dc79f467cbdae1ee88ea8ed..eeab5e32c0f27bc4b4eebf663bcdac582c948928 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 0000000000000000000000000000000000000000..9a0aab6f8ce1606b6e7be38d2e123325d90cf71d --- /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 efecebe169e9f16e0e76c6da832273ecda7ec426..97c722f093545ae5c39f29553a4f1e8b32ded956 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 1ca04a9e1686a1080bfdff4f6e619cab8bb69003..4be8edaf9b855493d9a8ffb14044e0dd55332a18 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 a6aef5e6a2fb21866923d9439346dae7cbed957a..96ce9c32a7d670ac54cd9274c1f628254e5ed5e4 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 168719bf0e4c0db889d0dd14a0e90b36586bd260..8dc053631e92396675cde544e7d4f5e3cd4745eb 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 0546d2dae4727d0e66f81ac85e8a91c350819b30..d1f1c033361631a1b837f16504c2222dfd71f083 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 0000000000000000000000000000000000000000..2e9602458e7fa3f60933141cab0e7c76d413880c --- /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 0000000000000000000000000000000000000000..b76848c2b8109286214074e016014e2a77a30709 --- /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 0000000000000000000000000000000000000000..2c4557f2cc08601d497e72ed8ba8f2647662013a --- /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 5a2d3b2203273281a11d8a7829d4522412bd0fbe..2755d181da2b5bafae52a41163ca1e107d7a26d1 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 0000000000000000000000000000000000000000..b646a9e03adf078167fa410700c308ee00a4d73c --- /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 3336c05aae74260fafe849c5c0ee89d71070002a..010ea1bff7c390d7034b8b4106ee71eccd4de149 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 668f466cf9762841b9b418a1386b7ac2aff4cad4..c97a908d33d9b50cab4b59e74dded305e147bbb8 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 0000000000000000000000000000000000000000..cdc176be65b0408dd7e4a0c14ac979355b5313af --- /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 49e5a12d447c0267550cf172f74ac75ccdaba562..cbab67e5e1a5bf6a389949e2fa74bece81c243d7 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 79464f54232c3433c67b30c4995543dc9852fc01..6271e338a96419d4c8e44468adf26fc77291e6c6 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 0000000000000000000000000000000000000000..58cc7a220b928ae376879ef6c77818a9464968ed --- /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 ece9c1089fadcb73a550c49474a7f90ae16d1db1..d3aa302d601adab267c37004dffbe6775893b983 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 0000000000000000000000000000000000000000..e5f79388353833f6794fba0afa2fa1208478dfc5 --- /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 5dd8bf5f69abc9e937cde18bd54a26b77338cae5..72069ec81c1af1f0f680ba08bd95c59149d4ccd7 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 9df816dd8907f747255349fe1aea1fd7f3d6af05..7a9ab4d127c4d17dcaa8b8338516acd9f79d1ad2 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 51e7f081d1e06c4e8b31a444ab69aa2e2d2db45e..db1d0a54dce0927f44a98e82e4bae5d21b61efb0 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 7a50536cc0ff082cbc4965de4377de2bcbbe8763..3c532fa506a54b64fe2b03beb7c2a571ca4cd29d 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 fdb3326803ce5cf5a1b7dafa08f9d0fc7bd4d73b..15cec96afc772a3e70c42223a54a11e335c923c4 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 ]; - - 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 - ''; - - installPhase = - '' - # Delete unecessary libraries - these are provided by nixos. - #rm *.so* - - # 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; + buildInputs = [ stdenv.cc.cc ]; + + nativeBuildInputs = [ autoPatchelfHook ]; + + installPhase = '' + # 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/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 77a8d57f8b6ffd99970cb05b405772dbc2ff8050..0000000000000000000000000000000000000000 --- 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 49368da708e9ad70c66902af71b75d31f6c58378..0000000000000000000000000000000000000000 --- 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 6028e732c8fb06a41309cc4b9e127c8e00998979..3d88e50221d6bb0c2d37aba7c1e3db97f5c0c8c2 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 }: - -let - mkTelegram = args: qt5.callPackage (import ./generic.nix args) { }; - stableVersion = { - stable = true; - version = "1.5.15"; - sha256Hash = "09m9pcm0yd9x3vz22c7zn2xzcnqc7mkbml8xg1z608nnsd702c51"; +{ 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 +}: + +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 - archPatchesRevision = "429149"; - archPatchesHash = "1ylpi9kb6hk27x9wmna4ing8vzn9b7247iya91pyxxrpxrcrhpli"; + 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 c32e6b186b7a29d63e793c525e61b272cf8b1f28..0000000000000000000000000000000000000000 --- 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 3c9157081d3dcf74849ff3c9c63392a95a917f8d..0000000000000000000000000000000000000000 --- 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 - ]; - - qtEnv = env "zoom-us-qt-${qtbase.version}" qtDeps; + # Used for icons, appdata, and desktop file. + desktopIntegration = fetchFromGitHub { + owner = "flathub"; + repo = "us.zoom.Zoom"; + rev = "0d294e1fdd2a4ef4e05d414bc680511f24d835d7"; + sha256 = "0rm188844a10v8d6zgl2pnwsliwknawj09b02iabrvjw5w1lp6wl"; + }; -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 21039d53da4f932de478aab4d1617db6298e2605..e06320424938b940758b6372767844054d85733e 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 9c1aa8f86f693ecf2c93d47863fecf0b77bfa658..3a2b32f01175e27f274a3d6fbecd921980149620 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 deb76544eaa671d660ab317d177e92f8863c0401..426619908d65e889223fd9704a87ee0ec072a602 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 f070c5109376ca5d4b20437691dc2b2384533983..39631bfc5c878d5c61457b0162bb22402bb62e0d 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 08b5ca077af608a872bea7bb3879beb766807f1d..54943533b85fc3762dadf3d1ac7a6c5cc43b7057 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 23c9d7df8120dc8c7b8ee9c04a5c828484ca58d6..9f206a8f48f3f779b74ccb302a59e37e51a548f1 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 746d79805f5c6ade707dc57906a9a0e308170302..cdece4eb644f060f0333af6f4b260aac9e141c03 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 7c40a4e12a66ddb640d56170c7edd517ed4fa2cf..0792aefe25f5bec4b1bfb12528331ced9f3e8f8b 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 805b474e814fff13ca092475989ac71ee96e95fa..0000000000000000000000000000000000000000 --- 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 917de745d2776584fb4dded52e84a420782133a6..8278f90d321c9602d6d32cda777c96aa419a6988 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 0b52515228b99997aa8cf415749067ab560fb425..a90446a87fa96bed44e7b8c2abd4d67ea7cbb562 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 8c5d2ffa35ea7c4f897859089a77212a81c6828c..8bdb23d50dd33757c0190992793cec049b603832 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 b9860fa4227320e079cc766250adf40ee3dbc16c..331be19abc4cb9c1031b42e8141f1bedbdc391d4 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; - - #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 - ''; + 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"; + }) + ]; - preConfigure = '' - ./autogen.sh + #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 ''; - 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 0000000000000000000000000000000000000000..5648d027d9e2bf4ce34f541ee2f4c9a8d62a080c --- /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 7802a898d4c76a01607f6e94649e5449eeccc4f1..1751812d67e88b56d4c5826971237fa8463b0a0f 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 add4fa632c91bda464b0831064e54b4ad12048a3..0000000000000000000000000000000000000000 --- 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 ccee78a64da684f80ed4e1bb54c1112631f1d8bb..6a58241b89aa9e8c4fc5ad8db0deeaeb66afee37 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 0000000000000000000000000000000000000000..bd38855109a19190966522b6080fdf7abee672d9 --- /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 75645fdb33aa057371589e16b09265a2b7c6c9cf..6aacdde544bca31ee46ba25498489e03ed97b155 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 cf72bef62b1774a0435ee67fcb1c4fb44701c030..b081a6b3672d6a7f64a4b8fd8836af86bf641cc1 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 d52d8b6b31e4d8e67c1882e894df4a682738f72b..3f8ad762218c1f184f485fe094690cf70cbfd1c1 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 439e0e116141ac2b72539eb3793b860b5431aa15..cd9ecbf43370c7f3f45b44a4ab86d56d7a70f8bc 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 280e447cd0a10619874b742f3856953870f6d452..49616671507d3e8530279e21e016153e26516968 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 8887e075f13c38d750befac859ec31e9ff1f553f..af2dd36b41c51ff6fd33f60513df288adda2a683 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 95ae71cc70c3bb83ef88a823da6795361222a54b..17e07f91c031cb2a06f78b82cf4442bbc1623422 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 137a32f9364f2c90bfa4cd993540e113914d8797..ea5052f37a3f0853d5cdaeb9f280191ff79f2d16 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 faf069cebf140fba4954952d9f7931f6da46138e..e6fa95488e102690dbe0662f7205e41e53dd88a4 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 add52d85d8b4b4c75bc968eba08802e006135c38..6d9acdb68e52d96e99ec8ff7b87d07116ac84cf5 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 2019d9930ef09fb27719936f863a5900bc42d6b1..3f626a6ac483b7656c08dfe1b70c1da55b25e589 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 af94db23c0acc7c74d343045a7f241c7837e7d31..e2a8a2d56bd140eba6e43c060a2db52e1059291e 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 0000000000000000000000000000000000000000..d3a3dd6e29af7eb55955ab8fa9ddf87f63a4f059 --- /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 0139a3f3a93d8df51130509048caa71cfe509d95..daddf6adf7e48123848b17aaab5a978e45d53d84 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 0000000000000000000000000000000000000000..bfacac2eaf4d05134c35b739f6064905611360d6 --- /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 0000000000000000000000000000000000000000..b94ce269566240210c499149e98fef23b4a403ff --- /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 bdf39de0651c4080ff26306e8f0611c8e9b8609c..cd512e776130bb653050f549dcacc54d5f5dfd7e 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; + makeWrapperArgs = [ + ''--prefix PATH ':' "${notmuch}/bin"'' + ]; + + outputs = [ "out" "doc" ]; + postBuild = '' - make -C docs man + python setup.py build_sphinx -b html,man ''; postInstall = '' - mandir="$out/share/man/man1" - mkdir -p "$mandir" - cp docs/build/man/* "$mandir" + 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 ''; - makeWrapperArgs = [ - ''--prefix PATH ':' "${notmuch}/bin"'' - ]; 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 bb62014c77a447d00c948dda151ece6e7ed486bb..492cd640d871fee23261f030444c49214559a28e 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 006684ecc1026c3a981431429eaee1292029f5ea..23bed01907e1a31102266101fef88f51f74dcfb8 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 f7f34a67183760603600593db5caa6567281741a..15f707e06a2d8e065eab797c7f03546f61f0140b 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 34361e1dab9a79c4cc65c5a8806d52e18bcc4e42..d7df94f7e6732b56061d3ff78314c89f9038590b 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 e5a919af2e6ff5fade971e99ed4be6e162ee12c2..78b1aad03fbf05f49c09191be49597b761653627 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 72b9ce09d76d23142e0e5bed567e48b3b295e57d..189ac1e6aaede609617c487184d0e787bd7af139 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 79deab46912bcfe70a50181b4e86d29e68bec4eb..0a670b2b9a6a64221b1215cc8c7c5b2beb9e1961 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 05e7848565545ec276a7471ebde19cc031683669..ffa3e92d390cec7026d15822d554811ca6955863 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 2b62db069bc9d5742dafd8fabea23febd31128da..4cbaee4488b1533706f19aeef61d8f16dee473c2 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 86f945f369a09814c01246c19f910ab14c1d8691..6c3b3a69b1d6de1fa4b7aba0cafe50b64b433cb1 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 0000000000000000000000000000000000000000..7019c309feb957ddb83e6c3455940eccd89c894b --- /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 6e2e8d58c6760bc83af7a30783be9342a679a1eb..88e573f6cf42ab40d2529d48c0bce55ce29bac21 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 3afabb8bafb1c24370aebfb080942df9c59d0f10..c694398bd7d257af0a662a9d0ebbf31a3cf0017b 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 a8c322b42b831f0ad7c38c73fa6bc5d50c57ed3d..615b810d00293bd4ca1aac5dc45099c63285abde 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 3e235400498f3413c9f15b57ebabd0f221a6d92e..b87728dd2cd1b1e9e80afaa0d379ce2fc39dc508 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 c2cce227576a5a5ee24e5c04bdfb880a35bdd9e0..67c673bc913c7187e734ae4c330d558e7f7e7b9d 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 e2b56f3b8afd61209eb560acbb97cd9af541d0ca..d9eae3c9c503432f34f339de16c014ad9e079f47 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 2fff46a173730f09e5792e773413ec453c8ed5e2..01081ebfb3e247d6e6f4ccf8668ac9a62d4cfff7 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 e25dfe834f65fa89d1d26b0adb74b5222d1fa036..a0dbf98f2763d2a164f718bbe0cc6d509d3e5810 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 410e5e10ceb61850ea9014e41903431b47d19395..7382b97ba8113f960975ab17cc77fdd4f8cfbe35 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 3d8673a87a1b727edb2055b7e4899cfcfff6d5aa..0000000000000000000000000000000000000000 --- 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 f53c5d61050af9179b2b2f069ed888cbf318f966..0000000000000000000000000000000000000000 --- 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 0691919ba182200681019b660ac1eaf4377cdb04..bd0f051c104d1bd421a19569fe968ca5dfe2f801 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 c803db6dcbc1f2952c052e21aad9c9d2f1175e67..ccd092ba63cc4352dd9b63c31e98b83e715b82f7 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 babc063d6346524baa851ca0d3ea43c63604cc5b..023374932cb258aa46798ba53357e99a33ae1417 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"; + chronic = { + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "1xbarnxmhy6r0rxpspn4wk85j183w6b18nah73djcs06b3gfas15"; + sha256 = "0kspaxpfy7yvyk1lvpx31w852qfj8wb9z04mcj5bzi70ljb9awqk"; + type = "gem"; }; - dependencies = [ "rake" ]; + version = "0.9.1"; }; - unicode = { - version = "0.4.4.2"; + gpgme = { + dependencies = ["mini_portile2"]; + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "15fggljzan8zvmr8h12b5m7pcj1gvskmmnx367xs4p0rrpnpil8g"; + sha256 = "12fqirxr964mc8jwsfl5nif6q4wcckrmj7w4c9ci4xg9xy2b9v6m"; + type = "gem"; }; + version = "2.0.18"; }; - trollop = { - version = "2.1.2"; + highline = { + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "0415y63df86sqj43c0l82and65ia5h64if7n0znkbrmi6y0jwhl8"; + sha256 = "1g0zpalfj8wvca86hcnirir5py2zyqrhkgdgv9f87fxkjaw815wr"; + type = "gem"; }; + version = "2.0.2"; }; - sup = { - version = "0.22.1"; + locale = { + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "17s2sxismf46zdhgr6g2v53fw9f3sp1ijx7xdw3wx8qpcsgazcgi"; + sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x"; + type = "gem"; }; - dependencies = ["chronic" "highline" "locale" "lockfile" "mime-types" "ncursesw" "rmail-sup" "trollop" "unicode" "rake" ]; + version = "2.1.2"; }; - rmail-sup = { - version = "1.0.1"; + lockfile = { + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "1xswk101s560lxqaax3plqh8vjx7jjspnggdwb3q80m358f92q9g"; + sha256 = "0dij3ijywylvfgrpi2i0k17f6w0wjhnjjw0k9030f54z56cz7jrr"; + type = "gem"; }; + version = "2.1.3"; }; - rake = { - version = "11.1.2"; + mime-types = { + dependencies = ["mime-types-data"]; + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "0jfmy7kd543ldi3d4fg35a1w7q6jikpnzxqj4bzchfbn94cbabqz"; + sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk"; + type = "gem"; }; + version = "3.2.2"; }; - ncursesw = { - version = "1.4.9"; + mime-types-data = { + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "154cls3b237imdbhih7rni5p85nw6mpbpkzdw08jxzvqaml7q093"; + sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a"; + type = "gem"; }; + version = "3.2019.0331"; }; mini_portile2 = { - version = "2.1.0"; + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "1y25adxb1hgg1wb2rn20g3vl07qziq6fz364jc5694611zz863hb"; + sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; + type = "gem"; }; + version = "2.4.0"; }; - mime-types-data = { - version = "3.2016.0221"; + ncursesw = { + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "05ygjn0nnfh6yp1wsi574jckk95wqg9a6g598wk4svvrkmkrzkpn"; + sha256 = "1nc14wls1yiigz593vw7580hb99lf4n485axapiz6sqpg1jnlhcr"; + type = "gem"; }; + version = "1.4.10"; }; - mime-types = { - version = "3.0"; + rake = { + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "1snjc38a9vqvy8j41xld1i1byq9prbl955pbjw7dxqcfcirqlzra"; + sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn"; + type = "gem"; }; - dependencies = ["mime-types-data"]; + version = "12.3.2"; }; - lockfile = { - version = "2.1.3"; + rmail-sup = { + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "0dij3ijywylvfgrpi2i0k17f6w0wjhnjjw0k9030f54z56cz7jrr"; + sha256 = "1xswk101s560lxqaax3plqh8vjx7jjspnggdwb3q80m358f92q9g"; + type = "gem"; }; + version = "1.0.1"; }; - locale = { - version = "2.1.2"; + sup = { + dependencies = ["chronic" "highline" "locale" "lockfile" "mime-types" "ncursesw" "rmail-sup" "trollop" "unicode"]; + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x"; + sha256 = "17s2sxismf46zdhgr6g2v53fw9f3sp1ijx7xdw3wx8qpcsgazcgi"; + type = "gem"; }; + version = "0.22.1"; }; - highline = { - version = "1.7.8"; + trollop = { + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr"; + sha256 = "074h7lns72kg1dl5gvz5apl3xz1i0axbnbc01pf2kbw4q0lkpnp4"; + type = "gem"; }; + version = "2.9.9"; }; - gpgme = { - version = "2.0.12"; + unicode = { + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "0a04a76dw9dias0a8rp6dyk3vx2y024gim40lg2md6zdh2m1kx85"; + sha256 = "1v8kxmq9i85agjpl7pnl72688901xhs8wxhmj6lpy16a8xz3nzxk"; + type = "gem"; }; - dependencies = ["mini_portile2"]; + version = "0.4.4.4"; }; - chronic = { - version = "0.9.1"; + xapian-ruby = { + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; - sha256 = "0kspaxpfy7yvyk1lvpx31w852qfj8wb9z04mcj5bzi70ljb9awqk"; + 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 70f74dff3097ffe42f47b5c44f6c3326a4d9e22b..986ee5fe3c9ee871513b15bca6f198b592e4fc4a 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 ed798ee9233186ccc7671d89543546dd46cf6781..5e005cd6669d941f904540b972e05411cf794c8c 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 1baa173010adcafd21d6bb92f29b021b95fb115c..8e1f2a0f65f8e7f01398cec00f9c4822eb9b51c5 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 99a76d434b8aa71cf288a12f6cd4f062b65b9dfc..da817731e07ee4371f234c2cc0e5bb9c7e17576c 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 2d96d03361326db579909bbd6aca9260a44cdfd7..7f7296cd70064d5c123db1aed2182b812cc3ff6b 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 ca8a4d0fb0cb92fbf6aa6d358d021f681b516059..6dcc35f44d338431353cfce817adc38f53cdd600 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 a48cc47106c57becf966af0656769f33fe717008..7d311d4bc707ef6ec271010729b3c60f4e90946d 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 b5973fc8d3ee5863d61801bb38a3fb802ca2f041..fc720a047b5b76f63d1ba438e15c20bbbcab7c5e 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 38e4155a1137b3baf5912390fdd2cc8cdae9d4b0..707163bff0c99132b48cc8719d42a0f274eb8378 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 0000000000000000000000000000000000000000..b0786d742db788aaaffcd91c0a4728ac696e9c8c --- /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 2d008492050d3349097a9fbf47778b56db294138..9f641061bd86cccd157db8f6550a355d2ac2bf4a 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 - - 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 + # bin stuff + install -Dm755 release/mumble $out/bin/mumble + install -Dm755 scripts/mumble-overlay $out/bin/mumble-overlay + + # 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 185672a21f8c15ce90e796c4342ae6cfef3e99fe..babb3812bb926635d7ba0a2e3d7f3bcec6ef24a4 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 6e6315ced7df4c14f0cc715689384868976af0d7..776255e7a12cb0659476e37e7ceebb8ac847a6c5 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 421a3cfbe3b784e712760dc0e479b4ac5cdac100..b3001c960574943555a1b1f3439fc923b0dce86d 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 308c857644eb46406a89ac8cee1b2c6752ae5d44..34ebf4364ce7e2b41cdb27577690486306a6971f 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 b0bc5edba844dfa0602c91b31108b65ea0bd5a78..002f142a53edb3b8a5aafd4dc2f1d687151263ee 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 9f775f0db656ffd1d71e83a221fb0625749fb72b..e8fff0deddf109189a9d53a2f5d680a71705f5c3 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 0000000000000000000000000000000000000000..ab7cb9bffa45d76394d92a311f1e4874c00b426b --- /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 a131355963cef27acd4dff7c276bf07a796f71fd..6f7f47bdcfa0997dc94da3c468f18821e5cb1e0c 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 ]; - - buildInputs = [ qtbase qtwebkit qtkeychain qttools qtwebengine sqlite openssl_1_1.out pcre inotify-tools ]; + nativeBuildInputs = [ + pkgconfig + cmake + ]; - enableParallelBuilding = true; + buildInputs = [ + inotify-tools + libcloudproviders + openssl + pcre + qtbase + qtkeychain + qttools + qtwebengine + qtwebkit + sqlite + ]; - 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 2c16fabc5c41dd68852a1b24ae7599f7f3b55300..16cc0e3d50a2e5ec822e8760d574366be3c390b9 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 8795f32e829d56ea7cd65218250c966e7b0989a0..58e1fffdbdadebd06ec7745f107db856bdb59a7c 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 1e127c1b1ec2255855a8ab0354180de06d343329..dc52d767438b59fac04f6d111e14fabc83551386 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 962f10a99c01f17156f2acd21660af86a122169d..3f48601d96f59840cca004f334d8e6960094a78b 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 9ed532acfe1a138b661d2c58b483972c94bd4da6..4dad5f4d6bdf3c3b1ebf9123831c64882737d095 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 c142661fd0334a62b42c0ed7dcb709d417774dd3..7907365a6a39ad07b1261e691f8497d84764287a 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 44dea6414e9298bccdfd736413def08526409f20..0000000000000000000000000000000000000000 --- 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 f58f7e04e00b6828e6694d1a992235cd7066551d..6e3b8a7293e094bf8445e00a4ce35d02184f95aa 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 db30da82bdb2fc96e47775e511036523e485308b..77aee30d38b280d598fdbdf4184624301116f4e1 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 d674c70e4c2fe338f6fc3a7202a610f0c08ea71d..24435288488325de2722a3cb88063786409860cc 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 40ff91e792b455b035dedac3cd61496cdfa6b34e..0449540eaff155b4a2fa54689e181dd803cdee2d 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 5305ca10383a2f33d7a55bb3a9423ec11cbe45f0..5488baddef4ad5d9551a35357a105b8a63710377 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 8e1777b0ce79c19872af88997c89544b48de3a4a..eaa6b07c8faefdd0b00a2264c6f1dfe0e3314a2c 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 c66c3ca05a4ec2998ec9944c6eb7c6cbeb90cd14..6dd2fc3435501a60b5793ec35156403a62159127 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 0000000000000000000000000000000000000000..1c266d247b7c16f44c8ec2fb54214fcde5b3528e --- /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 c56e39826a663bb871f47ec951f2b485ef981dbb..b28074a2fd6e01bba8f4663fb0eafebdacfa59a2 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 81c493fedcf1722c52182bd6641af140fb3d13d2..a579ae15181d14601b9ec85f4c818dc4d1d6aefb 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 2d523cc07dd989dd479bffb02b34c702d3b1e2ab..f10714031ff016b038328c1c8cc1147222b1a7b9 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 104131e477521701e97168edbfc0b51bbd70ca7c..bcfe8f01e4a4c0e81af6c69ffa2aca31066d9738 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 0000000000000000000000000000000000000000..80b8251f2a3ffa66cb9369dcd818477e96103944 --- /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 8622b374100aa501ced607c17c2f7b09f8141773..f3c7f8ccf18a4b4235981778679f8c6f11b520af 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 13d44655df8429df1045de9f5c701434c4014d57..850fc488bf3c6ddf5818a59e0d26e083958b2205 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 0000000000000000000000000000000000000000..999f80a7bbd0660da3affe133471379dd40c215d --- /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 f047b630ec409ee7a11a45898d960a570a5a94f0..7c720cf35a020329e369373e86dce1a814c625a9 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 4b070d0cbe8a348404a20196b27dceac02888900..0000000000000000000000000000000000000000 --- 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 fc803fa2745c73b3403d3879123dbf1bb41bbdbe..e05ca43eb507761307b1bf7c0101e414ba44dccc 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 7d2f34c591e98b8eaac97db65a77db76942b8632..bcaea5eb6dcd3fc96129044691914e66eb223a23 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 29ec8158099cae517559aa7c42d50a6fd27e55ce..65abcf35a35267e109f4904c3f7fa3b951fe05d2 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 cce44521a6208d4274171e67392308b9141a5f11..647b708e1021d783b7fc110ecb4d24f5c487cb48 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 8725d5263fe304db007b062602f94f8e2f4ed29c..b1d3c73129aa7e82017f038a1c1e05ec85621f2f 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 1dc4e3e435135b52112005d75694845d8be5b3ef..88f07f0a8a508a7ded54871c5597da9471456593 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 0000000000000000000000000000000000000000..d20b07a8d3b1bc403392e91afd3adfbffa5e01dc --- /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 3930ea4ff11f4d097306aae4e00d594ead6675ff..c9df5d3fbe37f66bcf1ce694f62af138d5776116 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 0000000000000000000000000000000000000000..f4aabf7a9bb49598b66143e6a646d8063265c778 --- /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 3e74fbfb66af69b0d685a9150594a378fd5d1576..bf8e7a16a4f3ba6949e6c6153ee750f86acd7386 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 0000000000000000000000000000000000000000..e79ca515b518271092aff937d77167bbb1467d26 --- /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 0000000000000000000000000000000000000000..be4cc5830d5438d1520f648105fcc9caba66ce47 --- /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 6a89731ff10413ec1964e24851fb432a41bd4f82..3df21d414e04e2badccee406726c1134b434c1ef 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 d9dd2fc9127a77c7cbe5dc32f46483dcf2cb0a9f..5255b492ec66239da6dd45d4ed6c26bf87b37b82 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 8d0022e3c8b33de2572079dacb2d218f9245c559..8d21f64765dc672a3b05200f87c15e3e59212a1a 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; - }; - - "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; + 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.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 0000000000000000000000000000000000000000..4936b0ce0b503c6efd7c56e7a8a7b24bf299bba0 --- /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 0000000000000000000000000000000000000000..ea475ae6dbc94e2fb2a8e53037b776f0c10dc997 --- /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 425a064fa96b23759af3272e2cd375dce4bf51a8..5963c6b6c950d2eea028ce68064fbe671a71db29 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 9830b84652597e4501da2546ec623dadf7961758..0000000000000000000000000000000000000000 --- 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 13613774b7c2dff387fc25782c59daa447695f95..3b7db7075bb59fa1b4aaa27d4653225336a51a18 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 4caa9ae63f759de989b9b1704042b5f96d4d4716..9c9abe55daa617d6c22912b062e8d103c4a6942b 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 c2ae02e014917f92b49b96d4689ca98f0f30b3a4..fb577f09120bc84f9b84dc710c9e03fed6af1101 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 99835627f87941ec341cd64d87b73561e172aaca..0000000000000000000000000000000000000000 --- 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 9bfaad8a5bc47169ca58e76cd54b78aae77e1988..f9b17b42bdee1c030cbbb1ca3bfe3071a002760d 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 0000000000000000000000000000000000000000..d253e766284fe39de8c4a294c9cd512923527acb --- /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 87fe60c7740cc8b1d54bc80843c2f0706c1e5030..2cfbfb1b201eeacedc272e2a28ae1d8625d94a75 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 0000000000000000000000000000000000000000..f69d2326217df1702d1e88f87e51f3507380dd4d --- /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 442881398f632fec34b978e33d327c87872c3477..5d33f186df7bd10d88a2537219788ae06996e24a 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 c855277e2259cecf98956b891616917b7fe64b18..ecce7172defa72ad5f0a8e9cdbda23e760484505 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 543afc696ea065703f0eafa41026b500e4446920..16430d31e8355c2403444d3405071444f5150b45 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 55d473bc104b383d09c8ab72b3483bd1af89c657..dc578dccd19dea1bdb83139579b75826c8d0c1a8 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 13d536ccf1bbdf6ff6b95cb5942aba4dae2f199e..dbff491fa8078cc313818e335afb37ee84ee5510 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 0c793c41c55a2177142e916ead743bc29ed48d2d..0005a5d230d7c2beffc2d41a0d6df80c22888fdb 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 0000000000000000000000000000000000000000..5c536b8aec2324db9bfba22985c7ebe65cd7e736 --- /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 db093310ca1ae366fe634e13134f1a45b1da46b5..aa965a0c868395f373d993dcd8a99b15d4369dbf 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 - - 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 - - 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} - ''} + 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 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 + + 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 10bb465b8a1b8551b5bc358a4c524d1bcf84bae4..301802d322bd93fc4c887eada42892af0c0d952a 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 1034acf0b90fe57075005092b2eb745ab17b2fe4..9de525d93245e29cbd521f68d9f91f4a6c0d1105 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 fdb4206d340ff098acdc76a7623da849bf926815..11c8af368b95323b45dc833c196f76fc1c34430e 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 1f8d0cba6d053cd3cc93954828f817a360b9fe5c..c70723284fd8e8a02811ba189605fbe33329094a 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 0000000000000000000000000000000000000000..8d6d5e2a4f94838de218287ea2f954f2f4ad3f78 --- /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 9bb4254c64a2ad8010a304e91f81384f28f4dcbd..c5ff090a80768087959ca886dae4b21839823342 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 e4ba29d3a9f8897b810b64ac16cb90f0c8a8d313..669ab4d1e3e52dfddc52310fa62ea4424ec95fbb 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 fae838a7d5f837a0f8a385720a176cf97973d6b0..36c4dd46222ebbf0a36442624a5cf0ea89c9ff80 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 26288f9f6e65033a9bbc417e26b1d253130b0d3d..fb47d9bc5101fe3df9c98096d680a39a14f2d59a 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 8d9b941e26e449efd73c2bbb846923da29b33fd0..1eb5e44ba24f7578c8520a0d732f47929d5f2d33 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 6dcd451533aecd633e42197f46c0dd64a403876a..d38f8b53dbbf181af515a25e1420b43003ddbaa8 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 b0315ee3477d32e4da36d2be953eb1fc434d3f66..832f7c63f275bf43c58230864c654069b2b6699c 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 4325c8ea88aebe18f074f04506a28386a8db553e..00edcd411fd5b01fd952d32f0b9edb92f82d378c 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 af01b89dc7642c26cda06d29b041d95e94f0d439..52527f79303f40e7fe2d8929b9a73db809b3fcb3 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 e5c04798aab8c4776829faef4d6d05c77f318dcb..12f992d44a5a634595ed265ba11ab589782809ab 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 7862cc1e6e4f840fee41c911e901b33a912af160..bc93b743f8b19652f07ab2fde1a4f9869a085483 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 fc9ed59016f6afcf6f2b942d97be47200ce5b9be..3e5d3187e9b2cc8458cf9ccda32bea1399ab8ec1 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 389d32d5a7ccd121a5d4e82ddd8558721b229075..9317ccab4eab818f4ec4f141092b88bbb672d6f9 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 a2e38577ecdc9b4be8240722a6da090d9fe05eda..5b847163a2a7a3983a21631ca239d68b18f19ed5 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 8a056e21692be0c8b8d531d599e88100ce6b0d81..a71425422383cdefeac4c1eec31609e0d0541b79 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 4a1f71f4b4f7a6d6f3e1c380658f177a8f8f1348..0c30a3def336676d3e8c3cf528fafd05f60677a2 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 050c8502e077c3045e0017bf1ea1bb1b67b619e0..6f5a3f3ec16fc9062ba417cf5b3331205ba7e634 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 a1fe790b1190379d1130f2bef7144fb76fb9adc2..1a19c8c96b330698d0086e02c2500f346c1f6205 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 289d1dffc96147ee02d1fc3a7f710001ca04e385..8a210c1af68183a8e058799f67c5886def0bd6d6 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 0000000000000000000000000000000000000000..e519efbf57017d8796935453e6db303a757695bd --- /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 0000000000000000000000000000000000000000..86e064347b65cc779db93e2c31525f5389e61aee --- /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 0000000000000000000000000000000000000000..49471ebf7e39f8e1bfb627169d1a5b3a6bd98dfb --- /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 0000000000000000000000000000000000000000..615570f1f09fd4d3637ad7e73d400c6f88a2accf --- /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 149e126d6e87cb891ebcef64319a0abb4dcd5394..88d33a9a9f3c8477458a19b01e74ff1bdf407542 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 050358e4dcaad5c1318b67a56019746f3d6e1ff3..4160e70b9c4449fddb190cc617bfbd618f293090 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 1e610691f52aa213414ff683a28eb0fa343b6944..0000000000000000000000000000000000000000 --- 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 2f736dd5856d066b6845b9f4251919395a22e587..238864311ef079c1bf3c866f5c599d9dd176598d 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 42d2093ee3a077cea960b830b4ea0d06cb6b42ae..fce885a259411ffead90edf4824361d2db802101 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 8dd127715aebf0a557069be3df7ca0587be71c4e..a2b14443c1a93b388b2946f07aabd3f83bbf3268 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 51e2c55ea7d0cdca20fc279f14bc9eb491c3f30d..b71334a6a7266b8258c81af09134222729f12e50 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 be31f5fd102fde718160eed881be3598abf48672..6ef6e51527e254fd48296b0de0281a7c1993a077 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 e4b89ef361000dbf57b89288d0f89ed661fe8c91..31e74ccf23a10ff184e178ffd24321684a95e39e 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 cfd7a4eda2022eeefd7f8ee47cbecfdc9c75c520..9eec315217cbb59d7be84479f3fffe739913795b 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 63199945f2b1f55f2799c49f1bde4e7168600663..fe81340a7fb40bc63249a07c64b7a42ade581b84 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 a7c6165bdd2b8309dcce92676dd02a8f7264afeb..4855fbc63c3e4527db695c069390bda1a1fdc061 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 1faf47d680aa1dbb88d494e6fd8d63e7f27413bc..0043648146f53f8bdf4bf91634cc949f18e5cc53 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 0000000000000000000000000000000000000000..0d2341113b4878d916c5c22d530c43c66bb7948d --- /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 6f0fcca480ae1802bfdd7f854a363a3f9ada3da4..e33a0b202da015a01f2f10a5626ae8240bebd9a8 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 0000000000000000000000000000000000000000..284fdf7a124d6aa3a3b79cb5060ced0995bf0b37 --- /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 bd3425e282a61bdb116561ff4c43c62429f4818d..d3ab02fabd3f87069fbfac245becc2e8b09b551c 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 e42777bdd0060e04817702f81dd0a0d6b3576763..70d1e3d79ba5997872bcd60c04db9eed6e7eaa94 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 7c07082b3041e2dc2992cc724398ddf0f89c8db9..752ad70cd094caf39262171931390a3e95c620b2 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 12b5aef898d1bdd9f9298a52ce574c0a7b299be3..727a68c440a2ac8e8364d566cb466d535cc4b36a 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 b39617e02db2e7c1da6fb30ed27957478b5a459a..372414c1a76d8224a4e6c169c5068fc0e555808f 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 59ecb5a5c3b762c2d828d056d644fd6dee29fe3b..a88f1af02c655af84334764509b11c5d5f79202d 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 8946bbab93164d83be2e2f4323b0995191bf5af4..5065a1cb9bc94d11f7a3eff99f31aad1efffd12a 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 5dfd03570121fb9013c7e79ab00addbbbc0f29d5..b249186c2f1745e909e022f2a15b981429df4dfe 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 61cc3ea78f05c953319ba58154301863cfb7f2c3..7b4feed1733ac0cfd57bb6accfcd25b859672f55 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 66fde2497e3f2f92ecdcf660ed0200110fea8daf..adad5c8680fceee5dc2651e840e44941e7fad5f3 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 4a91840077ce5599b23fc33fd1796667fcbc1068..0cb23abea66ae6a07ad0058545fc52ac6bc16610 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 290adb0e8e3d65fb254ba0c8aa8ef0d98341a161..f18460420c5d3b3b57f42735a72c720309e55ce3 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 6f571bd2a1b0c061d49ec4dd89a0a222744a3cb7..df8298579e8f346d603c0cc26329dc2dc9aec586 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 acd1bed25a082f33c7ef9352297584de3fcda0e5..71a959c0a86a17513fd45235e77a0883a68eed6f 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"; }; - pg = { + mustermann = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07dv4ma9xd75xpsnnwwg1yrpwpji7ydy0q1d9dl0yfqbzpidrw32"; + sha256 = "0lycgkmnyy0bf29nnd2zql5a6pcf8sp69g9v4xw0gcfcxgpwp7i1"; type = "gem"; }; - version = "0.18.4"; + version = "1.0.3"; }; - rack = { + pg = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f"; + sha256 = "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy"; type = "gem"; }; - version = "1.6.11"; + version = "1.1.4"; }; - rack-protection = { - dependencies = ["rack"]; + rack = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r"; + sha256 = "0z90vflxbgjy2n84r7mbyax3i2vyvvrxxrf86ljzn5rw65jgnn2i"; type = "gem"; }; - version = "1.5.3"; + version = "2.0.7"; }; - rack-test = { + rack-protection = { dependencies = ["rack"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z"; + sha256 = "15167q25rmxipqwi6hjqj3i1byi9iwl3xq9b7mdar7qiz39pmjsk"; 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 49b258c43fdba03df7b411eeabd23374588a641b..60fff1d0131bf600ddaab097b36199707917e260 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 643d9ed894fd3933864f6ea1e1754df75ab3a3e3..99e09a8f36f2fb299d0486250f35d95f50b1eef0 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 aabdacd6198fcaa792d0736e60036f1bde7cd831..b3b21174bc3ac121dd9d051fb1e0bcbf33a75bd6 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 b60874e7c3cae42253c0931b51da867dd8278f4e..b5cfefd782097a31b3aac463159fb4cf30bdcf93 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 4ab15a3a91e614776f9574f3d5f5eec8bd70ddb7..b5a721b5679bbb65e35c2dbf1391297da58cfde7 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 ce3b3533bec384ea6481e6f1532df04464414d82..4df8ce1059b42590c14422dfef064b702b3379a7 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 29defb6794229896308d8ade5502790f2fba31b0..0000000000000000000000000000000000000000 --- 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 29f8006d63ee8515f8d0553cd47b5b9fe3a1dcd1..07f30a5525d5494b0c0d2e9f8f6a4b6da105ed32 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 ff8823e3d9cfaec3f0c580b33c5231e091a38c8f..9f04cd83c10de03d680b9a87c2c8c640ca5e6746 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 cff8f200e2bc93067ca6b82e43a1218cd0034d58..62569734745c03cbbd13f697853688505ea675c7 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 3ff7e5d80f7a886f820a6b57e8ed6d227a680f62..0000000000000000000000000000000000000000 --- 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 cdda46d4837f167d9af37b7b4131eabc6c909a30..7c054ba52047949c866f3cdd9eb79c570145f677 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 9c4c22dabe9780b8a5bb8ea22ad5b9cc173b6ea6..655a10d3a942624156e30fc204d692046e47e2c6 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 147c95b8e7bd97ff15de9c9adda7d6c58d09fe56..56becea9959ad3aeb07d927d855b9fb083b6cb55 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 0000000000000000000000000000000000000000..85e8bc131ce3788a2276fb3ce1061924f75bd504 --- /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 3ddca8fe76208fa07ce7bfa4a757a79aa818a6dd..99824cd19ec04f6f033f4e7e60446e6b22588827 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 9f4ed80e6d80ab022f39796fd66449ea124db6c0..6b4a3869af9fe31a019f4abacd401bd80114ab2b 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 a48b6e1e1168a1fd51aac3aad082ca11194c4e5e..adbd4c30a393cfdbb8b0fe7751cd3d3e0735c111 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 680b3fd40d72cd144ac117b9a44682fd9974e11f..14756c3557f4d91bca4e27554f62f602948f7e6f 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 d8765d2fa61ac04630bf93aa566ba61e536bf2bb..41cc3d94016468094b6c771204ef84f2eb4f059a 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 0039c4366963f11bedc6ffe7c796b7399a98396e..0000000000000000000000000000000000000000 --- 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 5054bb8b9c8b4b9de4ba177e3d0984c99b3d0fec..0000000000000000000000000000000000000000 --- 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 f15affaa8d67236f29d1f78ea80baaaa1b61a1d9..0000000000000000000000000000000000000000 --- 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 e8229f6153fdf2dc48cee7ba45a26e962d357353..0000000000000000000000000000000000000000 --- 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 ad571cd8b186c05c80c9a40bcbd859b9f7cb2ceb..b317838f6722ddfa729d31cd576ef17e53442dbb 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 1b1f8421ee7ecbabb0baf3da207f49f078265af7..ab32ebc67a7fd6000e9a023fec58ef507bff7431 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 434b4e64ee6750f25a58376bb09dae29c3420385..d6b73b07f0e5410d1cb8d0e04032ccbc01842497 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 32758b462f75ef5db2b46e1353b1eb129cadb4ad..2cd441794a46fb4e6ae49904aed030f39e7cdbfb 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 9b417a8a5b63924d37f0226743aff42697717d83..42fddb972c9f9871579ab9d2c63996e4a6cbfa03 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 c7e39180ae2855382a33f5bb111054c673904fa7..2c3dfa82c8c266f30f2db52c9e410f92a646023f 100644 --- a/pkgs/applications/office/spice-up/default.nix +++ b/pkgs/applications/office/spice-up/default.nix @@ -1,38 +1,35 @@ { stdenv , fetchFromGitHub +, cmake +, gdk-pixbuf +, gtk3 , gettext -, libxml2 +, ninja +, pantheon , pkgconfig -, gtk3 -, gnome3 -, gobject-introspection , json-glib -, cmake -, ninja , 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 0000000000000000000000000000000000000000..fa2d59392180c055900e9cc14f6dced15c69e641 --- /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 f71f4eaa4085961ccdfc02db84602abffad8b8ae..9f2ea82cee0520d5efdb3bb1230629d7cf25e934 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 20dd27fa28737c60307ca6477fe86aba31758265..6d094ecb5dccd4823d177cc4f636a345c1c82724 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 5764016573fcc51394d59e03efd7b74a910c10bc..1ea489b92c3fac5e1572483ca2f5745f8e9ccdf8 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 77a602954438af67943952ec17d71f9d4e67b607..edb2c778a0a55f4329ada3e4dcec25ba74748a66 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 3f4953fc12a7733ff41738fec640208411ea7325..450ee34262b9b8bc0e97bd6cd80d090f8516d430 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 d0a4953c426bf178482b97419f89eca43aa433c0..000fa7ff1015004bfc504bf351df07c903df950d 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 7ea4de464661c8d257ee7e79641ecc1c1fb5d77d..877dfba88c06f2b14e4ae9174183ddcf8e48db99 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 833cb7fc56a0594c5d7a9e90e8671b2770a4a2e0..4422aaa2b448cc8e2f00f41e6ba204288be84b46 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 dea3ea9731b0e8bbd0b68cf6fe8664d4c5afc497..a4734f4546055155006c0375eda08f937ad0391a 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 0000000000000000000000000000000000000000..fbb8436f44c08ebaa94ca585c082ae07d4cf4319 --- /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 e0f0c58b45063ef707ff00c9489bbc595d015227..16df0b294c163fb0c364f966d9e99cbf128edfb5 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 8efe9b368a078fbc825d4ae6366355c396ad92eb..3e4ca0ae975f79f66ca4b26944ee788c95920d18 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 4c83d67f7cda77e5361b4c2eda313e119e38bd1e..1f21ec60ae2beb7b5cc40d18c511a9ebd2b7ead2 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 f8785616c5e662b2ac37e9af5b3ad267023427e9..6f4f9c43b0ffbb6efcda4f07fcd4f12b84062dc1 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 a3e2bdd4d1e0cca3c6ac640a75022405149467bc..a41064666d5887903e5e39982671ddf2d500f1c6 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 61e84e2be430f5f5a1beaac69de67ddb9547f0f8..5221add8ff684bb0f5209d57d88e0974fe5eef24 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 f9a50313c472a0be3397db81df1d8e9f46ef45d3..016540c1e67a787856a24c975df8aa19ce4f31be 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 dcb50df705204fd376b6e63825bb3bb904673250..80583c0ff3bb0a993ee840bbd0835a6c40ebf161 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 0a5d4f56d27888a058c59252b740ee70315182dc..d56994e46ff5e866c6905888b556b2eb6510e8c8 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 2f4b0e4e3eb691e6e99e90e42a0408c66427fdd0..d357db9134471fd85ea7e5700b7361d33330b076 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 846afe0e95d4bbebc6aa2714c63e65215f450ce3..b8cc60544c99f6f531564766fd90e85dbba96574 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 2e5443227fdaef6ed61aa66fa5f4995f813758ba..e4a55fe50987cb8adaca859603953d3e771240ed 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 f7c7ca5472e063fdf1a32dbe1d260aea6ff711c5..03acf9e11350c545907545c4039df6fd1663d5f9 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 81a66bf503c07d6839d28d728108530a08a1ee75..09b4c84c1314432a6f656c619e44d9d9d84fcf38 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 ef9b28b36f82a1657fcc595e1f2af0c287aa3beb..4e69b11efbf7055da50f532fe3b211b74945b041 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 8d179e8eed118d36f89fd31358ff743fddfc4a08..55cd14cf70da97d41355c5cfcf45701f51934089 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 b58872975aeaff560d4a85b8d2ba34ab2d8b0e7e..f624359c16327a355ec390fc9e062e81a592519b 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 63906d996ba688edbfbac0847dfc57130567661b..a1c1f625bea181d451c7741d7d85e59901e61331 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 c8401cdbf49e14f4d2da2a60f6cce6ddb40f853c..db1bfbb3f89ee7eb73285a2eecefbe3255dbb40c 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 aedc847ee69f5c6d498cf6480cd98aa42e9cce28..4e9badaa6c51de6e9781c44c021f98bda2d78f01 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 5d012437e6ee0712d5b3121180e2d20d3a95fc9a..a06ac2d7a03871f58f2dd7fd649f2a0e4ef8ae1a 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 0000000000000000000000000000000000000000..346c6aeed8e312e1a78db6c585e809072dc33f88 --- /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 1d8056ca1e81a6fa6aae12da5982381d70f9d97a..eacbe66e5e5a28bebd6f2173f0b67af3f07b9b7a 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 5472254b19dcca36ddefea4f6f4719acbdb35f7d..0bb05a204da75300d08f91e621671e67bffa285d 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 2c5dd058ced35c5e77d2629c4e86b4cab3376785..5ab4c3363f48dd7ce8edb4affa071ca13dce600b 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 a0057978ea33cd73e30e938f3f8094a7fe126cb3..2f73403a168bb039ca9514b3bce0fcbbfd5b8648 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 d85fe347cd7460b96444b1a79e7fd1efa5a2d45b..8bf473cb36a3c3a1825dffbf40f02e8d5e856cd0 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 6754e8f2a55cbc39867fa46157051218da696415..5e4a78cfbd22f7f7a75f24049155a885cb30e698 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 f7c0f27160d284dd8c304574b049c38adcc42911..9e910584158dfad448dff1c426ffaf024d89b6f4 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 484e8787d50ace3f55905f127f036e4a81363c87..b3ff0f51f1182665417fb024084fb0ad19c13597 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 2aeba5fb5f4a969fe8642318c4a35cabd377bce0..fe31fd133e79842332e9b91920b689ce1bab99ff 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 8f490c971c71c049461262c51f0547d736e1c86f..a1b92e7e4e181e79eae788efee810ec4d0a76b95 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 acf0226c0db557a2232b18651202f45ed0ca90db..c6b09595c20292bcce6a7bc1aea6f9409436836f 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 930515b93825753e5b9da97c723e6830ca3dcf4e..36d3f14818f032c773c303e5bb55ace03eb57774 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 e92b420e58a4670c41c61f7bfb4ee55ade213ab3..fd7c40fdc13de3b08d27db1c06d3c4ec0afaa87e 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 3150d41ca9f661b098761a239668ce64c8490360..32d89866b5aef5377929d8dffe2ff579f19e0f64 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 57cecb3cb4cd1b743a0170f14e17197e00067baa..968d8769caa3453551b3410ca29768ad3c121e4e 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 9bacf6d90417ffec94846ba5662f56abbe9333b0..ff273ab8e95b50fe37eed49e61dc5387b0979cd3 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 ee3a71cf18138dc692e544a9fc596fe602aca80f..cfdd320d201ca4abd17601c23d54abed42f124bd 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 eb7ba2a8c9c478c1bd918642ab501818bbde57ab..ecca9141d9fba328819e19637e2db751c61a7970 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 fef4ca1907fd30a1b916bfa836270e33614399b8..e9fc06079981897f8bd8804cb6e0043e3f413982 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 7abd83b6dc124f90dbb07857d95578a940b18a0e..5f02dc27a224b0bd0d2245d63e49d8a7832ddc27 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 f54bd9af0288273d483292ec7e6c55c3c3af241e..d1a990a5eb2824a8c15511acea1c7e89b267a1ba 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 0000000000000000000000000000000000000000..a5f0ebc18abd66488f0f786a8a0dba3851ac6522 --- /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 539d7c224463d9fb30b3d838e103f3914f72290e..d8ffbb74e6b02eae9944e6842f8774314ceeb952 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 406f42e9ad7b633d75bb7bb594dc4a129992a7cc..b5bc3b622b91952421ae5dc9f8019a54be605da4 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 24a6e052df9ef388b7b2c42cf6dad94724917afe..1582910493473d2e5c8f81478d4bcdf22855cdce 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 e97b5d1a3f4fc88eeb9b75375e65724be7fd03a2..962428d67cf9c6c6ed5eff11c4aaa78a02d9bf04 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 d1dbacf053fb69f48a3d06d04a9fe34d3e67a7d0..5e39320bf8355b131f462156cdfee3d2bc214fa2 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 0000000000000000000000000000000000000000..1a41a28a19aae3114d9e0c0190fa870c42cc29da --- /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 0000000000000000000000000000000000000000..00acc25028c03b63c49062a270192a5e60713b91 --- /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 ed661db23e0a1feab24374110ecf62fb1c7e9e8d..56de61da1c5ac8fe5b531ecd42515c7aeee6a8b8 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 781ceb3df59e68a83570a031d9c78f38deaf121c..63d51de9930fe9ad71f483412fafb80fd547991b 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 0000000000000000000000000000000000000000..c9a9b55c31e6baf12e77d693b8e25c41cb05a1ec --- /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 0000000000000000000000000000000000000000..dcc72523355172a402625aab7394f9249fdcd19a --- /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 0000000000000000000000000000000000000000..1dd6b44692a38d5bc07d760c3fc18e9f6da7acef --- /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 1a15dcf6197d01c96a0ad0505370318c2fdb8147..e1e84c9423bbd861b9c7083f0cc5ae8f3e125928 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 9ccf54a81133d61a5687c5ba0a9edf5679389c96..824856301145b93bb27f0446c9ddfa978254d3df 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 e43d48db55f31fd5cba20269007a5b7a7fd12e6e..3adbaf0079ef1fa07837761b2ef5e226b814ab90 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 19ba508d758eab0ab3a6392f1a9443e8c6a9253b..412b55f5916349dad0ce2dc68113b9f9cac34888 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 0000000000000000000000000000000000000000..1ba8cdf22ba02d3d6005adb7133cdda1b0bb94a0 --- /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 f204d9bbca9618ab4b216a7aff605b3c3561d351..37abcf396211a702f13b3e6bd7ab3e680266666b 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 d80ffea9a780b25ae4954a84670a3d944262c6b2..de93ae5d78291ab4a915bc30b4b3e71f0afdad7e 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 0000000000000000000000000000000000000000..56bb35b64df83621a0a83a46cf0d8c923684fdd9 --- /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 0000000000000000000000000000000000000000..d485666f393133791a71dd24c2425e54536310d6 --- /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 0000000000000000000000000000000000000000..d80e6e7b30df6ebd108dec40728fcc5409077737 --- /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 3f28b5e31ccd24ff635aedc5f3673a25c4b6c824..bff2bcf428b53b4825280f94f6ed21b9662436c4 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 5901b696d642e14c1f0adaf20b8350ef49fee590..ab22fb7232ffb302260d7aadb860c14f85bb0401 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 3cd83a5cdd2723118e9fc612aa6e3eae8cd98394..717b8c3ab2f3fc411a3116c239185daee3b52df7 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 35710fd1fe1fc1970522f76da67d02c45ca34405..4e6d3494c7216f9221daefbaed0828cdd8764c01 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 9f24046b3bf6cfacfb112b1518bf24bc2cfac9db..6379f2c32826a93c6ac8a5f590b63a3413555ec0 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 671ee4b95c6501172dd84a910a1f29141b714134..689d3e42c979355b7d703a2d4b909d56e717a538 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 0000000000000000000000000000000000000000..9d81e08d7293ace010be3f28f8c7079728116933 --- /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 fe25a04c420ae74c3401dcc2f28d84e9fec31380..161188f7ef169b5965f123e61d1ba903271a56d7 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 2ba5964d610409af70bd81c3c2ead46c83501a95..2a57febe8f5db1b68ab26e8cc26e2deb595176bb 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 323ca90f0a2a7b6020d7ab0c5604ce52e324b391..fc6cfbb158c3396bf739fe21a9eafab77d090907 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 2efb59f536f66b727857170f7b3b7463d22d524a..52f8f70b7796ae4edbb2e0fe0f34d7fe0d766e7d 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 3bb9ea06fd46f5cf2cdccd760c087622275c4399..8a19ae135e87dcbf03f10ad81b62323a5644d4ca 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 0000000000000000000000000000000000000000..653f4390488e2235fa4032c1380f95c936a4f62e --- /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 140f7032319406258770d87398a6f03ff991af73..d7ee54bfbcf0358990d2fddb12b913144b01e93a 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 c4b4bb522c40dbde5ddae99ed906ced202e412da..dd1a53472dbc9e860f4a8d0718ba0501d59d399f 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 a811bc4412f2b8a32124d35d490989259707bf9c..72d125ef8b6f3f1f2fa7014ebf816d79701d4a65 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 17cf903ae49c6d02d826e0371afdb966cc38f357..69dece88c2769933f9647d15e34de5764d0274d5 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 dc2246903349575f3e950fbb289d14d4c1664a35..d700ee50a9c6b585d251bf57125cafb6b8c1b340 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 4bbd6a3200357dcd751ca5518208460509f0c521..1961c71f43bb0ab26d677c3b346448b6ec350c37 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 0000000000000000000000000000000000000000..4adce4461ede6523cd9248918779d054394643bc --- /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 0000000000000000000000000000000000000000..e778c3bd52ccec87406302cf5a229ae30239cc7f --- /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 4d1d60469f0eeb2d9a53bda87167aa3c449ed420..f32dca86bdf5d07ca18e2d094e51ae9cb53c9604 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 1527f5d3ddad24ff68dd1e87084bbe3e05ffdc67..84c90d895566c556e0ed446d2004f1a0ad4cfd44 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 0000000000000000000000000000000000000000..f9042f300113dbe93b82958d97e4c574fbed8143 --- /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 0000000000000000000000000000000000000000..d4e8fee7bc3644b98a39e18fef6cf5f4693cafd9 --- /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 f685031e87e445711d89405320763bf938dbb9d9..697a444193b11dfa7299b205820ebff99b877c0a 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 a6f52ae97b59252aa4f413d8ea0fefd95c21a850..f6c9ad029c1355e9907740bc3778ae2f51a85b4b 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 92f997900d53f7650b1101d4e39ecbab1b336fde..12007c940b3dd74ed7108709a32e1f2ae709c461 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 7f5eb7b76e8cf79d3ad8b1e3fa5f4dc05cc90518..00231113d2cf3bf3829c7411e46c6bede4492a82 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 948aed03fe5e7f3f29a6a767214e753d5eb96ef2..391ed54dfcb466861471f4bc5d2e4f6fa752ae1a 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 99a8c777cd0ea5ba8183cbb326a2ea63439f9fa1..87dae3b14d9e23b92dbafba0dc2ce395c023d69f 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 2dd3c9b64c43980b3c3fc3c3e2b9a81ca045801f..6dec5b3b11f1e55705048603d278897c30fbc462 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 70e79023c0ffc640a99e1ca24d7368281b0ba4f0..487558a23c19b46e70ccfe600429447f8bd0f22c 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 7a7f1b3596d39f892789b40232fb1e1076f35a7f..ea80e9fd5ca7f1d9a2bdda334feab9bcfa02f38e 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 eb17a68b8aae72276d83decd9d068470f5021bac..a27355afdc8e3d73eca3088ab05e85b99fc061af 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 236225959f7a479a704d08ee8665a87b19712b95..8b95e73b8913b52b22e70dcf88b8eacf86842489 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 57e1e219b9aa107092f08268e2c956eba663809d..b351c892c2cf5f8ff635b616996ddf1c540b1e86 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 64777b5a0ac8ee0d2e1bb5602b90c6e1b3c1ca2d..9101f1fdbe5e196f8b59859399adcafe1965f482 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 8f81a03044bea935b49147a892c1f4dffd12fc6d..ff41a498ae71efa12b121e73d256c57c006806a3 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 af3844f473129cc81b4429423ebea4561be0ca24..d188365db1dcc7e404570db9387b07361bca78e6 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 4a681907e1920198e24292aade4ae9918005edb7..8aa8275510c942ca75f0f57d843803e79778bddd 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 58f32f2ae6cc012ef2df2bd94e667eee461459e6..12d375cf88aa31c51237530d1f78de369ff18347 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 b97ede4139631c0925d3d28279b09100974c0eba..3168fc19d055ba52d50d949d9ae7c806445d7ec5 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 d5720440f7ccaa6c4849ea5ccf104891ec857259..a9528b05a3119c915528f2545b68c0df07efc659 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 0000000000000000000000000000000000000000..a3b2945ac3d9b1f4a854203fb0d5394726b984ea --- /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 ab50885431027dc0f134e1bb0cf98e1e650a8b2e..127e9c05624d94b50e861583ef9805505d6a3a5c 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 93fe7b6ba77ac71de7efeb2ab79b11a18d7cf558..71101d7cd74a334695572f2d267d631a93c2bf11 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 c0821c8a9ab998e219c78e031f1c2b1ead619b0a..3f61a13eab8c4eb98b048a8cf76f66765e0b6e11 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 e2ac4c4b44ce0c74a0df77cca2da295238b9d13a..8dffe580cc65ca9a5c0ff3d950aec7dd14737858 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 e77f4a603a8101caf75fe9131b50c466f5ebebc6..6f0d8e51448fdf00d5247d2a9baa4eba9320f4cf 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 a9a4c32a0b45e5427eb270d708714c54cabb1db3..7475170d6a72c1a0da9a3cb07e7243e4c6730062 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 bc6e5e33ea24bd8f0140ba201c486279f8e30e0c..110552d1d64504f85164236cd633a808205cff34 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 194804a21a67386e5df6645e2af1e3b95a66b93b..78240a40bacab17905ba51982766520d2965c12b 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 b9bbcd695f1722cb3a81c8365848b08cb13d14d5..7514aed9f243a4d53d5a773869a2a8768c373e15 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 4e86d1d917f884b3a1c20473074dfbbdaa9b52b7..ae9afd95518bfe734fddc2c3762002f28eaea205 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 1a5fbf90d10b19fe67530334276867a775857be7..1bfe6df5ff5345054801c23c4e4c3d8acbdaa110 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 d2246f656db0b1ce860017c3b6ed886d0d9cd7fa..9a989919250556d517dc8c9d82e276708c14580d 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 c4268b54c20b0029a94bc3ac568ed89ef9bfd3c9..f850a1bf94dfcb6bbcf708257a63046bfb9d55a9 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 ]; + + buildInputs = [ readline ncurses bzip2 zlib ]; - meta = { + 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 e233b91bbc91509aa65f0af5a9af867134492cf5..e8ae4d01a6d6a4b2db3e2d42115246161ca0cd5c 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 b655cc48c731e2e93f59779269ce0914550c2249..7be0103304a4779d32a143a6f902b1c29b85c305 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 6e7a3cfc88ac0d740cc86fa8b3e5ad2427def201..fd50fc825a06b59a204fd877a3c32752d62b43f6 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 bc23454edfc760a0fec858b6d1978b6cfab1deb6..7078fd454a0af80809715ee3798f6613403c8724 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 03524fc6b2228117df3c061c1513013bf0a047c3..10d94e2bb8c7cc1f00cad202a8474a9c2785e175 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 234b74749977a3148e707779104612c1ff0403a9..f83480cfbafcd3a6d97bdb944f4e0d73e68f289e 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 6c2d2f0a062fe6b1b59c1e95e7704f130f2b98c7..668fd9fea72d6ae6d729ac74241e2e3cf4525f59 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 8e0ad22bba180f8a4c56b5f647387fc0735756be..f1f74bcb581044f09a5126499496efa319ebddff 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 ed3d9e63812161c7e92b30f65373572941d8d734..9d6c866faea36963b8afd89d67e976542c2c7cdc 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 0817ebe0654b92287c26eefed57e4c200b74b32a..4cef49788c0444e8299ec9b95e346c50f2785441 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 0000000000000000000000000000000000000000..e2f48b34029218a563d205c3cef9ef195950c75d --- /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 0a4e1dddcae3ee61516f3dc3ed06a342fdbb49f2..dfe1277d5ac9807536cafa9bf4f3a63eb0a48bd4 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 d76462ca93805f65fb904beb1bb8032083588dc0..bebf81b030d64102703bd7e3bce6c6c532d7ae00 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 18af6f0a618b167c2b24ea3d5768835503a17a6a..b4c4cb7c047d45eec098ad2b01765f5cfac39445 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 df9e58af08bbae02d08f2cd637bde854ec1a3d9f..6877060d36d61d0135a1b18548fb62898f1b4bc5 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 91eaaeeb0e4001faceeea5a35fc013a939151a62..cd41e1ca64b9f051822c024c290fd3714968c1eb 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 703ce6fd50868f733b5e989be33bdc4f2b318ea5..dfb04ad90e9293d823b9acce7bfbf330f0422134 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 cddcbef7a0358c6eeffbc070c4bbfc870a5bd225..c0c7a53ebd441fdf44fafcdafe91d2d4c336ea52 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 b5a6a5b963e57f0e2e93ef5dab4a6c5b5dd9cdb9..bc4f526bb3a4aaf21cee2d9f96908050ade0b673 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 4d8e7b17b2bc46d47056dee9eb7cb92eda5c9170..1f6fced223351d24af71c91b932a4eff8456b5d7 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 0000000000000000000000000000000000000000..21ce6be3e6c141309c0b6be874062af63ebdf806 --- /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 71114d2f9e127fc2f697157644c05838ffe63e2b..7522eb4790ed0145e97b18a9bdccfadf286126d1 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 bc8d372ce42c3401db18f80aa9e6218325d56e35..0a8fad484da73530c8e66f5bc80714ca9d29b101 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 30af3216737cb7b28626cc503f8b6df6a81cfd65..816f8504a52e373fa28aba5845a37a54b6652310 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 ffd25b6238b7663ec3ca27c3ec3afde7adb0c088..40b0115dc1b72aeddb09a201e783ad42867fcecc 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 46b29e3dd271a6bc09ef5958e461b1a36eeaec5f..85fe52239ad9826b0038bb429731ddd675db2441 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 ffe508569553cc1962e4dd781e20918758a3195a..024f2f4e829436ff1b3c9a5330497ac24608b963 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 a95d1201cbd63c0c1968305f27cd3be8f36f5a70..61ca78d85ed1bacf1e45901489efcf154d3b0f9d 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 d7f047b84e0fa2378c0a6f3abc33d4b7276146e4..4775384a3ddcfdc42d06c4b57403216c9531601c 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 407244ef1830d6eb93128530e89a4f19d55be4dd..9bf54a5f094068a7dbe430fa18f40fd29f012f4b 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 4e1415d3961db52700a0428c1045a1f8b0f3a0b0..22177798647be95a48438ca8c42f7f5034510c12 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 be337a1c258e716e1a360b2f910536bdf18dd7eb..b50848a18205a56ada1e688f892d3fc1b0228565 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 a3834dc70b6d824afedeec3c5abadf77f686e895..dcea9c27acb41c83912d4c7fc46d64343c115a60 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 000587a22e67b8ddfcaea06e7f70c26263092fcb..dbd34f1da6e6db7cc92358b39d56150314af4f2b 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 db784237ea91892a6b3dc04a08bb65dfff7a9fbe..d6a1207b5d6091764f309d72ed0d74b40ef38c93 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 c77e0327fb6be3a62b113fd9be8417866912d7ec..02e9844115eff7fdfd8c7766eb26ca6617334072 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 dc32e84279a80829dc7efd1d1de6cb917f00bb49..93212c5b8546a0abd5f04555f675a7475a6d599f 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 1601a74e1899367bc92de773ee4af95ae534c659..7e46dbeb0743107f178157d98f42e99403adb4fe 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 4b2116680d50879d7ba23468376c8be704198f5a..34051a1da4044c58464b42fc04da8bf8dd5b44e3 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 f9f021b15f0702949ea10828e316470f14c91f25..9e5ebe008b8f3df66bcb3a93d23f0ad0d6736123 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 d21487ef92faa9c3398b850d743206238a1e657e..40c66dd699d87df41041a5512800413a49c3108a 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 b19650eb8630308adb7adc583fd41e4228b44f7b..a7eec20548c93eb912fc0935beeb83602e7dbf71 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 0000000000000000000000000000000000000000..cb35b9f27d526e97ae1955e0384273339454f6f0 --- /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 638996e853b8156425ec6021fd449dbcd1af5718..547bd31e8b42974abbe1945f51fc13303ea4c47c 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 2f765572f9ad8e7aa11d2a032781bf9e7eb6f870..c833b22e49b665c555d787a304a0f23f5a557e0c 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 4abfdf9162c0c54d9e05fc84e2de21afb233d213..2b368a0e673052dd8e73744a0da0dc5868f08e8d 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 1f6620a2872d58c630c26818b71ceb44700d6ea6..d4feb5c9e28558167aaf9631e104dcf13f50a6e1 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 f96532b7038bd875772c14f417ca150e6218d05c..a4538e1070a3a6df55f67009fd1cfdfbac2c3c81 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 c70ee610199ff653116da922ee7f19f242313b27..931ad2fc4f39774a8832d72d6a73701db968118e 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 426f1928938c7c347c4a4fa997a173f7028799ce..8e94356f376a088583ca1b9e940fa9446e7346cd 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 b9dd90f601f513edfa309c08673f25652ecc3967..7249eb991d387b44b9965cf6caf8853d6aabdd0f 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 32ebdad51d940fdb099284086a9324f41e30b4e9..3f8305ff4030f46343e82abca7aab05f7c1fc0c7 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 2bb2b911d4912d6a494c88c73596868487a2d3e3..2645aa102d9228d3cc9c6f4e879d7ec808cfbbb5 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 9e51849a93b9e5c0f47c1e19b64552143a4f9a7a..e0efb28819d27524903dfb7c7e60559e57857af3 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 081dc788163b40c6a2874e59d292e26e8b30d43e..0ea659d1927f2daeb7f7758160d62669684d3a93 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 2047bb3fc9f87bf3e76cb455b9dc8541e1837ad6..29eb8026366b3808c5ffd02db88b5b35c876e9ae 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 b1eb171b20b1a4dbce88cc35b4ab1528ff69b8dd..b1c72d7c5ee75b4e502c38476788ceb713e495ec 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 7d35f5f91df3f4421ec43286f6346672c2eac0dd..7c8389688d95d602cbb7a97a506753bb30dc3ea3 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 f1116a27c0beaab5270cd10faf7bd24f75807494..91666e85d9235297ab5d4fbfa2924960d58c560b 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 24971b500d3fbe0f5cc7199e29cfa5187eed8210..4c63f8e72a36df34f522d53d0ce25470a9e803e2 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 74f8875fcebebf06e67ff16163ccb8e02bcfaa39..161da6e4b2357346c3a2ea8848dd695a2916cf58 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 8ad70531d543610ea21671c782f8f0233fa80dc3..42963fe5f9c6f54f541428a6101f585009f20da8 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 22eb5d07f1c17c24dbf723dba786a608bc87368f..3e3e26708618de30b58a5a360f7fc745335e4f00 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 ca3673d7bf971c64bc13644f79c8492c67311e54..a04ab46c669be6a37f0f9610d2e051d1eff0676a 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 0000000000000000000000000000000000000000..3eebf3cf165d13b7c4a4c85193ab50a5cff23a2b --- /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 c22c15b3a4b9b396aa6f72ade992595a63a48e04..3cb14d7da21e4c72b82ca77e13888c22b2f1c3dd 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 0000000000000000000000000000000000000000..3528dbd3a6477a84bb01dc26c74e9ddfb4ab625e --- /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 313fe5a9f1dd68c71331b6dcb50941b9cf1accd9..2f972c92b52137da54891d63ce88eb22f3eb1e21 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 40a4c391e1d587d4784d6d54a62e6ba6988a0f73..76ed934fb39e3788231210227f40e1bd97048dae 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 0b21b8fffd40fda24606be70ff13b3ccccca83da..0000000000000000000000000000000000000000 --- 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 e0b0bc11f05f30f6dd5ee0b941146c3b80ff8a70..6909cfd8ef650af1b1736e831931a32375fbfe19 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 4283ebd931a4abb3375991b3545eb8eed95290c1..a791f9a57727e7a677da168c9a77f937513a773d 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 61eb1fd3ce4e0dcb18ff1fcfd4290b10cba82f55..74adcab4e70598094d027b027aed122eb49c07e7 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 1b7a97360079238e609afc6513b1a9b9609af3eb..37504fceb14160c2804faf18fbf088ae1157c131 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 9ee56041ed3890878f72ffd2256da3ffa42fe490..5068abbf30767e6cb298edf273485668598f68fd 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; - - outputs = [ "bin" "out"]; + 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" ]; 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 b1bed6c174b87e508f271309991ae6351ba594bf..dac5071aa08c6b3613903ff51e5b0d5b11c101d6 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 24cddfb9a1c272abb46800d8a7c1b6d2bcff0a43..0d149eca3b631fd492e2812944bed0c4a47eb932 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 0000000000000000000000000000000000000000..311421f2ef5446fbfebfa904efc156bdb006e27b --- /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 0000000000000000000000000000000000000000..24d5f99ec32a27a49f849dbec23cf4d299c32859 --- /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 93aefbca21601630608b9f71e0bd1f10024a7a69..d0857e2a517c30ca6c6a9f43875530c831d39ce0 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 4899ebe42d7719f69ce47510bb40bb7292bdbc8b..0eb57c7569279a78180e2ea19cfba7bb387bbe29 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 4bf922c4e1691dc42d1d8b06f8dc0728b8b42962..c20a6954c3cbcbb31973afb372e04c5069720ad4 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 df97a0c6666955f9bb722658461ecd3d478f60fd..0000000000000000000000000000000000000000 --- 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 94e0a44226d46be3adba9c5db0fab006babf13a3..13a75ce4db2d036c197ef48d6890b36e55dc2fff 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 dae5e1b76d35b24c8f4ac3dd21a27ee0b915cf80..ec13f5252f13cf7dfeebee6213f641d8fb3bbfea 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 88f2367e334072fe95c44694105e7416a7e8e752..eb42315f015bfbe62d4ae572e5f22d0ca5a97dcc 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 e123538781497ca359b6360e2016b89e9bd2a822..7eb10d1f952506895c4aceeb5de8b952b2570168 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 755a60940388780565f078c9df4ef558a9003f6b..8f38a24f40d119999b1b284b67eb0e75d433f7b4 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 74e4b052fdb56964cec2f1398853b7390f93455a..3ccd89cf2c1369a3d3811440fe69a8a9951e7227 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 d2d1ddb6584684d5beb051ca8fe1c9d3a185e865..33b003b2b5625e7d8b212765c01bb4007b5264d3 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 18a5281bebb0d294998defa3d593d2d0eddf682a..197845bfa3c1732c872d446c5134c06c7fadb18d 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 694c621db00bdc4b67d3f51562808e6dce85a8c1..1d96c0039ad1b1a6959655289a79c6dc058e7c75 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 be14d1411285fb0d37edaa6a27561ee16c426183..4ac7c411c2dc210bd38cfff8976ee7dd9e9bdded 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 9eab9ca39992b236c85f53a71c838f918791df97..45a13d0288949673b53f3471af588fdc0800bdc6 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 0cf834c8cdeac7e077153aebce95ce7177080c19..f39c6a04d1907a456b99bc6c6f3021f357abde70 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 9e02b08c8ad07e81787bd73b941ce80b78d85e58..eecb37dd743f63589f956e82a83d1ad72b02c6b0 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 c6802c3719e9c1aa9499eef0fdd807928389393b..4204b1399137e7ca73cd3c06491f18ab802cec3a 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 0000000000000000000000000000000000000000..521cb70099b9fbb475f759347e6fefda890b12fe --- /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 165a566055791b6bbcc8c6b24c460e289d929038..ca9a87abe13b65d81dec78b06966031150139470 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 065360a112d89e1cff87c4fcff4d248be53d2f44..51fb489be7ec8ecca837e165ac2d330c752b758c 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 0000000000000000000000000000000000000000..583391d08ddeb075500409ea9f19c46968074416 --- /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 9f6e281849d6da060ad81fb23fa0c4d4adf48cb3..5843f38a74a88d41e3447a344f10d06c21a4994d 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 061f48bb3d93b964ecd9d63ac24943be0050a8c3..bd4725ce73c62460f17d72e70405a12ed843a903 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 fb0ea20673557dc8594626dbaed5d6b2252cf46b..c2f8ba1d55ec802eeb0d2ca2a429a131e4b22644 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 5b431f4192616a3c99c90fe303e51e17afbe59e1..c86354234e3fc380b2516a268092cc32ac863915 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 32e4d81acec0dff0ce5efed8cea62d0b6faeaa71..89ae354e7c76f7a89f2e80a16a30404a4c53a3ba 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 4915e42025b5c9737da190f95e616b8a04cf9cd5..e743c8ae95b68f0051c4e147e65e8322accd6cb3 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 3e7d9898a656c40cafae4cfebda1c8906ce9b0f1..167ab9275faf399bd85fc1b8b0d62f988d43b2e8 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 4fba231f094d3321392b2430a6cad003001796eb..fdc4de7b0286fb936cc517625bde71c8866b2ef4 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 032b2ef09643aede6d3a8bf5e1d3bdf63732a793..75a46bb182aef2fd13cd9dfdd35dc3e09a7b3b30 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 5104d1012b2fab83ecbfa5177c2075f424d5191d..b4d82b9583c414e414c960d627c505d376a32231 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 2dd4778234dfa0baa91545b28ceb12b9cd1349ee..71d16fb626cd250db4b6a05b307ad13ced28d7a8 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 5e0b7fc300ba7f7848297783b3fd18cad11a3f1e..a42a5b710ce062c6fb996268cb28b3614041f042 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 ddb22bcb1ef2858c75f1485aa6a1a813a581949a..caf51c3da25175e27c6f1b8d1e6ed01b95c47565 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 0000000000000000000000000000000000000000..24a86a8f37a4b2d0f5471b63d5938dd49fbd2edb --- /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 8354629cab5588866a721cce8d2e71e8e006a1fe..bda2d23b9e52b0b8edabd67ebe540d7e9fa13eae 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 0000000000000000000000000000000000000000..e687281ad1a7c3523436041b5a7bfbf521190ce3 --- /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 0000000000000000000000000000000000000000..3f844e1b1ef59811aacb146b4798f416e69925e7 --- /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 58090b241d2d5014f40828aeda7653f3017fc3b6..0000000000000000000000000000000000000000 --- 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 64dd6fd937779f25bb0776265579c1350060a24a..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..933344aa559102fe0868d1e620ee8da0af98369e --- /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 0000000000000000000000000000000000000000..20020d610f80f5257f955511114a88bd0f5bb42b --- /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 0000000000000000000000000000000000000000..62b2f114bd62c7ff5a89c671d4f7f3cdf4a9e88a --- /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 b9d0a9ef4486dfd8a200f532d3732bec54e37bc8..57d6c852be8da3fbde209d55a5b533a2b74102e1 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 12433e12fe90697a8fcc0ba5900f4e17e9c0ada4..856d604d7518eca4e3fe93795ef0cc11568f3e9d 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 18060f342a92a84c31aba5051f5d6c1e56aa3f49..524085e8c01282ea452a77f4756c6a5f55c9f550 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 541b9cb36dc224d5ba8fc7ce1589f00550e91304..4fa8ae6270ba476e4b3ba2b1f8a9e6daf2d4d99b 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 cc1a4fc61e0ca68429c2b6add288743964cbff87..bf618fe64f45f4c64f99d0ff3c331697608ac7cd 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 814eef9560e9411f58ac2a60b4aaa91c479eb8ab..6eac84aaa8658ddf4414b25c4256f9c1cbb671de 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 32335b452020361f79ed18b37ea8b515329cee26..03b5b7a3bbf92237d711631c3086f30251008589 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 c3a74d14bc0a294ccdcb75676f26fdfcb33ac60e..21ce53e70c5183f997ca51fd59c9f2de45f46213 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 01fb58403cad9c9f2d3fa694b09c32b31383762f..432280a18fb2ccb896fe7be6c2077fff3cbdb297 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 8fa020ba07c970ffbbdc269d468bf0a815286f50..610f1ef05c0fec9d9fd447067be83197141d1f57 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 24063216db049163ebab707f42133c3c58d5d294..ccb139203acb72f6dd5207caf65163827d154899 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 d36b135531c2457558c5217bbc49d46bc0ddf109..67561658eb256f4e7e09c97e801e214e103d6adb 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 bc971606cd085c80bf47b8853b8ef860879853c8..18daabb9e7e2a0f562ce20c20f5173d6d892b099 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 3bfb22dad93634682cea92f2668efdfdf2c29cf5..90278a744f1514f29a572b96007f4c07c974ab59 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 67cdaa4055ac8c70d587198315806bc9d2bd81cd..406d74c4cd34c64f0394c8cbb240394ac2bf9f9c 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 c02ef73df119bf2b1030db6340bd97abaa7e9eae..bae0d9a18c67cd73aa93dd4763c620d2be6b7126 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 ff25bc97490073235d3ccd156168026ee9abe2b5..2633f4c8db1baf94609c1546b4dd1336e7a1af1b 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 3571d705e3114000c9dfc67b7c354902d48ccb64..c806b558da0ec97ce34f71c84552a78fc97cd0e5 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 0000000000000000000000000000000000000000..672569ed10028eb2e7ccc702cc1fe37edf540862 --- /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 36c7884d108bf215f6f5e40ae2e7db8ab2fdd2b4..2e19012af874647f96469e5a453be66381b00714 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 b81f188a91bfb769a5677fb8821c036c7cbf0cd1..17b2fe27f2970b172dff3e54749259b97a55e1cd 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 8b6c7497e547cbc0ee314cd93bb55c61e563afb8..b394639fd0cc9e21c7de703c2d9636df59f6b627 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 8cd119c7b7b0ac653c141de88a15f68a398ce646..59f5afb2f437683071ef57d4734aa36b63e87a26 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 d4367ef7e2d3dd7cf8c667d238838074950f72e2..0000000000000000000000000000000000000000 --- 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 76f958cc3a81e8fe889f0c598767790320b1746b..b412c4ef81a717f560d2de6450d56d38cdb25f41 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 9e9a10a011ec610c9048ac88127b80464ee9f6b9..1a1ae3df94255a9bf10adc07916b57fe8ac98a8d 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 c3e1cd60bf0bbf8402664750526fe8207aa988b1..121e953f43af9702e53027c8cc5e407ce2a33e6e 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 b665d5f4f6878cf367c326f57f70362fcb9c4119..43d57feab71bd662f7ee62a02598f0f2c9782095 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 0ccb096b8dab19a2e958b28598c83faff5a72571..daa8b4943227d6c97aad1f13e83c9d61422ac428 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 1f0fc663647aa29d461092a34e3e8a0782a7bc15..2145d7e71d33295d5a4cdd1708af848c180d9d5f 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 8b9573ce4e8bafb31870766465eb66a0f4fe062e..690dc920d5c8e11be3670e864df360f669beb2a6 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 0000000000000000000000000000000000000000..abd6222847ef564b511f25e4a1847017cf216c83 --- /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 0000000000000000000000000000000000000000..6773603b8ad37adb7e425dd4720a539402d5d4e4 --- /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 258073e4080b04c9436033a8e49f9fe000ccc8f7..d6e3f05e0e13dde4aa16d7137ee4f1eacd827d6d 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"; - - src = fetchFromGitHub { - owner = "simgrid"; - repo = "simgrid"; - rev = "v${replaceChars ["."] ["_"] version}"; - sha256 = "1v0dwlww2wl56ms8lvg5zwffzbmz3sjzpkqc73f714mrc9g02bxs"; + pname = "simgrid"; + version = "3.23"; + + 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 6f04d436877fc1a8547677d0a98d9be466258305..751f3c3aebe3d9f1812e72a1327e5728bfd01cf1 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 7db2e6a12c20bcbefc103c2fa9067a8f363e3266..509cdeaee611255173ba63c3a130b427a22dde3d 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 1986f3b75ec16e347127dff33eba117cab51e5ac..c7692dde13aa8abdfd4582c02ee0c3b5b6193d49 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 a682d59ab23ae346ddcc122043cacb19e9c30361..d00b59307c522897a8d1482087d373899862ebba 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 f4491053e4c8e666f873a5fc5fb37f73c1908303..83f8b88ba318b9c9f5fe7e85c02ee742c7cfe91b 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 ad86ff61471cefc2b036dbe8a3c072e1336e14c4..b22b9d412fdc37f1ccf81f69b8ae0fde22363e27 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 64b88dcc3d4fcec0e08bf391165fcf6339066c08..dd092a2ce9a9e529789fa0d21fb13d0af5a70591 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 7cb3e8881caffb247914a0d6af398af6224c179e..045a77cea27f404d07f686cebd901f11ced9600e 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 ae5307f155bd8e2291728eda00b85067eee31b1b..2af93961e02b81830b07e5346a6c69a0692345aa 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 0000000000000000000000000000000000000000..e854f20d39a3e5c5d08ac061c5a07861087a1f30 --- /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 c454ad377686b8c5a5e022f5ebe95cface97bb36..ebfb6471c6323847f0977503268fde216186ffdf 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 152b71217743efe8ddf480c82efbc3fc8f7d3aea..6623f5def4cb7f573a076fe7be8ba3a8397341f3 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 e0993a5801936dd3210f86ca7d522958f65f6bcd..b4daae1afc0405689985a32a7fca35804ebfaccf 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 2d579a80369856de54aa6d055272075e4e21c972..ecbf0c703f19ff7930496015b6fddb21b7f4be04 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 0000000000000000000000000000000000000000..6449e966959b8dcc93ca906423a7117173c7524c --- /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 98ccd92c4ee58fff9269cb96ef9ef5305f336c2b..a3ebda463b91315bc95e0613f4b0ad306c303eaa 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 e6c9ca38a989a924a168cad98d107bd654522d0c..0000000000000000000000000000000000000000 --- 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 eae5d3766d6db59b03fd64f74db5e97755a83100..1863757adbcf819fd328a03cdefae4225f4c5497 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 0000000000000000000000000000000000000000..68b91dafb736a969761084db0f9cc46d5e2b99d5 --- /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 507481cddab28aa9860522ce8a30b6a8a8f6fc93..d14c0bb0fe81e3fe4d603f9239168d943744fa95 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 71def712db6c251bf098b8126714e73abaf37395..0000000000000000000000000000000000000000 --- 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 c2afda2d53d901743b2538ea57286697c7331d92..a0917d03ce11145ad978ca274d9ec0b09187adc5 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 69fc0e76932cae8ba405d639044d57a4c567c8dc..06b2aee0392052d797d0951831a1d5d82422c650 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 99c149b79d9daebc3e9053af6685ed13048e58a9..f3fc1e24401d529f56074b98e878b5af031aa6e6 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 b0ac580d16226e7c1a20d5a43f87773e54067e77..06f3733c8f79e3d0fb3a6b5289a7928a9b79d227 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 39988423ae1f13325ee0dfa30e82e3748eb80ed4..0000000000000000000000000000000000000000 --- 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 a03ffbc16df14eb27d3e1f39bf551b4dec36e29e..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..3dc7792de2ae8b44133ed91367aaffdc3b03a5b4 --- /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 26397380d57f591ad783135fc3fdd20aead8646e..e092a604142ced9884b21bcb8233cfec92b20f38 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 569606d2fdb6f11343bf1610192b9ed80ea9b250..8c28a6789624cab22d4df1caae151e5fe088f083 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 7c41a60a7253eea6828bfc7773a77c37b1dfd103..7d1de378f53d6f2424c7e899c7a1ca182732bff0 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 5e1a0cab69d9ed08ac36808954a762f955e5f964..0a1ecbb65327d9ef4727352025ca2b5730c3ee6d 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 aa3bcb2739492b519c232ed8e92b0a013246b6c9..71130a2e2830220448a26cce7920b5b55b51fa75 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 fa6d4fe1890df216fb69c1527f8a9bb7c07a30db..fc591dd710eeca015775b346715a185e4677a3cd 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 cf58731b46c2095b4a17207fe401601b9bcf7c25..cc02988113331de2957afe7a07306198a5fa5d0c 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 0475a8ae76ca9d9c8f5560345c6428a479e1c340..350eea240ec85ca921cdb36aa96eec266eea2d26 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 341b50f0ef2261e3a8626839df591f5939126716..fda89e331809e76dd460f18b0af04151c43bd4a2 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 5bfd74344e8c1238440904d06b3aaedcc1600379..203926550628878cdcbead2e8b8913d7b60a0c3d 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 1af1870928ba7bb931c57952d7c42a531c3fded0..0e28258915f2e82793dcb679471d5e9e0bcdcb73 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 e7199543ad748de728df867e6eba5d2bb3920067..e64254ed29f15df26ee1f7eb768792a5015c9eba 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 90b83348ef14398b2a9c417da509520bfdbb3ad7..1bbbbe22d9a808c3789de590e6a750418e072b6a 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 fd50febb4699154406c4b4fdb43df893a6369d06..c9fd33312d7216273a185b9bcab3493462ce7761 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 84a441641dfa0031e18ff69771119082fbe21182..b73825737dffad0214b4aa288e60c6049d703afa 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 1df37aa0f21fd58c0f89cd9070aba6ede99382a7..dde1b19b4c3b2e31ac490e823eeb7a03c1f3654b 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/golangplus/bytes"; + fetch = { + type = "git"; + 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/mitchellh/go-homedir"; + goPackagePath = "github.com/golangplus/testing"; fetch = { type = "git"; - url = "https://github.com/mitchellh/go-homedir"; - rev = "b8bc1bf767474819792c23f32d8286a45736f1c6"; - sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q"; + 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 17e2bfee40b55bcd5d31cc081de7969e69ed18b3..169315d1e2efdce7caa5a8977b2b3dacf53cb713 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 ba64a065d2812c576b5d8fd44e02f1d4971dca62..3118eaab19b437948ac9d674af3430d18b7f3900 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 4d0f33730e45bd0a8afe3687d1835487e4df7f0a..55a9dd18f720e41289922284db0d13720d63743e 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 0000000000000000000000000000000000000000..8dd44287b509058e95e64fc10726c5820bfda84d --- /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 c368dcd487e8e32ffb0b08d01ea88ea11f3822da..5d4d9b86d83f4e4f95ad0cc16abdc8461dd1eb7b 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 185ed38b5db0342a6a2cd802946c45cacb1e7a55..daa0af43879db9dfe2e39ce9d250aaae1a7f5942 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 7a47ed9a992d5b205f55e75f3e86bac0c4c3f3e0..2d171df8bf2405acfbe17c6c261cad1eb5bb9077 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 eabc9258e29a71975f9eac31d6a547671e946860..edc5f9d7bfb0a3de7cbe8379bee7af56b79229b4 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 77d79602a9c1142c4ec5d7b15c7f2061fe7cb75d..0000000000000000000000000000000000000000 --- 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 c14a027b4abeaa20eeb73fb4fce4705889eada0f..e502c73adfd4d08c6d2c4018ea2a5ed1d6ef255c 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 206a4af91212d4dfc575f673c60ee1995c68e4ab..fbbb2d9524222c15bbb5d8f4a060099928536826 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 3020e7d64aa84293a48dfe0e1e6b64c97eca3d21..6945e24ee46b12bc579733fb623411b50830c1ce 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 2163855d00e1d4481bfaf14912ceab5c37c91903..abb09ff9a45e3e6ea8250698aedbdc6afba9d51a 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 9c362276383c20f8e439b71a26e52f0cf761c42e..90b8b54434bdcab914101a6f01fc88010f0b4d04 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 c036a0ffe4b184c354475274c4978ff524abf799..09c9169e434e45a35a85f194a7c1d25e03fc9daf 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 9ca7a67a53e76c243e95c7e2c16b74e44ded2750..2d6de24167bda66bf7f49ec4cc2fce9f558b349a 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 0000000000000000000000000000000000000000..d445e0181f434b275572c99382504e35a4031737 --- /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 ba126bb476c12dc1abdff2d1642a59e743ff8893..193133d6d3e69d0138c94494b22ee57663bec5a9 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 0000000000000000000000000000000000000000..99be85e09b1e5a4306a27413670644632ff59e5d --- /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 10e786222710a66f832f0384bd5d774515074a32..76b29135f66cda9f621022c50abb8dd2a861b84d 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 f8d871bdcf30655bac5be1f7849d7de7788a961f..a7abd1eeaf46804363b45f860d4a498162c61a49 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 dc3fbbed19951f124c2610d9b0278b6ab99a0858..1cc3f365ea88436506ac3a44e11aa993493d78c3 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 d72df802875916fdb409092eba6f46c6547acc4b..9fb9d4de6e3def6e4177d11c852370d290c93c7c 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 c52a78ff0076cb051263f4a9c0f094b360481c44..628c7dbac7f398bc03a7fd7b3d9eaf292e85fe30 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 a8df4846bf5c407320af95f8e6dc6b14c1634085..ff0f702269c2bb3b9f3dfe197b5d3fdf8deee8aa 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 f30813cf12016a6ad9c008a097a8f0cad2bae75e..7d6b620e2239779dfaf5184736a6c76c0b5172c2 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 03435ec834ab4dcc04cee2d971d4ab67733940eb..c0de46264d05e9632ab280bd6b36152ce2cf2ffd 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 0c5158e550cb180992701d1603fbda416b8541cc..62fbab02292dddbff8c7c882dda4b52211479f56 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 fb85bb7da4633834ac8576c3af150c04337ab6b1..c1a40b12cdea57d503e401718bfd2a405f5593b5 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 0000000000000000000000000000000000000000..c7488e84d5d0be01799986de456ab0f13e3322ce --- /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 6a52983e83ce7414f5746a6a454d6a497f1ee3dc..e8eaf885c71ff12b14b90ea79290f377e5a4e945 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 0000000000000000000000000000000000000000..24a1e1ac937ee066cae0aba5b7cf575abf9929c1 --- /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 0000000000000000000000000000000000000000..dcba5ba6eea1246ee3e0e65ec2a1136cb2b9ab31 --- /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 7ba7d8ec243468bac1abe393fb5266c5df82d90b..7fa15c668099eb61e5ee6ffa90a130cf7b5f31e4 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 1150f008299c812e3c83c565a8435943feeced76..e55799c27521243dc4a46ade2afba0aa1a462815 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 46e88b1e0fc4069fe73910a921004248e2e2bf4e..3a4fcc09934022f1614134bebb95595522f87804 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 ab5bb3c3a6c761360040d45770c8f3b3e971077d..f8f8ab86a9ce5aa9e641cd698e71490edc432901 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 6b93d061a3be7615292e2a5f10c7690293fdf4af..9603d8e27c5c0b13ed8d856b43256d751d5ab594 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 216c0e56b44c5277ee2b7942ebed5dd6f83786b8..721f2aa099c4449cd7f82f9eb2b2b35e8e3a2d79 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 8c68fb9f186b6b92ea7d45b8da42ac9bc238f389..4b73d11744bafa13fb3b255d931eee43211739c4 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 addb1dbc5e066632cd240ef49a20540a2828045d..71cdc694ac31592dfee0517224906661b95e87b9 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 0000000000000000000000000000000000000000..05944014743f478613d05b5405350f2f233c2f72 --- /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 044800fe73a6cd9ae74425c35639c647fd87b6e6..036f8b4114e2321a1e1c2d43a5773fce9e42bf5f 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 6979a47cdfc181667054c26bca967de7959964e8..6ecf81779f208cbce976482259af0a80ee1aa9c1 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 698de486b5be72c33b8ba5600465682c2e42e795..57af13f597a77f5d5ee1c53393d02d72431886de 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 0000000000000000000000000000000000000000..1de631e8b6ad63c7464ee32e4a14d1c81684f7d3 --- /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 0000000000000000000000000000000000000000..22f35e22fb540cb006a567adc8223baa82fd4aea --- /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 a98dd5bc5862cb02ff33c3e16f0fbf5199850ffc..afd90ba49690ed671e84c1f8ed2812bb12309632 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 32c163c45c417a8a3d3aea2dd3919e9599a9638d..e6b746233fe1ea3d9c4415f1d03071876c0e7527 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 8ae600ed3605a1d5e55adb7486d8184d744543d9..f1950923415f4bf9df9ce178fcf2fd29ce9e82b3 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 daec9ce9d2af259ecc48d89bf0d3269f79beb320..a1ef489b0073e1c8c1e8704b5119288d0527d8a1 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 03959300b43571522b814ceee959883a1207b988..0000000000000000000000000000000000000000 --- 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 331b020d8ca7760d2ec1677874f48c45fc4cbc06..0000000000000000000000000000000000000000 --- 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 0074d44391efed18c6da165066fdae0926d514a6..74fad30b8a9a5cb0779966e30ae0d45055fe550c 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 7b36a142d15dba3c667c081eb480e8c9ae929f5c..6866418f3e3e193b1e475bd491739c1e0c753ea7 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 0ee188cc19d08c46f7f658113f95d19b2c9e228f..3c7784e8506201fa58b34bc666fe33da0371a881 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 d00fdd0c29e07b09973b28abbc08f1778a81e15b..821ecf3e3d8f3c7f5294ab3de35c1b4b67e581a1 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 a407f6e7ab127d03f464c297798cdd9ff546914d..59354598d0083ce39c99a059ecd316cf18a18606 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 c183bbde7e6b941a825044b45f53e4a248f50303..0da0cfa02b63069473de1a8aba8350ad9836621d 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 35e9c17438f7b1d07a795eb1da731d01a22c0c33..3b8affb57edf516170295b56cd06fc0013536de9 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 0000000000000000000000000000000000000000..925aadab3dd598bfb80b71f1990f5f454334a5eb --- /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 fd999dc17d4d24fc63c1ec4746a61b1ef350dc09..ec03c5bed5b1c276eca4f17ac83e0c96dc2d5500 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 3cde046a2adff62e591cac036bb748a31aa4d6e6..e3190667259ea8d20aae116bc99b6588b162c586 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 67c07072d41f8ba65a296f32d8e145a8e12543d8..d9b5e17049766800a2ebf36f07e2f03d35aa1940 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 b629c8fe9109b480e32726bf237f586d6e066369..b26548ebe99197949ca721708bd877dc1be4cb0b 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 101770da88858578617f2505a78e0ee3b58e479c..ecc054df47e733f0d03df482c158e38f5b4f0359 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 9c5ab20d364fdccf3d3cb83feb97d65913067be2..7a92679583b6047fc10830b63b31efb65ef54147 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 366314490966f491c61493742fe6d56b4daaedd7..00f344597bb47295c682c53bbf70c8640315c591 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 664ef62be549dc8b74f02923af1e7fc0c8d7c5e1..fa93ff41a4ae0b87d10900c5b885cbbfaf974358 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 3298bc167517424a80fa612787b89f98838f8fc1..d20236e9f5bf6410ce1881a8fc88007e351e6021 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 2ffe1141b5a0437169745a0f529f5abfba99889d..20f0937274ed199210686dc6c0fbc2e7a04a417b 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 0000000000000000000000000000000000000000..9b95e668e04518bef5a793b3b4671c8f445f60f4 --- /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 81f1864099f36c9124967acc21142e62aa5b405a..1a6eb99b678d20ada8e8c10d085432d899c26d36 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 59f8ad69f22316d04978cfb8a0692e273db4c623..0a86273f7cb149f057a396a5661d9191dee9e099 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 349b75f193471fc6941bc03167746fc103538bf9..873d9f390905300ed4dbcc5b8877f1d3c8328c7a 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 0000000000000000000000000000000000000000..5522185783d3401ce23d44c2e9756d816b8abaeb --- /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 c06be7891ffb4850551b82b23190f68ac3ab1032..fd1af22dd78e16fa2dade2156c85a3c666498882 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"; }; + actionpack = { + dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zyi3dc50ii2msdkawaf11y4xw645ig57ha2jfnr8lpr8s1nlh52"; + type = "gem"; + }; + 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 = "1yx73l984y3ri5ndj37l1dfarcdvbhra7vhz9fcww4za24is95d5"; + sha256 = "0znhiy90hdlx66jqhaycin4qrphrymsw68c36a1an7g481zvfv91"; type = "gem"; }; - version = "5.0.7"; + 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,28 +114,31 @@ 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"; }; - crass = { + crack = { + dependencies = ["safe_yaml"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi"; + sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; type = "gem"; }; - version = "1.0.4"; + version = "0.4.3"; }; - debug_inspector = { + crass = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0"; + sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi"; type = "gem"; }; - version = "0.0.3"; + version = "1.0.4"; }; diff-lcs = { source = { @@ -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-labkit = { + dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dvapmdc9axm9dq2gg89qrqb318rkrsabpyybrqvcx1ipbi5k3a1"; + type = "gem"; + }; + 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"; }; 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 = "1rdywzism5vxz8pnml6xjb9f19diclyy74014z69q01jzqwi1wgs"; + type = "gem"; + }; + version = "1.19.0"; + }; + hashdiff = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m2wspnm1cfkmhlbp7yqv5bb4vsfh246cm0aavxra67aw4l8plhb"; + sha256 = "1qji49afni3c90zws617x514xi7ik70g2iwngj9skq68mjcq6y4x"; type = "gem"; }; - version = "1.15.0"; + 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"; }; + jaeger-client = { + dependencies = ["opentracing" "thrift"]; + groups = ["default"]; + platforms = []; + 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"; + }; json = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; + sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx"; type = "gem"; }; - version = "2.1.0"; + 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"; }; + 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"; + }; 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"; }; 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 = "1j9rwbig24ry0smgvmkzdjrzyszniaswipinvflzxzzaz52v7483"; + type = "gem"; + }; + version = "2.9.0"; + }; + simplecov = { + dependencies = ["docile" "multi_json" "simplecov-html"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0yf2gysjw6sy1xcp2jw35z9cp83pwx33lq0qyvaqbs969j4993r4"; + sha256 = "1a3wy9zlmfwl3f47cibnxyxrgfz16y6fmy0dj1vyidzyys4mvy12"; type = "gem"; }; - version = "2.7.2"; + 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 = "03vjj74kj86vlazhiclf63kf6gajs66k8ni34q70fdhf97d7b60c"; + type = "gem"; + }; + 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 = "0rh1649846ac17av30x0b0v9l45v0x1j2y1i8m1a7xdd0v4sld0z"; + sha256 = "03994dxs4xayvkxqp01dd1ivhg4xxx7z35f7cxw7y2mwj3xn24ib"; type = "gem"; }; - version = "0.2.8"; + 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 895e1e13bec8fbacfda774bdc0dd3d575cf1d8af..cd4784b36c8e743ff3b8e1d7c38fc75658c096ee 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 7819c863a359b9f015813f6e3c3b5982f8bd6a12..d8337ebb9ea4f920a6f3aaad3cd47f57ef7bd99c 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 ad3b11f3b2ce6122941b79f5567eb917ec5e028e..12f354bc2fb965db568daea335030f5736ae23a6 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 f59e61208ac3967b9281a36d4240e06786fb164b..8bffc2a973d91062b2cc5f5b2a8db0ca90d132ed 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 'grpc', '~> 1.19.0' -gem 'google-protobuf', '~> 3.6' +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 77b4360cf413bd4815e1a21f55694018837085a8..60939ae918c8c055b7c2f07bf76c36702a062fef 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 10b8c3f25ead91d762ecfa7241816682ca87ee8c..8da7a3262c1202f1fc3a9c3d44b7967d0fdbac1a 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"; }; + acme-client = { + dependencies = ["faraday"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1552fkgaj6qfylwsckgmhck34shjqnfrzymj1ji1kq3r310qqrnp"; + type = "gem"; + }; + version = "2.0.2"; + }; actioncable = { dependencies = ["actionpack" "nio4r" "websocket-driver"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1443cal16yzc94hfxcx9ljagdbs5xs54bmr55wzmg84wx28bgvrb"; + sha256 = "04wd9rf8sglrqc8jz49apqcxbi51gdj7l1apf5qr4i86iddk6pkm"; type = "gem"; }; - version = "5.0.7.1"; + 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"; }; + activestorage = { + dependencies = ["actionpack" "activerecord" "marcel"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04is6ipjqw1f337i8pm8w5bd99rpygqfd0fzzxkr7jd308ggmsjk"; + type = "gem"; + }; + version = "5.2.3"; + }; activesupport = { dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02dnmcmkvzijbzm5nlmrd55s5586b78s087kvpvkada3791b9agb"; + sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8"; type = "gem"; }; - version = "5.0.7.1"; + 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"; }; + apollo_upload_server = { + dependencies = ["graphql" "rails"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0riijpyicbkqsr46w4mfhh3pq2yrmakkz8mmgbrfjhzbyzac25na"; + type = "gem"; + }; + version = "2.0.0.beta.3"; + }; arel = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l757dkkaxk5fq3368l79jpyzq9a9driricjamhiwhwvh0h7xcyx"; + sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0"; type = "gem"; }; - version = "7.1.4"; + 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"; - type = "gem"; - }; - version = "1.7.1"; - }; - erubis = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; + sha256 = "1kagnf6ziahj0d781s6ryy6fwqwa3ad4xbzzj84p9m4nv4c2jir1"; 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"; }; + graphql-docs = { + dependencies = ["commonmarker" "escape_utils" "extended-markdown-filter" "gemoji" "graphql" "html-pipeline" "sass"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12wzsikbn54b2hcv100hz7isq5gdjm5w5b8xya64ra5sw6sabq8d"; + type = "gem"; + }; + version = "1.6.0"; + }; 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"; }; 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,31 +1685,42 @@ }; version = "0.8.3"; }; - jira-ruby = { - dependencies = ["activesupport" "multipart-post" "oauth"]; + jaeger-client = { + dependencies = ["opentracing" "thrift"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "14019mliqwcppj6qp2wdhh5gbvs2yh2idibag13m9a18ag965bhw"; + sha256 = "198m72c9w3wfwr1mq22dcjjm7d4jd0bci4lrq6zq2zvlzhi04n8l"; type = "gem"; }; - version = "1.4.1"; + version = "0.10.0"; }; - jquery-atwho-rails = { + jaro_winkler = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0g8239cddyi48i5n0hq2acg9k7n7jilhby9g36zd19mwqyia16w9"; + sha256 = "1zz27z88qznix4r65gd9h56gl177snlfpgv10b0s69vi8qpl909l"; type = "gem"; }; - version = "1.3.2"; + version = "1.5.2"; + }; + jira-ruby = { + dependencies = ["activesupport" "multipart-post" "oauth"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14019mliqwcppj6qp2wdhh5gbvs2yh2idibag13m9a18ag965bhw"; + type = "gem"; + }; + version = "1.4.1"; }; 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"]; @@ -1686,10 +1953,20 @@ dependencies = ["thread_safe"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c"; + sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c"; + type = "gem"; + }; + version = "0.4.2"; + }; + memory_profiler = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xki7jrbzylsmk1brjibmhifb0x70skr55pdq4rvxcyrlnrrvyxz"; type = "gem"; }; - version = "0.4.2"; + version = "0.9.13"; }; method_source = { source = { @@ -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"; }; + mixlib-cli = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0647msh7kp7lzyf6m72g6snpirvhimjm22qb8xgv9pdhbcrmcccp"; + type = "gem"; + }; + 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 = "09xy1wc4wfbd1jdrzgxwmqjzfdfxbz0cqdszq2gv6rmc3gv1c864"; + sha256 = "1w38hilm3dk42dwk8ygiq49bl4in7y80hfqr63hk54mj4gmzi6ch"; type = "gem"; }; - version = "1.2.4"; + 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"; }; + raabro = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xzdmbn48753f6k0ckirp8ja5p0xn1a92wbwxfyggyhj0hza9ylq"; + type = "gem"; + }; + version = "1.1.6"; + }; rack = { + groups = ["default" "development" "kerberos" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pcgv8dv4vkaczzlix8q3j68capwhk420cddzijwqgi2qb4lm1zm"; + sha256 = "0z90vflxbgjy2n84r7mbyax3i2vyvvrxxrf86ljzn5rw65jgnn2i"; type = "gem"; }; - version = "2.0.6"; + 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,39 +2744,44 @@ }; 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"; }; - rails = { - dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; + rack-timeout = { + groups = ["puma"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0blacnfcn2944cml69wji2ywp9c13qjiciavnfsa9vpimk8ixq9w"; + sha256 = "15xph8h6v0lvq9pxm3bc9i9pnk2k68rgdr1mp0dw4l7v1xvhs78a"; type = "gem"; }; - version = "5.0.7.1"; + version = "0.5.1"; }; - rails-controller-testing = { - dependencies = ["actionpack" "actionview" "activesupport"]; + 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 = "16kdkk73mhhs73iz3i1i0ryjm84dadiyh817b3nh8acdi490jyhy"; + sha256 = "1p7cszi3n9ksxchxnccmz61pd1i3rjg4813dsdinsm8xm5k1pdgr"; type = "gem"; }; - version = "1.0.2"; + version = "5.2.3"; }; - rails-deprecated_sanitizer = { - dependencies = ["activesupport"]; + rails-controller-testing = { + dependencies = ["actionpack" "actionview" "activesupport"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj"; + sha256 = "16kdkk73mhhs73iz3i1i0ryjm84dadiyh817b3nh8acdi490jyhy"; type = "gem"; }; - version = "1.0.3"; + version = "1.0.2"; }; rails-dom-testing = { dependencies = ["activesupport" "nokogiri"]; @@ -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 = "1sr4825rlwsrl7xrsm0sgalcpf5zgp4i56dbi3qxfa9lhs8r6zh4"; + type = "gem"; + }; + version = "2.0.1"; + }; + sassc-rails = { + dependencies = ["railties" "sassc" "sprockets" "sprockets-rails" "tilt"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0iji20hb8crncz14piss1b29bfb6l89sz3ai5fny3iw39vnxkdcb"; + sha256 = "18mgdjxdzpbw92zrllynxw7jn7yihi85j3dg7i4f6c39w1scqkbn"; type = "gem"; }; - version = "5.0.6"; + 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 f01944a0e877d176ad015ecc237d01f433706793..62ee2990dfa63bb6f96f5dc57faad97a92cd533c 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 'grpc', '~> 1.19.0' -gem 'google-protobuf', '~> 3.6' +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 8d07afb59bf1890047b192ee3e783fb7c8f146ad..0a6d7fe1370bc3a2ba5d2561e0cccb5a5f631fbd 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 03f885f2f9e5be7fcfbac96eaafe16a21fa4dff8..8050743ab258a64ad2bde9e7d1a49c5ee7bdd7e6 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"; }; + acme-client = { + dependencies = ["faraday"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1552fkgaj6qfylwsckgmhck34shjqnfrzymj1ji1kq3r310qqrnp"; + type = "gem"; + }; + version = "2.0.2"; + }; actioncable = { dependencies = ["actionpack" "nio4r" "websocket-driver"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1443cal16yzc94hfxcx9ljagdbs5xs54bmr55wzmg84wx28bgvrb"; + sha256 = "04wd9rf8sglrqc8jz49apqcxbi51gdj7l1apf5qr4i86iddk6pkm"; type = "gem"; }; - version = "5.0.7.1"; + 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"; }; + activestorage = { + dependencies = ["actionpack" "activerecord" "marcel"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04is6ipjqw1f337i8pm8w5bd99rpygqfd0fzzxkr7jd308ggmsjk"; + type = "gem"; + }; + version = "5.2.3"; + }; activesupport = { dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02dnmcmkvzijbzm5nlmrd55s5586b78s087kvpvkada3791b9agb"; + sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8"; type = "gem"; }; - version = "5.0.7.1"; + 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"; }; + apollo_upload_server = { + dependencies = ["graphql" "rails"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0riijpyicbkqsr46w4mfhh3pq2yrmakkz8mmgbrfjhzbyzac25na"; + type = "gem"; + }; + version = "2.0.0.beta.3"; + }; arel = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l757dkkaxk5fq3368l79jpyzq9a9driricjamhiwhwvh0h7xcyx"; + sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0"; type = "gem"; }; - version = "7.1.4"; + 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 = "1b2ajs3sabl0s27r7lhwkacw0yn0zfk4jpmidg9l8lzp2qlgjgbz"; + type = "gem"; + }; + version = "2.0.10"; + }; + asciidoctor-include-ext = { + dependencies = ["asciidoctor"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qld3a1pbcjvs8lbxp95iz83bfmg5scmnf8q3rklinmdmhzakslx"; + sha256 = "1alaqfh31hd98yhqq8fsc50zzqw04p3d83pc35gdx3x9p3j1ds7d"; type = "gem"; }; - version = "1.5.8"; + 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"; - type = "gem"; - }; - version = "1.7.1"; - }; - erubis = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; + sha256 = "1kagnf6ziahj0d781s6ryy6fwqwa3ad4xbzzj84p9m4nv4c2jir1"; 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"; }; + graphql-docs = { + dependencies = ["commonmarker" "escape_utils" "extended-markdown-filter" "gemoji" "graphql" "html-pipeline" "sass"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12wzsikbn54b2hcv100hz7isq5gdjm5w5b8xya64ra5sw6sabq8d"; + type = "gem"; + }; + version = "1.6.0"; + }; 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"; }; 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,26 +2145,49 @@ mini_portile2 = { source = { remotes = ["https://rubygems.org"]; - sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11"; + sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; + type = "gem"; + }; + version = "2.4.0"; + }; + minitest = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq"; + type = "gem"; + }; + version = "5.11.3"; + }; + mixlib-cli = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0647msh7kp7lzyf6m72g6snpirvhimjm22qb8xgv9pdhbcrmcccp"; type = "gem"; }; - version = "2.3.0"; + version = "1.7.0"; }; - minitest = { + mixlib-config = { + dependencies = ["tomlrb"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq"; + sha256 = "1gm6yj9cbbgsl9x4xqxga0vz5w0ksq2jnq1wj8hvgm5c4wfcrswb"; type = "gem"; }; - version = "5.11.3"; + version = "2.2.18"; }; msgpack = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09xy1wc4wfbd1jdrzgxwmqjzfdfxbz0cqdszq2gv6rmc3gv1c864"; + sha256 = "1w38hilm3dk42dwk8ygiq49bl4in7y80hfqr63hk54mj4gmzi6ch"; type = "gem"; }; - version = "1.2.4"; + 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"; }; + raabro = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xzdmbn48753f6k0ckirp8ja5p0xn1a92wbwxfyggyhj0hza9ylq"; + type = "gem"; + }; + version = "1.1.6"; + }; rack = { + groups = ["default" "development" "kerberos" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pcgv8dv4vkaczzlix8q3j68capwhk420cddzijwqgi2qb4lm1zm"; + sha256 = "0z90vflxbgjy2n84r7mbyax3i2vyvvrxxrf86ljzn5rw65jgnn2i"; type = "gem"; }; - version = "2.0.6"; + 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,39 +2883,44 @@ }; 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"; }; - rails = { - dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; + rack-timeout = { + groups = ["puma"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0blacnfcn2944cml69wji2ywp9c13qjiciavnfsa9vpimk8ixq9w"; + sha256 = "15xph8h6v0lvq9pxm3bc9i9pnk2k68rgdr1mp0dw4l7v1xvhs78a"; type = "gem"; }; - version = "5.0.7.1"; + version = "0.5.1"; }; - rails-controller-testing = { - dependencies = ["actionpack" "actionview" "activesupport"]; + 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 = "16kdkk73mhhs73iz3i1i0ryjm84dadiyh817b3nh8acdi490jyhy"; + sha256 = "1p7cszi3n9ksxchxnccmz61pd1i3rjg4813dsdinsm8xm5k1pdgr"; type = "gem"; }; - version = "1.0.2"; + version = "5.2.3"; }; - rails-deprecated_sanitizer = { - dependencies = ["activesupport"]; + rails-controller-testing = { + dependencies = ["actionpack" "actionview" "activesupport"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj"; + sha256 = "16kdkk73mhhs73iz3i1i0ryjm84dadiyh817b3nh8acdi490jyhy"; type = "gem"; }; - version = "1.0.3"; + version = "1.0.2"; }; rails-dom-testing = { dependencies = ["activesupport" "nokogiri"]; @@ -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 = "1sr4825rlwsrl7xrsm0sgalcpf5zgp4i56dbi3qxfa9lhs8r6zh4"; + type = "gem"; + }; + version = "2.0.1"; + }; + sassc-rails = { + dependencies = ["railties" "sassc" "sprockets" "sprockets-rails" "tilt"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0iji20hb8crncz14piss1b29bfb6l89sz3ai5fny3iw39vnxkdcb"; + sha256 = "18mgdjxdzpbw92zrllynxw7jn7yihi85j3dg7i4f6c39w1scqkbn"; type = "gem"; }; - version = "5.0.6"; + 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"; }; + thrift = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02p107kwx7jnkh6fpdgvaji0xdg6xkaarngkqjml6s4zny4m8slv"; + type = "gem"; + }; + version = "0.11.0.0"; + }; tilt = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra"; + sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"; type = "gem"; }; - version = "2.0.8"; + 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 26dc3d39eb1bc5a9f03da949424a36e8d8c3ddc2..650bd73aa845cd02c50f18b4657d28bcb26bc607 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 d062c32d018ed5b85e0ff7d5a8bc64b560288127..c08e441b05af52fa611ebd2576da360c9ee00e7e 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 78dd9dd49dfd9d6fe7b311faa051fe1f1f01ec3f..7c157191ab97782fee3c00f2445ce3aad51c857a 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 64b6e2107f6a11d28cb04fb095cb2eee1943e765..5d29c8fcb6c300d3e380097edb51620f6bdcb48f 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 56e411368961384cb5e369ca36db36d349e1639c..c2153ebea89318d6e65478d48d67229664bfac14 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 c52a2049a11de61f1a6f57dcfdc3438dc0ff19a0..0a24cfbb3a0da1eaf5dcc44905d88698baf36509 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 33d2eb89ad08c7a088ac34e7adc17d8d7e6ce6ac..0aa8afa936194a0ff287bdd1b89a2da32e2c89b0 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 6456dd75b522191aa41a8d5e578245704e016f86..168827c3548f5f700ce85a8ea9d12cdb6d7dbec8 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 67baa98d21ec5b786241783bf6d71c3c911c1943..ee0ab3756663d79d4b4eced3e0ee691cfda0a88e 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"; - }; + 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 3c052a26cdeedaff60fb59f544dd5ad0becbc6b0..bee1c82e11b6790ef82cbd2278683699792d4b80 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 010d4d2f86ad56d1c51cb46dd066fddd360f01c4..7081e1a08996a09b3562990d974727368be94d86 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 8150203814d05f9f694e6ca287a410d55ad4f336..23278e9e748c585ccba07a58cf7bb3b4581c35e5 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 18fb672226f2c65b8fca72eb55147d8146e1755f..8b2b15a00780e98510f5baf75a811febf4aa35f0 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 8fb1095dc581a1a7fef1420685c2c4c2fb336871..db9afdc0a74fd2e806ca9822736134150702e03d 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 f82b80067bf2413f98487d2af350f6d8d71d28ed..0020c8c2189e47db153d8e858af6fad790d8892b 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 b97123926eb51c464a7c05ee485137ebb02f5780..180664d33863646a1aa03469acf649be7f9c56f4 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 e799d5fac43b92587749d38cc00ba880f792e10b..60486e2011651b8b8b4249b90dc91fad638bbe1e 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 df1739aea572fc060c1c4a0b715d7666f0de35b5..862b9eacd62854a183bee97ef69801a8d9c7fcd4 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 0000000000000000000000000000000000000000..745f1868a369537a3d5a8a89b4064664e58e1082 --- /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 3fd176007abfcbc6642521fc758ed66c645a53af..343c7b3a5470c73852aa7df2a8475b2750b92a93 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 8c569ddb3227256f32f31d50a0e0b7be74ccfaad..671d2bb4ac1f7b882afd0a32b8363c56ce53d09d 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 ba9f96f5a30c3b9a5e95bbc40b4b8c9b2bcf1891..a3ba418a1463da4cd81bbbac01de8ab076a13afd 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 ce21a58b5564884ddfc28af0daf92e056063261a..34e459111f8aa09ae9ef53ebbb1521dea16ec47b 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 8f457449e7e6f55edf1a34e70eec766c2127e364..5a0283e20ed5c36bc87be82ee7517c8794df180f 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 8bc8a03e790107bc5c6fd8a5345796b2a2f16802..21296d343b44f16d00c595b67d660a35d12f11f6 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 02ae5da0f3f075c2fb35f10f2eab73d2d87191b3..0b1f64b58a1746d3b151eaeae12ebf69c73fce40 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 0a231c9957917079f7c1d5919fcd1a881f91aef6..4ef4bd404270774762cb8a2fcee3c3e859e7c7c2 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 75368bd884632379516667d0bb9cb9e812256fd2..7d655bfc5d3be0b992599c3a899c4f6fd28db79e 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 153c6d78a7b730c3d2619d55f7bbfbc38d7c3d0b..343d88554d632dd904edbdfe0e3e03f4afa16b4b 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 + --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 - ${install_freedesktop_items} "${pkg_path}/bin" "$out" + 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 2ff14dcf0993ba7d09f8c4760def7ff51bf65829..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..e554afe4a92e07ce818a31f71957b61afc5b0930 --- /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 0000000000000000000000000000000000000000..ca054c5cfde914ed71f98bea3a208fb75661be22 --- /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 0000000000000000000000000000000000000000..00a3cf27111302a6f43fe1b867236049ddeb347c --- /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 0000000000000000000000000000000000000000..3a8d1c82b3415052d705eb9c7363785474270351 --- /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 0000000000000000000000000000000000000000..c77fc902277113ed69e0ad7d979895f4b8ca1784 --- /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 0000000000000000000000000000000000000000..996663761a7db26f92f54e180f06f1661c4a68da --- /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 0000000000000000000000000000000000000000..9381764846864fe3714683c09b5e5ad4c98559c0 --- /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 0000000000000000000000000000000000000000..ac36a219a9123a82152111ad18e1920ecbf23b24 --- /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 0000000000000000000000000000000000000000..a0198cb52cf50f228d9e4091047713395cfec844 --- /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 0000000000000000000000000000000000000000..af3685c472cf77b4e380481a90018b0cecd32ab0 --- /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 0000000000000000000000000000000000000000..47153d9f204eccb675a9a5bd4fb7ef67de4fb911 --- /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 0000000000000000000000000000000000000000..ef6ed3a744b6822cca3f6a61f480cfbad21050d8 --- /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 0000000000000000000000000000000000000000..6b67478aa674d248d40e267e7eae8f2b4e760fa3 --- /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 0000000000000000000000000000000000000000..fdc0639c4c6e6f30a4e14715e0b04257327d2b00 --- /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 0000000000000000000000000000000000000000..43b494bf9d21e0da1d4aaf09fe5c55da5bfa4eee --- /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 1054a2c06cff787a84ac787e6aa1492113a35850..a3fcd209efc0f046bede34119fc88bce681dd4ce 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 8753d4f6f57182f690fadaf0faa18a2751af9885..693af89d9785362d3427f4a48fcd673f66a01bc3 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 0000000000000000000000000000000000000000..c095aa49eafb534e570ecf7bc944fb4dc92a376d --- /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 0000000000000000000000000000000000000000..2734028866e73e94ebf7b72aef9d04b87d14707d --- /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 64e8e5d2d253171789ad82d6754e6389ee04d2cb..dffe3fadd74b0bc95c5278731c61098f98d55b30 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 dc458eba1673912cf1760a2e9394e0326d4d0519..a6cdf2e4373edd679020b16250f72e8b9bbf32d6 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 c2bf0a4183c111c3d5d97de00547ecd57e126a4b..2ad6b6f2f62c594e843ed5c6fe451730a9106a41 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 a90eb531fe59bd14feaec6b03ab54b70b3f67a2b..577f2f014168cd5438b9030dbc27eb12cff3b055 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 6baeb5279c26530026b6ae5b952018b5709f780f..aed5cb807dc78457959eebb07f2676ddc9df6749 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 a613ad1c5842941df4fbd87c33325b18c39ce996..2734035b6de954f25afd3fac6347630e694ac173 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 5fcab43c86bae243a41f44ff815ee705d232e81a..c28d900dd9f150218da93902542dca91e08e7219 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 a76608bdd900e1fc82a7909e9ae9e4d1b6fbf121..3d598086329649f039b969acd662cc3b244755e0 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 d98b39796608fdf957a1d7a1c387def8c89308e2..64b9613363c3605190ddcda355ea37f5f68de846 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 ad095ddbea517cf620efec6ceb670ba05f64afeb..1cba1d0e94910d35e5c946ed334f2a0ac4cb7945 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 bbac1014034440b5c261d9bad8bb938881b62924..9ff65483f261fdc27e835b072fdbc3d23ba64c3b 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 ea8cb5aa3ffac9f5228f1ba765abf713dd7089a6..0f1b185ed220b1b21c39f3a386019ae9ece67b30 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 0000000000000000000000000000000000000000..91c47516521ed7c8d0d5efc6cd1e5cc7e79080c6 --- /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 0000000000000000000000000000000000000000..d1a9b64d711be8a419684958b083406cf583a6d7 --- /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 0000000000000000000000000000000000000000..53d257dd9d0703f4a48fd95e59c8b757c5ac78e5 --- /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 3937244f25be949fe1ca4bb0334d667a8c2a0187..1872750deb003bb7be66d236696b283065f254f1 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 48c5032f2da2c7ca0daf0b1fae8b1090c3a2a39f..d614523f5345c1123b689fa2a6ddeed36249611b 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 6281c78840158c28a94395e9584836052cb3637c..a032ef654aa3d1f7721151085ec7f8c9a42a9eda 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 a329321b70c65500a560d2d7fd4345b4466939ed..61894bd22f8efa85632de228427313bde6031aec 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 4712dfac7573120800b25fa27309d7833fadbbfe..54be20d5faffc3a2e4457f5045e93acc658a9867 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 f73c5277d0541ad788bf2ddc4ffad7df2368ec1f..495501e0c187243f7924cd4680c21771a2f87260 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 fd8cc8d86306bf5a9f499b509d0556f1e2d69424..3e26b4d68c22914bf9f04dd75631bf2d9ab9ef76 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 75a299d46c7d3f08e265854d9e302abb64254853..0000000000000000000000000000000000000000 --- 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 7a8b66d2d28e1a1cdaa8e8cc49ff1bde6a4949c6..f81f394ed0b8a38585dc98b6f8e1fcbdc0c3d87c 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 07474c5e52c5936fa82a7cefde0d2604260d66a6..aa2407134f3833b1164920ac07697f49e1dc2afd 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 1e8883eae7ffabc4e8ed6779db4f688782ec6b51..037331cad9e07f153e09382b08bf94fa08a31a60 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 bc6cd015b865a35314e580c851a43859e26d70f6..7dc350da647565cace8cc2f2d3e34ae36afb1f5f 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 44313f9499f5ea050820238d55b0cff598883268..33ff1821640bf0701923cd63f924c9b209e410c3 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 05105b64af746e43d707ccdf16e53c792f11f6e1..73bcdadbc5948dc2991a2d189bd5535119c077c9 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 196852933a981ec994900b06815a80df588784f2..1cb510780691415687d271cac646f73993e58a3c 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 d0dc9274a105778627c85486c6c16b2555f51aa1..6a0b1cbdf739a3cb8d782e9b17a31ddec4e2957c 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 4bfd9e790070d3e14150bc093e67cef913fd4f7e..0dc97410f5479bb814e5396f1b25babc84780398 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 717853af745cf23b585fb053a306c0803a7e0c30..0a422bb7f50c2d1752c57dd7277af2139a5132f5 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 416d5c0f0b073da96ea6ebfcc6a26abe2ebdfbf9..0000000000000000000000000000000000000000 --- 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 cadd3c9fc68c7e5c3fca03a0e14c660aeee17ed5..f3d8b4ae569be1305e1662d5f64e8f27405f7ec3 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; + + srcs = [ src_bin src_oss ]; + + sourceRoot = "makemkv-oss-${version}"; + + nativeBuildInputs = [ autoPatchelfHook pkgconfig ]; + + buildInputs = [ ffmpeg openssl qtbase zlib ]; + + installPhase = '' + runHook preInstall - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [openssl qt5.qtbase libGLU_combined zlib libav]; + 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/* - libPath = stdenv.lib.makeLibraryPath [stdenv.cc.cc openssl libGLU_combined qt5.qtbase zlib ] - + ":" + stdenv.cc.cc + "/lib64"; + 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 4dd2e019d1d3cea5b3fc5dfafc088b60731207a1..c302ae1730fea040f63bd3c78c5af80ca7aa0c17 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 34efffc21d72e2d16d7d6ad55643abcdeffb132f..a5de209854b36d44afc7a47ce19bd8f8cca304f8 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 3b8dce90243bc856b0eb2eab1025a8c24e294a18..a9876da234f7a4d0cacb22413cc99d21aa7e73c1 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 f9d4d4698fafe336173021d4c3d5c8c0646de977..14db747d2ce7bc4cf803aa0b29fc8ea829d59fb2 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 0000000000000000000000000000000000000000..4a3cbc81b35ee28e9933f7c7e82de873ec29f5a5 --- /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 5b786b255019b47174a2e67e619965c1bdd9cb11..42b40ade271fa9128d4b57fcbcf99790bc1dcab9 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 e3dcf6b3d3b3450c11331d855d617de1de91a89c..684390d3c5c77c575ba6395d44f76bb594d560f0 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 81b48e25b96b195665312f44c1b1554db9906c4a..efa495a45afe6662fbfdda0aff304de92c21a226 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 66fc1645e9a17a65dc8d9b8eacaff9929e84524d..bb0b92eee030da5fe841a1c807260b59990605e8 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 1be4fc252fd0123690fe099f511008179eee37a7..d5c46491cf415dafe654c50951011b62efea8924 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 090b4ec9ffe212b5056ae542f7344522177cd193..4617d1d17dc04605a6fe3792dd66f68a5b0943e4 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 7211f9ff3d14d3850a3a86bf5bafba73460675bd..cdcdea3dd26d39e345ca5359a57dbc4c1367bb53 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 6d02233be321f9d8c58d65aa48c11e9e933c623e..52aa57bf19861e48d84d5052a87447e1aadbd3c5 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 0000000000000000000000000000000000000000..efa06f4794efafa2741a8a598bfbbacbf3bf7342 --- /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 6f113817058cebc97d6b66a580b0b226ade0caf0..0b1d9e951150f95c3d170c28e99bc4affc79e679 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 9e275464f05cc36b5926d1b571ee5b7fecab90e0..9bf21116455352e0e7da59d95328e52e10de53b8 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 aab54e6d2ee2b081762df92241652548856b7a7a..b7c8e6feeba4eab664441a39ab2f00c8bc0d6527 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 728f6387ffa916c403cb47e39458287ff784e9b4..374ea08816f7996e10ef3e5a8356f809f197f639 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 2cd4f19ca93918831f896452a6d89b6fff135a6c..bef9537b8067511a75c2a1b84160d55f65bccd13 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 ceba62b6f607664b3e51747a328dbe237b193010..a4f9d6222aa6da5a550db92ca05c19b4680b7317 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 aba3b81fde85dffef5360b3278f05ac245832da0..f0c3776a43361ed333ca8582ca762662be7ece37 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 2dd76b36d05766a872ddc34ddb49424d64d4fa9c..327a2034265e19f5f996bb21b98790744485f752 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 c3204cc9c0ce81734d6cd79b0d0df2cf66a44e7a..8f9e3131d8aaef23d08af735f1de561cc9845f01 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 603534be4c8be54524f40f72cc07a7cfce370e8f..e54fc0eae4ba08d46715c9e227be0edc6eb82e2e 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 333f4e6ab4de9cff1ec272727f08fc06e6b5cd6d..972e08bb61be1f7f86b8f88f76890c24511b025d 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 8797ad8f953bc72070e1fc8ee9c177225fa973a1..e4d6e14d098dfc26cbfd3b891c20142b7ea751bd 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 984b623cee7ef26c7179d378ce3bbd53e96b899d..d59b02d4b0ae27e82fc72933d9dc7c4642f52010 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 5608013515153c62f1215241efdcf0e5c6068c3a..0864edfcf38e3ef5c785673931cde8e8f2e4566f 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 6042f490dfa022cde37413add356825dbf28a907..1671c3f14d00b78a4e6f98be95dc085afd498ada 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 bbb11c497668bc3166c416c5a12333b33a57492a..176c4be4946d3e7871003c80675635ef6e42aa9a 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 b456d8ee9a66520294a28cf279003c09a230056b..29ad928e27cd124daca61a60fca20f7bddd45f9b 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 00c0d7b6dc22744a34faf950b92af7602ffea9f4..495fc6f674525d186d9ac5be2b671f8be1b6221e 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 c5dcec3872369bcb5d79e58177a54fa77cd71436..352569e5ab39dc9bfb3257bf6b748acf600f696e 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 dbf22aa9f8ee0de15d41b680db6bf6945a0ff5d4..a5efddc9f1a8fabe9d80ea4675a7abbb767b12ce 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 3683973824a3fe99266689cd0de06f2662460002..03fc1f5399af3884642f66c6dbdadd610868ed1c 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 83ca41e201c96fafcf981e7881a47387ad9f05d9..bc6561a0bbd087b537bef9a48d68b91e4258a70a 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 0ad0b04e7e4b0223d6250fac98198248cb3b14ff..bcffb8585b31013f4b88756fb425e95d1fde91f6 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 { - - inherit name; - - src = fetchurl { - url = "ftp://ftp.tvdr.de/vdr/${name}.tar.bz2"; - sha256 = "1klcgy9kr7n6z8d2c77j63bl8hvhx5qnqppg73f77004hzz4kbwk"; - }; - - enableParallelBuilding = true; - - postPatch = "substituteInPlace Makefile --replace libsystemd-daemon libsystemd"; + enableParallelBuilding = true; - buildInputs = [ fontconfig libjpeg libcap freetype ] - ++ stdenv.lib.optional enableSystemd systemd - ++ stdenv.lib.optional enableBidi fribidi; + postPatch = "substituteInPlace Makefile --replace libsystemd-daemon libsystemd"; - buildFlags = [ "vdr" "i18n" ] - ++ stdenv.lib.optional enableSystemd "SDNOTIFY=1" - ++ stdenv.lib.optional enableBidi "BIDI=1"; + buildInputs = [ fontconfig libjpeg libcap freetype perl ] + ++ lib.optional enableSystemd systemd + ++ lib.optional enableBidi fribidi; - nativeBuildInputs = [ perl ]; + buildFlags = [ "vdr" "i18n" ] + ++ lib.optional enableSystemd "SDNOTIFY=1" + ++ lib.optional enableBidi "BIDI=1"; - # plugins uses the same build environment as vdr - propagatedNativeBuildInputs = [ pkgconfig gettext ]; + nativeBuildInputs = [ perl ]; - installFlags = [ - "DESTDIR=$(out)" - "PREFIX=" # needs to be empty, otherwise plugins try to install at same prefix - ]; + # plugins uses the same build environment as vdr + propagatedNativeBuildInputs = [ pkgconfig gettext ]; - installTargets = [ "install-pc" "install-bin" "install-doc" "install-i18n" - "install-includes" ]; + installFlags = [ + "DESTDIR=$(out)" + "PREFIX=" # needs to be empty, otherwise plugins try to install at same prefix + ]; - 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 - ''; + installTargets = [ "install-pc" "install-bin" "install-doc" "install-i18n" + "install-includes" ]; - outputs = [ "out" "dev" "man" ]; + 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 + ''; - 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 0e543390c4bbe82cd69725a3f1786a8fb8a4ceb7..022f4382a4925a3c89734333036c53133a582e4f 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 2272d1605fd0e1e73d8f198d73ebca13c22ee9e9..497ad7c77a08b032e6ba72d2c6ad5d9de6218583 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 0000000000000000000000000000000000000000..98fcd2b5d40827ae23284704a36047a5811b1b06 --- /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 cd3999e38c099ecb9924c1a2711abf8132428c13..a38076ca42b61ba1ed381fd290ad5bed5de33180 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 67905033ba1062ac6e7f5327237ba623f84ba2cb..a38a9056c85cacb3b03921585072c9671a732f35 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 8f696f2630130834ddd0902aa6dafc9eaa0a5e2f..afcee3f9715f99af11a4dde7ef4479c61cc12d76 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 2bf74da3d0f22cff14b50832deddcd679e219525..3c4f607c6affbbb068eda34fbcab7292b114cbe6 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 086190000ab4572785e611bba76013bfe12d4a40..8258f8583090dd9b887a9d31a931847cf8e05dc3 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 0000000000000000000000000000000000000000..d52a4a6ab9b9e574a1a40bbe46200fb177985496 --- /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 64fcf0ba04a51f49e57d4851ed4d56981166123d..176d9a87aed0d2c12dbe527a9611608a66e2a79b 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 f6f8016ec1d36264dac4ba204caedf549fecc00b..db9a5ce7850b6122de624419e73c0da39de69158 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 ae048f1bdac4062b75e80bf531d94ae75be0ef0e..ba72763cdaf280a749ee678d4ef28888373de5b9 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 15d98dc9be50b9ec0b64619ebd414b5a2f4160c1..6e61ef098f357b3aee997c149dde4f3bcb9d014c 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 c858f4c4d6d3be3adbb77af3fcb376fb9db4709d..ecf6f1c54218ecf6d19c3eb123a5d29e51705e74 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 ]; - - hardeningDisable = [ "stackprotector" "pic" "fortify" ]; + buildInputs = [ utillinux nasm iasl ]; - unpackPhase = '' - # $fd is overwritten during the build - export OUTPUT_FD=$fd + hardeningDisable = [ "format" "stackprotector" "pic" "fortify" ]; - for file in \ - "${src}"/{UefiCpuPkg,MdeModulePkg,IntelFrameworkModulePkg,PcAtChipsetPkg,FatBinPkg,EdkShellBinPkg,MdePkg,ShellPkg,OptionRomPkg,IntelFrameworkPkg,FatPkg,CryptoPkg,SourceLevelDebugPkg}; - do - ln -sv "$file" . - done + buildFlags = + lib.optional secureBoot "-DSECURE_BOOT_ENABLE=TRUE" + ++ lib.optionals csmSupport [ "-D CSM_ENABLE" "-D FD_SIZE_2MB" ]; - ${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 e7cd5b7bde68be4250e858088d999e7a0e682b50..02fb256b38cea7df9d29473259044ecffa56297a 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 f9d7128330fbbe7a338eff5fd73a7b6f55a52727..72db4f1e5aa50dd94b5421cf8e0a863e6197db65 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 13060a50290b8ff0dbd9887d2f6ec10070976d97..9cdaec1c698af0c802520f2cc2f4d3df658a99e7 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 0000000000000000000000000000000000000000..c55eb342e06947b45bf70b817292136e4ae3c48b --- /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 79dbddfab5501ade53d73f473c2014ad5bea15c9..23084c6286a4fd70ab8a8fa0f2a0922acac50f0a 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 0000000000000000000000000000000000000000..0b523d7b88d778e35707d142a7669b04e384770c --- /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 94b21a77a7028be29646a2277d89fa3847c2a196..b770c6ed0a5995f2b7f545302805bcf9e162c644 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 0000000000000000000000000000000000000000..8070e1423fe86ca001629d66e0da208011eff8bc --- /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 4af9c32fed6aaad5a942b88c631fe7d25f0cbf69..2d983d009f1df8afbad43d16c09d14e640cfdb88 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 e7c8a302c2734664ded796cec70c2e36c2751dac..a1125f25e816a0220b5439fa67e3b5805922e959 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 0af9abc852ef9c9d98b857d61d997b782d649fa2..ed4db853c3892700e3123a0f1a36b6b7b888d362 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 8b7021f7dbb8ae656d3e5f6ae921a70d18f5084e..3b2e1f45ae645c2a0b416856858af41b7cc358d6 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 946014e5cc9a66671cfded5f5f52430c8e6ee2e3..351353ceb96e998e96cf2a741ca9e094ff585b82 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 4499fff4dc8bd39e9f35b2beb6eb4cbc05f027d8..6f35257b50fd36e20d2aeebf6ad1736821109d51 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 711838b294478a9650ce6e3b8d341fce6933b775..691c74301e3933779f6a9827d38c7acc25c76117 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 e1696fc15a5625e68c9fb56e76d6c4f8aa4fa8a5..45ec7383fc8776bd9c049633a405c12a1a815f56 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 d870e24661673ab55be05673e32c2eef63d69fe2..318929eb2253c26a58f98a8bc3f064269374b941 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 ca8e4985016bba2684dd54014f6723607e1fbfdd..0f53a5c4f14d6d47fe836362308e64b46ffd49cf 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 0000000000000000000000000000000000000000..bbd166995f36338ef5d794e87da92093762ba39f --- /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 0000000000000000000000000000000000000000..b58a5108ebad0fb535c9a6477f352de436307568 --- /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 0000000000000000000000000000000000000000..043c1efade8a66c45d8c7d94fc0224f45af0d6d0 --- /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 0000000000000000000000000000000000000000..71c02ab4de50ffa730ade12b7c8c778e37677c70 --- /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 a43e1733f06369ba80cb842811531d6a74ae44e4..ee241abda7f87efb22653323d45c2da9c5621c53 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 42907bc84ba82c08305d9a217ce2fe2cedf9ec53..0000000000000000000000000000000000000000 --- 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 7fc74de1d2ee2a2bd9ac461ad1a46bde1b565616..ff768cb7878c07ae70cc979a2f833564fa0d411b 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 0000000000000000000000000000000000000000..03e47a57863c50608ae14c0031bc2fe4b5757cf4 --- /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 67a863b6fb7c3af3a5878118983a53600a1aa4a7..d64baca2cc7ef51831951a098cbb2793a1ba0527 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 b4e21f4f34777601fe43f96e5ff7df1a7acfd5bb..0000000000000000000000000000000000000000 --- 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 47b4b3176dc89d020b4d9596803415903d6c2f75..37c12ddbfeb7b3330e94f609cd796e1fc4723f89 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 517a8e39a1e9221b66e243bca5052a1a28e9c099..0a139448cb3abe877d6813bc3bcefde34108265f 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 8777f7cc2db2b3b6dbdea839b6edea4d5c54caec..d8a2878e3f79a03e252148c13787b8df304dee69 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 777dc6fe9304a8ee7b2ab7a1f5cd0576f22c8d53..fd0bd92faa6076485053700c7d29448924a56256 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 b89ef1dd7bffabd835e6a91f6680afefefdec97e..6357f9fadff9985a088eb7f9ec26baa9cea2a9ea 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 5aa73528e9d72f569ff0121ff390f9c08fac2b06..32528627a3c848c29518d50f3a7e03ab4799eb25 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 ab9416fd3d684eeb931c574e8aececf5552f8a3d..60825063cabcb768bb666ef8311a80ae963d1774 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 526202e75ae529edb9f3e9b6e98604be58eef4f0..fe51488c7066f6687ef680d6bfaa4f7768ef205c 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 25c19cd79c7f8743f70483eb08c75a7b7dff4689..39508412333c3ee3ad9db12cbec011a48694846c 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 a8f113307251e6878ab9b7294a45e647017e2754..224f77ed32d407b6283626d4e45ac394a6f64ca9 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 91934a3610b8ab8138224d08c74ad7909d946d22..42860966fe11fb2224b99633f0117b20687a9b76 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 c1dbad94250a546d6bdd736162418f4396184590..5a98e71c91662fb62479c6fc55c9dc5b4514ea0e 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 493307d0d07837685dde9d7c0774dde0f71de6a2..382ebba3c57e96ba48e36ec58f7cf53fe8f73afc 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 746c45beccfab07a718983d42e2e8cae4eaf0ce4..3d0589032009a38ddf514bf1bcc6ae8a3b8b914c 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 8a339ac83224524880a12dfe63bb0b5494e74a5b..7ea83b015592130356d9384e9a4aacecc414eb22 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 8222fb50a8f934bc3620c17fa7d7bec1dcd7392b..6931e492e99c7146fd0c2fb8bec71a5ebcb4e2ea 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 8304dd15597bc3c0c857200bcd2091d655f4d61d..20930b865370021e4b4b64734cc5b55b9e4ae241 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 d2c513e899afc9814103aaeb42e429057adf6847..78c2538bbb0efed8c80611d05ebde266c7e0a69d 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 259f2b268fe3342461780e31a12e7ced0af27488..5ff8a1650babf4d751aa47ac9fb94ea0907c416b 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 0be949f63c92d2e1f028f21fed3dc18b903ddee6..0000000000000000000000000000000000000000 --- 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 e59e2e98c1b3b1f49563602833ef1599e9646dfd..0000000000000000000000000000000000000000 --- 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 6ed74e3e23ed16830e5ecf06c7d20cc9510bb498..a3aa98b081d16e6f941f1f473909b8f800c213d8 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 3d6efcfc84438f1927cd23f3e6b5333b3381e6b6..464fe46b499c802ffa3ccab98c2d41e4e09b110a 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 8e248061cd5e4019367a748550e591c89bbdf48e..ea8a24e57a3435fdc1fcd91b92c3d3794a903151 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 2a59cd1f0615393ceabd643eac6de14e9846cb58..8ad8edde8cc8d709e3666680d658f00c83dcf936 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 8dc2dffc6b6b5ec422ceedb81c6f87b2d7e5ba29..8093d4752a0bb8791c7c95be0e581bfcadf1730c 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 0000000000000000000000000000000000000000..7ec6ad3aba6638b6ed6bb724450c637e3c3ecde4 --- /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 2a685c590fa842c67f48958bb7ee3e02f455610b..26b55b364f17e989a36bc3a2099fc21be6aba0db 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 116180f5ec3681191c589a081142b21ae11a2099..4b61fe3d7e6c49e6bf924a5a730e2c05f435462c 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 46a86da1d66bf8cc6253cd9522da294e16e50393..5fcbff26b15444c81005a9922006deb9edba0d7f 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 364771de80fd639356d6e72b5e76a41800f1669a..2551ea80550efa7002c7887f9cc24cd4e73180fe 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 582f9cb61f8e079ab625dc778767fbb150c3dbd3..40cebb572af35528da6a47baf1359950d90755ce 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 03652c749dee554fce8f7df96fd285d5e1cdf576..e863a382470f0c114acd10f12a892ff79ab3e803 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 f55c55110a292c654459ccd304636ce74e087156..cf90b1fad63b4f20d187792d034912924965271a 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 0000000000000000000000000000000000000000..be45d68dc5dfd25a14285639b30ed9a7a11e47d0 --- /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 2c388c941e6ceb03ad67715b165d0c414812ad2d..0941329bdbe5cc3fedc84033c6626136f2b52c32 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 }: - -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/; - }; +, dbus, libconfig, libdrm, libGL, pcre, libX11 +, libXinerama, libXext, xwininfo, libxdg_basedir }: +stdenv.mkDerivation rec { + pname = "compton"; + version = "7.2"; + + src = fetchFromGitHub { + owner = "yshui"; + repo = "compton"; + rev = "v${version}"; + sha256 = "1vwa5f0nifc1913diqd6cp5k1dlfyc2ijxbcdj1s37ywpx6c63c3"; + fetchSubmodules = true; }; - gitSource = rec { - pname = "compton-git"; - version = "5.1-rc2"; - - COMPTON_VERSION = "v${version}"; - - nativeBuildInputs = [ meson ninja ]; - - src = fetchFromGitHub { - owner = "yshui"; - repo = "compton"; - rev = COMPTON_VERSION; - sha256 = "1qpy76kkhz8gfby842ry7lanvxkjxh4ckclkcjk4xi2wsmbhyp08"; - }; - - buildInputs = [ - dbus libX11 libXext - xorgproto - libXinerama libdrm pcre libxml2 libxslt libconfig libGL - # Removed: - # libXcomposite libXdamage libXrender libXrandr - - # New: - libxcb xcbutilrenderutil xcbutilimage - pixman libev - libxdg_basedir - ]; - - preBuild = '' - git() { echo "v${version}"; } - export -f git + nativeBuildInputs = [ + meson ninja + pkgconfig + uthash + asciidoc + docbook_xml_dtd_45 + docbook_xsl + makeWrapper + ]; + + buildInputs = [ + dbus libX11 libXext + xorgproto + libXinerama libdrm pcre libxml2 libxslt libconfig libGL + libxcb xcbutilrenderutil xcbutilimage + pixman libev + libxdg_basedir + ]; + + NIX_CFLAGS_COMPILE = [ "-fno-strict-aliasing" ]; + + mesonFlags = [ + "-Dbuild_docs=true" + ]; + + 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. ''; - - 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 2a8f1d67f6e0704ca2eb9c202446755766187abb..eac15ca714189295dc0ca09ac20196ec95679d82 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 0c13691a36ac82df0edb66211654a439b42bb143..cf45dfa86407fcef62f164092b8edfe475e0e485 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 c92b70153a72f941ca62f319b9d82fa3cb54aa6d..404044fa3fa13fc96c1016f63bfdbd1732d37e7c 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 20a95f36cee3ab1507171f0b873419f4ce4eb330..27657c10a7e3c498574d896c6f5fcb076ea0d3be 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 d49c893ca145a13bc69b7000a42fb2d58af7647e..ca64786475f7496f8385a80093790f44fca15a79 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 83fe3ef163a3634459ee7f64a36b4ace2281fef9..c62edd6d71a18dd6dd8adf3fb8356747791208a7 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 88bf7762dd871e620515132318c4c2b115868ac7..2246d77173a04ceb7f2c4be0e56a39514e67a8fe 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"; - - src = fetchurl { - url = "https://github.com/vivien/i3blocks/releases/download/${version}/${name}.tar.gz"; - sha256 = "c64720057e22cc7cac5e8fcd58fd37e75be3a7d5a3cb8995841a7f18d30c0536"; + pname = "i3blocks"; + version = "unstable-2019-02-07"; + + 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 755d1cbf2df8adf30539053f2c92d2935e9ed96c..31a96ba1788b2327d6d3dbdae1c64598506e62ce 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 7cdc88549510872c605bcc7a71c9249f52d30fd6..9ce5486557a58d7ebea910315e0b017612e5c186 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 f2dc023c81d6d9018ff7d3d97e6d05c97f99b0f5..4d4ab6d96cc508c56417ee31c41c131f750190a5 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 54f238317068ffabb5bbef110cd788b086493059..33aac1cf4b6599395b453e56be08058d487c1cc2 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 0000000000000000000000000000000000000000..afa14b48451a6b6e0ed2ffc93355e45826bc8dbb --- /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 8c775833c28a5f0a9a500446d7d23a0cb919c34f..2fb6fb44833d983abac8057649f0b71faa6f838d 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 a0e46c108b7dc512c7031bd9b7c9d71a22510177..f6d797c98e1e1639912db5d13681dd82689571a1 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 d4bb3cdc1c2e23e4842e4bae6adba648b0794a6d..3e976f8919f81ebf4e696bd1d115bf278fe781f5 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 1fed92764c10b65d60463661602f8a7608a345c5..20ea0dd03cc343201e3edca6b85229b298b280d7 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 178d111d79aa2c4de44afbfaa755f8cc159e3dc0..60edf05892de2a16d06a7f38309f6a3f50f6667d 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 65180846c649aa71c9b08e694b0478a441afff22..17b147da1b2f25241f71c207b0e0fb84459cdac1 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 39bd62cd5aa92bf09c912893541eccb2b4bd09c7..5b1cdbe05f5d8dcf668b2da1cd0a71a8eb281bd4 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 546589623cbd8caa472d8d4319702241ca6a2c3d..b0012c587f6a36815500c485b41da9bf4e684a7f 100644 --- a/pkgs/applications/window-managers/i3/wmfocus.nix +++ b/pkgs/applications/window-managers/i3/wmfocus.nix @@ -1,35 +1,29 @@ { stdenv, fetchFromGitHub, rustPlatform, xorg, python3, pkgconfig, cairo, libxkbcommon }: -let - pname = "wmfocus"; - version = "1.0.2"; -in -rustPlatform.buildRustPackage { - inherit pname version; - name = "${pname}-${version}"; - - nativeBuildInputs = [ python3 pkgconfig ]; - buildInputs = [ cairo libxkbcommon xorg.xcbutilkeysyms ]; - # 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"]; +rustPlatform.buildRustPackage rec { + pname = "wmfocus"; + version = "1.1.2"; src = fetchFromGitHub { owner = "svenstaro"; repo = pname; rev = version; - sha256 = "14yxg2jiqx7gng677sbmvv0a0msb9wpvp3qh8h3nkq0vi17ds668"; + sha256 = "0jx0h2zyghs3bp4sg8f3vk5rkyprz2dqfqs0v72vmkp3cvgzxbvs"; }; - cargoSha256 = "0lwzw8gf970ybblaxxkwn3pxrncxp0hhvykffbzirs7fic4fnvsg"; + cargoSha256 = "1xmc28ns59jcmnv17102s2084baxqdvi0ibbyqwb108385qnixzf"; + + nativeBuildInputs = [ python3 pkgconfig ]; + buildInputs = [ cairo libxkbcommon xorg.xcbutilkeysyms ]; + + # 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" ]; 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 8406736541c04b65ab9c326b694241be80089a4d..71a4ec3549a7c2481177fd74aafb03d073aa0a6c 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 6a7c1436b09df6db5b48edc962633dfc6612ce4e..3668b344be50856ea8e8c805324a0a504b5cbf7f 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 3b764e7095be9b8501a59cb9a25dc953fce14fb3..7df2847669f56bc819a88289a1de56d1a7f6a1bc 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 0000000000000000000000000000000000000000..92588eb2fdb9e5b91a3b43d6fbf3184b556ac39a --- /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 0000000000000000000000000000000000000000..574e42cc848148bd8e85662ff65c9ad358ae490b --- /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 635265b04abc9134e34fed47792dc482d8bee3f9..3c537d6c931b34323006d2bf3dc04647cffe9ccd 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 0000000000000000000000000000000000000000..026ee2e1287e6a50e90d50ed435e1c4ab0768c3a --- /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 8c6926dd2c69d8245d052f0ea8d449679ca8d3f4..c8d526b6d28826610453bff3dde97e90635fd544 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 065b81948c2d02872b148058355d5f83ac3cf194..0000000000000000000000000000000000000000 --- 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 6bf6f44d42346910707664f2e4ff88006acd1cc4..0000000000000000000000000000000000000000 --- 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 00ff62520105bd5c56f62a3943f70cbe755b034c..d449fc91c0d386c9d047d942a9c579ea9aa5c2c5 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 b2677218e856eaab23f097a6b6c1afdee256ac41..38255dce72246ebfa682e58030d6760670cc7c1f 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 0a1a095e0ced1654bddaf95f999c043740c924fb..11a69020ee623721e70baa2aca5315cfecdfcb01 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 887a58b748da9c05e8c4417d4c908f65f8226fba..f9bcb28e45579802c7e5c1ec824e3a45158e0e3e 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 81901be0e60b9348342d42cad9dc5a87a4fee386..7233ff2410bd19baf563069f94b03c4c1ec78efa 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 64fa600765b3f14a1412eee67f5002f664901f79..f0f724d6cf0e46c274db32b14b3604ad30fa4263 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 bccb49ff4d5584372d6487ad9194866e46e573ba..a6f2961ed3fc86ffd4346f4355f4e070850f3aaa 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 155b26e0987d78f22343c374a10664fc1c9dc8fc..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..86301492c4687f264165ed63a3e83f6cdc686e96 --- /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 fb30f0073bfd64bebf862f2238f26b4831a51eee..215a576a578c13606221d0417febddcc87d32ce4 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 86af7fc629a0f2c4a95008fb808cf66d13a442d4..bc917e76f97413f594eef8f5d76d278caad7da2a 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 0000000000000000000000000000000000000000..26a3d40d66cbaf1422d3f99f2c635e0a35bcbfd7 --- /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 a275e411c6e3c14889701046d720566a660932e7..fe445a6b7adfe70602dde8f936238472b805594c 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"; }; + postPatch = '' + sed -iE "s/version: '1\.3',/version: '${version}',/" meson.build + ''; + nativeBuildInputs = [ meson ninja pkgconfig scdoc ]; - buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk_pixbuf pam ]; + buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ]; - mesonFlags = [ "-Dswaylock-version=${version}" + 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 0000000000000000000000000000000000000000..009c129594301d2a7a71f94b04142a24d16e34d0 --- /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 2e58928e34c8430233cfa95fddd671428f2afdc1..2404129b165d94313b740fae5e2832fd3f2cb4f8 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 f4f1e82e70528be364b1bce721782f7b1ff49377..0000000000000000000000000000000000000000 --- 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 5aec0973a7c6375f9ec10a6dc8e57d7cf68d6767..5705ae8256c87026e487651923df71e5f49ace36 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 f8cb6c266839ca929b02cbba317354c0586f45a6..0000000000000000000000000000000000000000 --- 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 01360e5af0b35b7e5133e65e1d52475dc614b44d..0000000000000000000000000000000000000000 --- 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 2d73df65046328c520b251f967840de3d1bda9a6..0000000000000000000000000000000000000000 --- 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 a2f98b8b65e719afb7a67f58982d5c4e6138bba9..0000000000000000000000000000000000000000 --- 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 d85f8212ec478ee313b06f710497ebd53b737b78..0000000000000000000000000000000000000000 --- 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 9dbd367a67f3dc2642e05c7f9601411c2b762bfd..955dfe9b44a17a54fb3385db265411da8a2b1e20 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".default = (f.lazy_static."0.2.11".default or true); } - { "0.2.11".nightly = - (f.lazy_static."0.2.11".nightly 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) || + { "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); } ]; }) []; @@ -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".default = (f.rand."0.5.5".default or true); } - { "0.5.5".fuchsia-zircon = - (f.rand."0.5.5".fuchsia-zircon 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) || + { "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) || + { "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) || + { "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) || + { "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) || + { "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) || + { "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); } ]; 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 8f35cb620cae193d1f32f75a5b59d99e3c616988..9ebb0b5ffcfb9c142c7e2d965a785e4922a50945 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 0000000000000000000000000000000000000000..03d0b3023f718499f8c67556000fd1be37f79b43 --- /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 b9d16db579260e7785f5b2f9ba8fc53fbd194f7e..99416fcf778a117223bf1c37833d05f13298a87e 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 caf97c6510de4f1cf65502ada2fad022e9afaf9a..d0a1de7f6006e9447cb5f6f3e0e37dc9b41d69ac 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 d83c4493accb34eac361786c7ef322a02a005edf..8ad63999289e6a671c56f0f3b0c5f1f7e605dc7f 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 0000000000000000000000000000000000000000..ad611f8dabe184f7268c673e258e57d5ce4ef84a --- /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 5a8b68df364ad69ab28fc87bb3e839a4052b4a85..e0f2243827c5da7f8daf41df4930b2bf22756c74 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 8a680e1f763342fd9579e3d79ef084f36208dcc9..60d3e61fdf969c9df5b5bcbb822387db470c4b11 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 bc7a5174e26b6b74a5e315468ad46df760b31548..f5c9f12a23f6d7483dcbf2d9023c539e3970ac7c 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 6fc1797dd2517f6b6c791d6bd77083ecb5c6dc4c..f7867882d2229a070185865813f95d9d206d392c 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 0000000000000000000000000000000000000000..5cab0937e07472a94c084d2f22a1e88e85dd29f0 --- /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 0000000000000000000000000000000000000000..e556e7ead2a78db1076c0b4d4c7d799d85e7f8c5 --- /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 0000000000000000000000000000000000000000..1f84403c10fc7ed4b732dae159b42505e94ce870 --- /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 142f5255caade7211812916e5da416442fa56031..e1ec09bc95a16db1aee69d71b47c4bf70168e980 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 f39f4e65e454c4b1ccc6f785599fa9bce9c694a7..d4318b715ba369552b723f5ddd6d1b26ec607311 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 0e9e36bc301439d211c2c5b14b097dfbc80bfb60..dcb2e97aa932244d2ed5f9d8102d59f2c274c314 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 23568f51b23e16f4b541a7d7ebd7004b9f309003..295b17eec67c81dc06aba0a77f51b494a9b0747d 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 738dbb56708d19740acc032fb8852de527b2744c..a1030e3b34fae9630c3f53dc75e0f6fa2ed2b525 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 678f5a3fe9e62488fa53d9683e4af1dcc4c6d12b..b699d762d29c5ae23ee772d6a2cbe4f2083ac1aa 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 41a1e67ef428b7ee9a2a057fe9c00f98d58aba18..7f2427777f922f123cd17d2a6971191c120d5263 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 9762894607ac6b62225fb8cbe81205a7bbf8f529..1358b167f6ecc42080887dfe935aa0508ed6c7a4 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 8003fe1d8f38b9d897f00f64cdd869b5c72ace91..bb7890100087f0159bea03dce2ba3a9cb485d28c 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 176df51cbd9ab35576ea3c92dfe49b79aecd333a..cf2d38cd99786bbe574d827346433e6095258a89 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 [])}" '' - + optionalString hostPlatform.isCygwin '' - hardening_unsupported_flags+=" pic" + # 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 '' - + optionalString targetPlatform.isMinGW '' - hardening_unsupported_flags+=" stackprotector" + # -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 '' - + optionalString targetPlatform.isAvr '' + # -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 '' + hardening_unsupported_flags+=" stackprotector" + '' + 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 28060de74118601437440e566e58edd302f171cd..211b506329143819dfe767e00dae9e43777e4c14 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 28f2802a5bce64168e1b22712529b493d0cd5db3..6b3ff6fd62b05492735f452310f2c5cae245f3fa 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 ef17a3f4e58a83916baf68ae8accf20494c03aff..83e21c8945dc514f36ab832e9f369da24f5a59e5 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 d78e35c56625b26743d802f130e34eca9c29a96b..29eea33a7e185defb9d3638e45966ab214d1979e 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 0000000000000000000000000000000000000000..839dc87487a06e6c5406b50dc24ffd3b3513b7ea --- /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 89d72f512f7f96c63d38e3770a2843daa39fdcf8..2fb32b2324f203831ba3a2a20e40ba1bd514f11c 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 f9bc8b602f4cc05fb07e1f7734ef439d6903964e..74fdc320835fb06acacde305791ab2bcc343e9d0 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 3ce90cbeab3a6a5a615e0a322fc1ac53fe80ed76..6300587a7d158ebcbdef8da28863203402416e18 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 404c744eea2ab30ece6312473b7cdcf219c6bbe9..1ca1e45f2fbb12105dc37926a4c824adcb886d70 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 f1b9b9290d4c3868f51287590d5e3bb1e8af02f3..c61df8ceb0015367a7eb4785e2d038d03c5e5c1a 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 22761af158af42f2866ec8d1245a850179b01bbf..7a5642e565de1355bb6be62dc561560dae928327 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 ba1e6c57e12ef6546fc7c3ed1d29069a0e023870..8e8da00b02a2162f44068605942c0663f150c336 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 a98b4affacba2425a67e5032f4152666e8b4e389..a70dc0390cb5c5d2d6a9b3e73cd830bad15adc92 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 48297e583afeb22f046db0ad9bc9e42e131c912b..3c5cbe2b4928607289f63fba0ae73ffcd4c31127 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 02eac664d43714ef7041a6165433395cbe79236d..7da322032185d07311b10ae0e11406b7c574387d 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 4d6ed76aca019e75530d5da6bec8b3d1724ae5c2..a0aac1447969ce1460df6f218882d4d57bbfc303 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 0000000000000000000000000000000000000000..74977486f2fb1b58bf5fd4ef94e457beb4608f47 --- /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 d67a5dfcf140d5bc0ac6487d818f700d93905cc6..579f3b041fa8350af9afe115d62dfdf6cc71d1f9 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 5ab24132290ac6ba32e5336254073dfaa37ea92d..2d24d5bd7041d48d342df57e3603416df07ad1e6 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 { + crates.cargo_vendor."0.1.23" = deps: { features?(features_.cargo_vendor."0.1.23" deps {}) }: 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"; + version = "0.1.23"; + description = "A Cargo subcommand to vendor all crates.io dependencies onto the local\nfilesystem.\n"; 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; - }; + 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) + ]; -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; + +# 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 faeb6e03743c4a250c542d5d349d4773f36e7c01..f252c6a6cb1f034079885a28ccd3ba25f0b2c268 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 dd44fed623ed2d2b300fb74f720f5e63eedbbb90..46bbff92a9ccbc748d953c46764443e08a20f6fa 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.itoa."0.4.3" = {}; - deps.lazy_static."1.1.0" = { - version_check = "0.1.5"; + deps.itertools."0.8.0" = { + either = "1.5.1"; }; - deps.libc."0.2.43" = {}; - deps.log."0.4.5" = { - cfg_if = "0.1.6"; + deps.itoa."0.4.3" = {}; + 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.6" = { + rand_core = "0.3.1"; + rdrand = "0.4.0"; + fuchsia_cprng = "0.1.1"; + libc = "0.2.50"; + winapi = "0.3.6"; }; - deps.rand."0.4.3" = { - fuchsia_zircon = "0.3.3"; - libc = "0.2.43"; + 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.redox_syscall."0.1.40" = {}; + 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"; - }; - deps.regex."1.0.5" = { - aho_corasick = "0.6.8"; - memchr = "2.1.0"; - regex_syntax = "0.6.2"; + failure = "0.1.5"; + rand_os = "0.1.3"; + redox_syscall = "0.1.51"; + }; + 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 f312cd6e4903a25b422b38c4f2b2e96360fde240..9dd2da28ad5b6c01a7b32af8f8a8ae04f990bd0e 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 @@ -829,16 +1556,44 @@ rec { # end -# itoa-0.4.3 +# itertools-0.8.0 - crates.itoa."0.4.3" = deps: { features?(features_.itoa."0.4.3" deps {}) }: buildRustCrate { - crateName = "itoa"; - version = "0.4.3"; - authors = [ "David Tolnay " ]; - sha256 = "0zadimmdgvili3gdwxqg7ljv3r4wcdg1kkdfp9nl15vnm23vrhy1"; - features = mkFeatures (features."itoa"."0.4.3" or {}); - }; - features_.itoa."0.4.3" = deps: f: updateFeatures f (rec { + 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 + + crates.itoa."0.4.3" = deps: { features?(features_.itoa."0.4.3" deps {}) }: buildRustCrate { + crateName = "itoa"; + version = "0.4.3"; + authors = [ "David Tolnay " ]; + sha256 = "0zadimmdgvili3gdwxqg7ljv3r4wcdg1kkdfp9nl15vnm23vrhy1"; + features = mkFeatures (features."itoa"."0.4.3" or {}); + }; + features_.itoa."0.4.3" = deps: f: updateFeatures f (rec { itoa = fold recursiveUpdate {} [ { "0.4.3".default = (f.itoa."0.4.3".default or true); } { "0.4.3".std = @@ -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 @@ -1488,7 +2828,40 @@ rec { # end -# serde_derive-1.0.80 +# 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 crates.serde_derive."1.0.80" = deps: { features?(features_.serde_derive."1.0.80" deps {}) }: buildRustCrate { crateName = "serde_derive"; @@ -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 46b70ce6bace1c2a9e99da4b3d09a41fcad7aedb..b3ab9f5ba780a5f2012f889151a4472a70c6d8d3 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 43aecdef5f2eed37187d7a7d4f8d58866f575cc2..09802d56d34c5ed9dc0cfcbd363bf0404b5e4204 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" - unset 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 e8465ba61624a42dcd43b4ad016609b4546da10f..4e6058383d48ab20295bb83ae6eca18f2bbf5a80 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 afbc56865ff72ba7f0e73ebd025ddc4de04b491f..0000000000000000000000000000000000000000 --- 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 5bedd1a9f9caf521f35d714d9b2e051ed42fd2b8..6af8eb1aed99486ea07436352cb65497ae6d4642 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 d26bf735d30af655f0e4ce581931691982bef66c..3e900d0704cf557ff5f3b0a06dc3135014ada1c9 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 0000000000000000000000000000000000000000..4bf7c0ff1af48a52c63946a4ab356afeed1af0e5 --- /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 b5ceb4a13d85954f25d468efb31f50a103987cb8..906b1db9d10ee751643f70e6fd2bce116256461f 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 4206b0f33ff938f3c236914d9452840e9f9da855..c110d327d3afe13efa2541d769b6ab29338fceb7 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 51921fdfbdc7480eee5f9a03d08fa101fa4a996a..ce32279710e2bb548dd9aeb21f42db9863017d94 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 0000000000000000000000000000000000000000..16bae04b21e2e6a22118b8700e3787826ab3cd14 --- /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 0000000000000000000000000000000000000000..ba5271868911f6a07ca960cbdb00477ef8a9dbfa --- /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 0000000000000000000000000000000000000000..cef7500bcbaf18de7d6f4d8b2726c76b14695d2b --- /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 c6d6cfcc95b6d3e15691b2707f2bf94d8a6ea271..938df1efd18a054f442ec632c88e7cbc55387a07 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 aa600a76650c2b82e2ca50fa50d8793ba9c43fc9..66feb695c418b8267174dcb6e44cd3f11d4320a0 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 7fd46f95f998f9d0ba9fd3879b39752d18d3c2e4..57b160bbe90143be889de0116c313019d4b1433b 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 aca4e340e267a5a9c3d2e55fb3a74377b1133b16..d93001884982f80bb4561aaeae62bb7093dfdb8c 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 454ef8912b3b5067b84efe52fec219ea625f45f0..0bfe14a853937782153f49833a6adc232981d17c 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 de6a5e3b62f99c45e0b40c6708ffcfdd9e9e7df7..a59da3a8745b476015704cab54c398204ee1738f 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 e000308bed8fe97bd5e0dd63c82bd520dc3e5764..08b93aaf1174b67b165c95feea24741b6d28794d 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 12b596a83e6f0407d5c5b4d45273c8b6383c2e0f..4fd57162072e4db4df22b1efff712ce8ff5ab045 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 6e932ce860f68fa9442366c6b578adaa2dde1351..8dbe0dbdbd03365c0d4e19d4e5df9bfaf9620b9e 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 b260c67ca7c674721d32099aa7b458450186a82e..1bec4a73996f8e8b17217ac3ddf570b65fce3389 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 117e8724cd82c04191074c76db3cc8c34f9ff670..591ffa6ca5baa4b6bd39022c7181e1ab9f678c81 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 51ebe704beac8cf815fb89f30e52a99baa5c5191..a53ead29c1e8f0187d4442314525de8983ea707b 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 9e6639c0a0adb577251b31f718ee8a3576b8b38d..4bdfa70c63ffcaeb3fab2195e24f357c0fc28dca 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 6d657472e66f08620cf99d09aa515649b7f1e613..8b0696408e63cf635d6dcd3d2a8bb804b2c554db 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 08690b7cecfcb5d5c8dfa8caf52adaf78b0bfd0b..b2a6eaa1535286b5b969d31ca18b02812ab55651 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 3459713550018b0ae51c9630263288b2ba2eccd3..d90fa99dd7026362c415670cd0443eca3eb3df54 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 25df45258a6f21833ea29e87a46200aac1bdf517..81fa0ea945d3533061cf8ced61b1d998eea4dc4e 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 63fe26f069c7e7ec1af90b70cd33f2d0da8cc197..2566b162d65929e123eeab6bddd3f8a1dca40825 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 eb18f620a2ad227405ff1ea0f026407b74daee5e..e9f4fbd48678da054cb2072ee40c62d72a9d1a0d 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 52a96f16db0c253dcf488192d9e196d9e052d997..ee85ee5988273160b086ede5b28d9681c6c02aa9 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 0000000000000000000000000000000000000000..36d8ed3c674739a8e12931f7f0ca2ae2cc278c85 --- /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 ba0bab61eec5e4b46cc0cef268957842694eb9e5..0f20b9c46cf533a952056eac8a3baa9ac82f2b35 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 4b6965563a3aaf39ff5d3f58cf34cc3c51cc7a14..e03a800b3ad5a6104f7190a2248e24b149284bfd 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 08a46628e65e2902aae5f4405769e77fb2b47044..53f4d94b38fea27039019b8b6a92c92aa254bb6c 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 32270607028c39c95f293b15b12b6b7e9cab8b1f..52e2d4a42330dd1af4c417af0d2e074cc0f4e7dd 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 3ac2c9432997f4dd504c8e1f17d3f131e96aebac..4aeda64377edb2695eaba49125f73b8990f2699f 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 909985d945bca47dbab6072423143ccca0d3261e..827d7b0a5a449875339ea47c0e69a71085b61e08 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 37d9a19956746b45534a8709ca98533e989fc934..1e52ea301afa45545c9e04bcbc6b37b42cd04009 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 1a83ce17646ed36508477a6fa2dd92f3dd6a337f..a87be94acd09a91852f89bcef93158e65efc4d32 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 b7b79f2e2ca1f1e6014058942c10a588596dee78..1c2d7f53bad8041fa91f2a59a75069a1d51837e2 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 67080e73c46dab1918084818ee5217aee5cdc200..5408e7b1b1d11c00240b76d16371b47588b7c015 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 555bba63354cd0ae6815bb641d3d81a7994bb9f0..583a7457e2dc16508bec0acfaefbac49d2a5f551 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 8d87154c1df0b8d24babb69fa7fb7cb66fabd974..70074a58d96425f9e30dae742ef51a4e836f82e2 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 0000000000000000000000000000000000000000..8b4228ec423507f8870d5891cae4e1ee1ad0e730 --- /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 5bf4d454b06298c07fc98dd84d39194607b69fc2..0a8168cdf9e20c40820e30c33429a9543c39d579 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 56d8273f78ab63774635dd476899a11914a2a6f7..29bd001f80893c3e403777afce632a1d87b0406d 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 dfdf367337c37198dea0452c17ab3172dc1a7f1d..98175373ebd52566f4e37704656ed4df7ff7e648 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 2243435bc5dbba0a3075a619835e48aacc560562..3c0e314579defb98ba619c61055dc7c5ff3c41b3 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 995e03372fb432e553973078551b659d98eeac49..e28a718fad14ff3a3f3f687c67bc1ab1dcd2f3fb 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 c798c7a8ac0c9b931583af0b9cbd30e868407a16..6d1c4b10c91a703a146dc84746f4827cc01e5522 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 5dc8e53282ab6fa60dfec2d5bbd7463f2f8beac5..0df3ba4f659cd035e1ceb4a8f1c976433cfb0f34 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 d17021feb81e86312619921ec09680e0e71b4514..c058f07ed51caa98c761ad32636d9323c18956b4 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 0000000000000000000000000000000000000000..965bf119f6e70aa91aa6305c4aba4cdfb9cf1c08 --- /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 f7ec6e8b8c87576c62eb81e859b7f03ffb64b88c..6e4c0bb08e7ab149b2c6850c7c966a7edac323f3 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 07fc172ca513085525ffc54d0baf234481b3bf50..2615d0260f0dc1060a4ab1d5de74a30a7b51c61b 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 2a1273214bd66c9abf67951d470d68fb361a6ea1..d51c915b844e22fe7897c7324850fc16b736292b 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 1fa5cff760483c478001234f82b65803f7a27f31..e1635c560d667fb4f565a33e5cff096aecd5e688 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 8c45c8139534323c6cc172446fcc9ad0a5876190..5e06a34b6f0b43bbb3971305b92ab65eb4e0a00a 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 0000000000000000000000000000000000000000..bad78e3433e1cd73711b457f9de4dffc9d0ba6ab --- /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 e96c13b7822b19a384be2785011bbd9e0db78bd3..a3f24985fd9d3c1bbb6a276ad7587df94ceeddff 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 4ef5a4445583c227562802875457e5d7c71a43b1..5aad7ff236f1a0dcae34c3b4f3b86f49eb3fa0a3 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 0000000000000000000000000000000000000000..b73da9a504b3e27464a859f7dc34d111dd9e0cb2 --- /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 fa877ea6ed5343a4e731f0df14ea1f4fb9299627..38a2d8fe56ca205a678c631e03590f6403ebedd3 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 975bbc1749a723a891e54f6a142a5d7c4d19bae8..061bbb445fb2466b09a2f7d43bb7f57d597cd9e6 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 66feaf0ff5440b1eab594e4ae7e7ef84d92795a0..8638ec74f77a6b52721e8bc1c7bcee7d1917bca3 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 f564507c777ccad8c2765e0cc1a59e0764d8b777..81a1b5649b36858cfa2b2841fdc538f9122ea7af 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 01157e8b7e4c1b67b60d91791c3cf178ad209830..48b170e2e1b640a96ae5a146c01982494a9ece5b 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 324f6f63e5569cbea1900252374e47ac4f60db21..59371593f79bd3d6aa802e78330d5a431a530f29 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 53a5d9f73cc1609f660f2cfad422c969cfc5c4d6..1423326899162e9e0d27c3036d3c2e420b69c89a 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 10305a8c2d2b371ba1d2cdfc7487cd8b30c52510..e7981f63baf30be7318b39e7e48492ee476ae48d 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 9d4c1e22e145f0a5a698e9f060b8448a75c62727..171ec10c8f16f7f2f3f3b76cc0903ffed799dd3e 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 96d64e1389350f37e49bcae5e128ce0d4dc33261..787a83f95611af8555eb857507b7a8116d1dd2e6 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 56fa718f8670a309fff42bfa5c42c97485cecddd..55250156fcd0961497de7a9e8623b4e64e4d60d6 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 25cab717cee9f7148ded7c3264fdfaa647a1844c..28969f02364a5db7b47d81aa67fdfac77d52568c 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 7d05482ef5ffb124422d5045564db8c636e10c7c..5b982dcaa3e69caa0a0f70ceba17bbedf37cc8e9 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 bbe185bd8486d10c299e3fe043e40abaaa5f3f83..ec3f3218ea5603c82ff4bef199b09095c6513ee0 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 b0b58b0ebfccdd80d2905182e1caf98356a248d4..09bae8cbea53c0a5f46788bfd6c6c33756dd899d 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 ce6e011d8a657472cb9c1900a458c83ecc719a87..fe27ac2cd5db15f4a21d46a161846b7618db23e7 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 b0c481dfcb5ccfb7f5530adc889db62874ebf3fb..14232edee0cbc6d2639e06751af4eb0efa98a17b 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"; - - outputHashAlgo = "sha256"; + sha256 = "32d6f07f1ff08c764357f8478892b2ba5ade23427af99759f34a0ba24bcd2e37"; - 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 34548b972442ec9ffd8749603a860b8180bd835f..0000000000000000000000000000000000000000 --- 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 c1eda7e6a56aa45487fa71e409145194c42679fc..422258f84d112b231b3781d2e8b07fb62bbb67c2 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}"; - - url = "https://github.com/FortAwesome/Font-Awesome/archive/${version}.zip"; + font-awesome = { version, sha256, rev ? version}: fetchFromGitHub rec { + name = "font-awesome-${version}"; - postFetch = '' - mkdir -p $out/share/fonts - unzip -j $downloadedFile "Font-Awesome-${version}/otfs/*.otf" -d $out/share/fonts/opentype - ''; - sha256 = "0y3zar7hyx5pj8rpyk2kz3sx6zgrfif2ka2h4rg0b8h8qbja0al6"; + owner = "FortAwesome"; + repo = "Font-Awesome"; + inherit rev; - 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 e1be0da428a8d08c40960df4d68ac665c96820b4..601146d99a9d648d7b135c3104c2ae7f4adcc0be 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 39118716f6f9aa8f2d3c0243772f4375ee6b8668..c5e19edea262661bd40e93964f3be1714cb8cb08 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 0000000000000000000000000000000000000000..4d925b269cd3256c7b7414dcc3273f79495c4627 --- /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 359074099ba1d5bebf4da81a7917227cfa2e0dd9..71c92a72e593e57963244cd5e20ec4b44444dc98 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 0000000000000000000000000000000000000000..c8cf655a18cfb7383b5c39c059055ceef36aa881 --- /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 9b626291c2cb82d9a55340d2657ed1d3338dc072..505b273c2d24c82b5408faf0340a2c330c092abd 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 829eca8c06fc19eda60d7a8f4ff4be63496c3059..a60a39f4f01eb3d49656f18080fc8e2f7c0cb571 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 a0af38cfd2408b2f08889f4149616736ab2d3a49..bb28d3be67fa2401e393cce0e9a8f1ae72bc8452 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 7936a216ada7ef03d54af05aa633ba46656b1a5a..1f861afcf83f8c11e65fe8d5995ff81558e51214 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 - ''; - - installPhase = '' + buildPhase = '' # convert bdf to psf fonts - sourceRoot="$(pwd)" + 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 - 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" + # convert hidpi variant to pcf + for i in $bdf/hidpi/*.bdf; do + name=$(basename $i .bdf).pcf + bdftopcf -o "$name" "$i" done - cd "$sourceRoot" + ''; + installPhase = '' # 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 207f3615d1b4860a3c25ece9adc7863a6a2b8a60..707beb41231d94e537513ca3c6707639a9c2c9b0 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 492d89a674ceba5f7700b5f8f5319bb94115693c..91a8aaf3c3011329b0c7a8a8b93aac0b7392a4cd 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 e77fcc3c3a3ed85ed1def79bcdf6c121e085aac7..ef0df1ba67f6002ebf637135452abc381bf6344c 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 27459b2d1f3f95682c6e856ef804c52588ea932a..29c982ed8aeafedf9e709edb2512cd42431e1040 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 de7dd5834e4ba31130392ad5642a646d66b2f75e..6286cf8a1df807e63e7178bf7866d56089a5a99c 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 a614017b8095e8354015b51d71fb4751cdc1c200..759d2c2db1d27b87f3dc71be9c81d41f455f0698 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 c247ad155438321ccb2b452f92ff59ff0f9effd2..f641b36a1b05587f6e97ef37b08ad859374450b6 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"; - }; - - sourceRoot = "."; + url = "https://pcaro.es/d/otf-${name}.tar.gz"; - 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 80516eb0293c3ae5dbbd73b5752cbf94b41fe38e..362781c05bb5f36e353e24aac7a298657b831cb1 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 91ef3ca49a727d93a91d4d8b512b16eedbd71aba..7e1014da2102625eaca912ab0cd9a45f1405c2b7 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 e1544787b72693651a3b396e402d11bedd812e13..94c43b11285ee8d3c22a90074ab5156502b72eb6 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 8563e0e112ac63cda78373999d8c2ecb82682e18..aec48b12086077fce501355b08f259d865bf1184 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 94c580c30df063cde2ae138df66b13bd1b3d1a20..d079ae59b0d6f6de6c52df34757f8774c7b7d378 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 a2192385abc2b4a63329044ea5098b7ae0c1bf80..52c28db639ef9a7b4cc757c714e96d238b1108a9 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 4d9973aa2a2580de956b6a4d09b7509e28934973..d9ef6684faa6abb1ab25820d3d896941f4e78a68 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 0000000000000000000000000000000000000000..589acbcee5ccbed0f4b5d537f05b0feb05afb592 --- /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 4adb0928d4fa80411ae8c6224cf202e0411da946..0676d3c0e1f6492a774618c773e62b368d94b129 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 dfeab5124c846f6c71d72489eccc723ee24619c5..4d7e2fa380e0681c653282a13f759fad2692fb28 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 c056f14f46fda166f4b3177cecdbee03f3c7a12f..d1cb0070883867601c39561757b2a5bd7f1c4043 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 0000000000000000000000000000000000000000..1501e0fb7fa278ef090cd39a6d5c0b6e8382f266 --- /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 3649aad99f4366a69c8d4d8cd8834caeb2864e90..afa59b737a5c703dae114e6ce597cddf53ac8326 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 0000000000000000000000000000000000000000..ecada2eda7b73b2220ece517a2e40377e9972f50 --- /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 0000000000000000000000000000000000000000..f54838d5a646e2a5743510b8011251d6e5457476 --- /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 824d9044d76fca1a766e66e77c3de384feb206c8..1cfe1d5d4b00129564cd654d3c015f1244c9df44 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 0000000000000000000000000000000000000000..1c1609b03f19300f04a5f53a7c6625bacd0152f0 --- /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 852fdec82f82ea50c5f826a2fcfe5859b97640ad..c1de2806ef187c44962cc887f519c071f5f0304b 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 c24e68981296713769a948eba910e8287b7fd409..1b63223f0bf6c2d94924e9e6226e77ff9a031311 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 5815b84f21a4af65edf1fc111a1e9b68b2c9b9cb..cf89a8fcb8f123f9a052d5dc8afeb4f0a91a32f7 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 0000000000000000000000000000000000000000..2cd33e9fe1b3ea55d1113c4995d569363ca4ef30 --- /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 91d85ce9a0dd05737665aa724f20c1e6248c337e..ea9d1837ef5b5ac85f14075205a5e7f2c4b31277 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 2e1f89ed1e726554671ebe65efc7ed8b773864ca..1bc3b9b20927fedfda6ab911c75d7a2c09638f54 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 97a1ff70f4911a49237d499a1025c4562c617c3d..4a14e095cf05c3ddd9623b861b19356c007e5f79 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 748c0268a80f93dde1f66c19127066dc9dc25294..2152b960cdc2dd33747bafb46da2a3013f7300f9 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 2ee1e83691ccfce2e2f57d889b9111bc63cb7823..62aad87c902bf50dbfec554e69c360913591662a 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 18f236068a2f39ea4be15ed3c563d49301e40235..f5e6083f94466454d3d61f5d2212c595766ec6d9 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 96f366973f0ed9269aa8491d8bed6596798fca52..e55d50307415facf69fcddebcc5dc43d15a9f6a1 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 ec932ab978c2193faa08d25b15fe5dd0e24010f8..7a68c9deb5a62889900e4266d3021c7474daf6b3 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 9ca37e3564093e50cd75fceef5f74034a90684d1..97832ab56517f04ff9448233804620c32f61931b 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 348373b89276d819b0d209bc57823e4ad9afbec3..8df851cb9dfb05a266215916a99e66f655940463 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 c408aae9c0efede61a8103f99da49e0652bfd7ea..1b277a0691ce24dc01e1b59bebb845642f59a224 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 c6e0788eed381ada49bcf5f0c7dcd799c917c687..679f5200213914f73079bc1811a6588b80fc7bb8 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 850fd1a1f94c01b699c190fc0a18ab451b11fffb..773b53c889218f8067bfc12120987ae2212682a7 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 c847b4cdd270c00ac678ae8aa9adb07ef3185a4c..0e8b1f8fe4dbe59a8bcd728c6e7e6d0789747922 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 0000000000000000000000000000000000000000..9dce73a28aae6f7cf407b2600134571f79817f34 --- /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 48b2f4c516b67f3e2248cbbfd43832b1c710a1d1..60c77dddc8dd3d85996ce06c3c10688390d27a7b 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 432bbaa78db72e4f18e677ed0c51298de50ce254..1c36d0f57fe4d46b66de1533f0f9ad2450b156ec 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 ea44c9c79b1e28c7615b0bc3ec8b9a216f7940d8..0126fbac225e09ff0a5bbd01d0769a90d685fb19 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 aa805b6f0825aec8c132acfdd02d47b799677349..024e6049a38692fa6b365a511d4bc62ec5fd72be 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 f990575def0fc748b14653a98072205a1314f855..a041f9ce907a0fb9bdee86a60c4fd434bf8a2f71 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 14b08e140ea876e2ab575feffde21b4ff9a48e35..8a089ea9e79f507897b76c898e8413cfc164e650 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 aefaefb337fa9abf5de7fbdfe35a0ff2773dde26..775d1766894cc0628152e6711a5ae2e7d3b16bee 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 0000000000000000000000000000000000000000..2a700be113a46d28496c14e4cf87f04c81f361e1 --- /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 77c311ce364c2c6abd4a06edde1460e55931ae9e..c4cf4f142516a261819f5ddd3f5dc27495865505 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 cc481a136ba7a58c143f15c094788b28ab36bdb4..658c3bdf20a79326cc2cb642b3128b00df8d561f 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 7d7be9a41a617a875e9ebda46ff7c34abbb588c0..de8ea80b01754aa80702cd14ce69baaeae4b179d 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 692ad63574f42acbdb1a5acf6196a769b5fcfc9a..4230e63360b542963caebdea68821c9938604710 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 0fd724149d8f1fefbe7e72729cf7b37df487611c..03bc8a0db4dabe9278d50a58c7e21ebdf6cdb463 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 8986a9adb7a82551be34268d01ca4c1623741417..bb5a1ed8a9f1e2e7bb9414a836879990f42db575 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 0000000000000000000000000000000000000000..b9d9025b2c08c52890e40339260fe4bcca4cd391 --- /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 0000000000000000000000000000000000000000..f6b8210290e784baa40bf35e8eb80660b4ac8543 --- /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 0000000000000000000000000000000000000000..bc8fc8041a81cc5ea9f314fba10ba203a4f26aa4 --- /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 528055a5e80e472c286139f5136cbe465eb9ca06..59b0f89e45ed02bfbbb3b68d86f357e4a69a87b6 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 0000000000000000000000000000000000000000..c6bdbd40248a41df658a49cb0e1ba88b6cfdec1a --- /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 35d69aa7f0781f2346e899936a75862801ca2f49..0de5aa8fdf3e5c8141da3536187d38169bf814cd 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 5043e031c08f961fdb0dedfaa107356e27aa5475..0acb8e2c7bed32dd61b2525ce31e221b68b39f65 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 b5fc13daefa0a0523f7825c85d2abc23f3f4e7cd..f4c36f34074c71d5d5cac17ec6a8492cb9ce941f 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 564b950784be3de7b7dfc97e51c99cdd77a03d6e..4354725c90cee93c10429cfb16f0174b1cce306a 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 4e55b5098c80c120710849ea15d3de61fe19823d..c2ea6a7180b32a1ecb8815dbf2231ea41502c50d 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 95f8f3be7d65898fe014edafb36aa92d8d6f9b1b..cd0d0063efb2fca21e3ce4584577bac19cac9bce 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"; - }; - - phases = [ "unpackPhase" "installPhase" ]; + url = "https://github.com/akryukov/oldstand/releases/download/v${version}/${name}.otf.zip"; - 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 7fa57463ece33843bf1969a17af961a2d8b2531f..8519c34689136b2dfc7fe6ed675c701668bc16d2 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 d8918a6567bbfe639712e739447e36f773e1caf2..dfe1426d697a005f5bdb40d6924090bec9e49960 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 e0ef1ecda813e7a8eded93265433b5d7b505cb50..699345f753eb3207d0a42571d03c0838bfa757e3 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 c39bb945f48d9bd5892c1715165248a6296a6d4e..4730a67e290cf648c828eee96d5ba1953928f2bc 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 109b3c3a0b3ae2b0b7cb54af25c5aa5f3958d9ee..e34e49d9814756df9ebaa183f11a8a32e314eea8 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 0000000000000000000000000000000000000000..d02925e3a37572a27e0fb94c023875eb316d620c --- /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 6124d0c79b6667a9b51fbc1f2e5b755a73b00b32..e6f0776daea0b8eb45c634547d366ce9dec889e5 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 499871a4228d45cdcd82bc47c2e3c7e15fb7b1d5..1e6610e8e44d8c0f7d679aeb66e23118ad1e304b 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 409aaf526f81849a415ac406d3fec3348e44ef48..f4da6508f083cdafc0cc027289e31b3f478141c4 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 a90ff42a8e2aad5f483398b83ec0ab6abc673aef..144ec3bab8505039a11aed33d64ca20d23a0a5f7 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 b1244c47bf1bf70e419f9073ce6f7a37b93d8df2..57395c507fe041bea2b8e7434abc25849b8cd0b1 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 81fc7b799259fbd680b9d86bbbb33cd578e70e86..24155f2ea5465e7d764f7367dcc5af273d79230a 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 c932c7f06c03645261b559aeb9be06032a3b8cda..c8044905a088779c0d1d5da730a6943e42d3ddbd 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 0c6eede969f1dfac9a6f2978345161b0a2c6c424..c28c9283a9bcd097b6269599438ff9c28f6409b2 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 0000000000000000000000000000000000000000..14c66fb39b227fb8feaf371e0e8e17dab33699cc --- /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 34c8a74a76260f444c7047d68a47f1253b7ebe3b..429cd80c2fc7d3d78474725d9492e2950ae7d882 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 a78001bb4ae6cf8776847074aacc7a5c03f7b8ac..7e268182eef4ac8170b85f9ef2c51e3aa9f78348 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 009295c5869139712124f80ea3da016ac8b53b5f..7fd6b80b714e03a7b062a37479bb05db8ae9d555 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 0ee2a0c308c5c5f36f7e685c19156aae6b883ea3..61206ca5d14bbed299f6fb18feb75a1cc6acfacc 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 0000000000000000000000000000000000000000..c05b9c69aef5633faaf9bdc13a04bb9d1a8c4f4a --- /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 add2c44cd48019c3989380b72440e31b584da9a3..ab794992e45fd8e9e3d0965f3a4bfc633b5bfe98 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 10d4678de059652b4eafd2c99292210f67740502..2e83d5b12d4cdf4bab28d9535dfa2bf632665818 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 175acb22d7b233def89ba6c7004aa237d2e0faff..d55e3b753dd75706d0b51e2de484f6b2a3065548 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 c5ce13ad7ae4e895ea68ef503e50b4ea885b07f3..548414152ddb195151bd74caf3a524cc82c1282d 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 26697c523273cc8e97252875ccdb743abc0adc09..707d31ac531a6059b5b350726472c262030d4085 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 c6cb61b7bd1a3069c920492ed46ef8416a33c261..431987024926434b1b66f7331e309b7f53bd412b 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 892078a1151bac96ef8cb31e3b4285ee5b94ee64..1b8d4e60653ca46aec7a328715d102b5ad232af7 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 0000000000000000000000000000000000000000..0b90a43ca3e29edc86e265b4647136d00f6eda8e --- /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 0000000000000000000000000000000000000000..dd4a01c782eed5d02065780fcb5f7b7b926a413b --- /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 b8cc43c254a5d7c2fb627e6b8018ed0afb2b0577..f46fda0dd3103e1c805c4fbbfaaeb619e5916660 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 b35f537c06b9c390817bc7e03372384563d0b598..062b29c90397da9b6affcea7b3e2cbb99a6890e7 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 6b22716f1ebb2aa56a887f021c8db75c7e047b22..af3c5dd25ee0a17343eca198dd80c99330195f76 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 0000000000000000000000000000000000000000..89bca56a53ef1e37645d83930b52a6f033e9d48b --- /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 034c36a63cec5dad0c7404ff86a7844faa1b5558..a00036510f50c396f4e2b5f6e99c4d75960c8567 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 99f0d913b8574a690b3dbaaf8ec2d6a7f8eea764..a0acf78d855d1b650c7e30f75c1368ae5d4630bd 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 6c3b90353065291fd665cc11b0bdcfec84f1353b..be4d045815c776d6b268c63dcc0c251cda587ab3 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 fc016a457c22d29bd13efcfc9965cbef5bcefdbe..85f5cddd2eabd0ab6409c0c7fab7a2f27975766f 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 dc0d317585149ad045564b884cd5ce69827228c3..87e24c0e23c3ee1b3e97e047ea0b6a37bee32cdf 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 ac85d31d331617612652034ae2ca4f3ab8227506..bb5a67c8306847e95111189299dcd2b8231c5bc7 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 84360dec5d4235c4c8db35f838457bd60f822b89..bea5fea0f9d31d94d9b2893a7c1340d18ac52dc6 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 cdfe1e3f18724db079a6ff3969cdd94b98fefbb8..87484a99b1109d8ed3b93afb17cf26bf9e26b36b 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 0000000000000000000000000000000000000000..873528b8bde159c0e9fa97dda9e2f8eb520c822f --- /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 1ae85da3f7f30057cbb0d026871f40f49307d90e..f5d15439079d5bbd3842dc98fd704aa7c5ed96f1 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 f535c0d7e7b5d905fd7a96176edc1967d3381d8c..1d5ed37767c3db00a6aee665a42fd62d1929436c 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 7652f593db4965d450c72fac4fa578ccecdf821b..bfc66a77207f1d792c90b9ba58cf9ed001e0f30a 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 0000000000000000000000000000000000000000..380024e7e1a3c96b203d2ca261275ab0b5f6a138 --- /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 1cab3da200e64ed7e6da933ee37d0b28659c2630..f06a5bfee27a6d990152e13e240f51538f84a203 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 29682cc12990908bf26dba40799114fb17d5990f..958af414ff092c608cb7a772389bc8ca60b18433 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 12c46a12b9388c915911e4ac7c999c52a517a92e..211cc73cc9de40a42324abf6b31d6d88c9aef70a 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 2221f6bc6f5f1a7b54ca15c29b7797ad48c8f8ad..358ab959cd0ed02e274519e6433f5bd0179a107f 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 32d859bf53bd4e145c4f2b25c791aa4444ddf85c..fbc29cdf5fb1d95e3af8c1fc02ac2d08657fb424 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 3f9726ee094fa2456d1c95dc3363f86196696c02..8e1d27431748f8aa33db499fb2b9b2fdc48c3425 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 3229e58506d9ac2db77c7bb2096e0066250c2039..7e55a70c71a9f406f87b5cf5002747b8735401f5 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 2dbe7e720d2f4d2af02e9bb1432f1f193986a933..82563205454cfcacff2d0e492afcd289ffc24b2b 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 1a4954e6ce408eb1093a0f885bf8c0ffb572d8a7..6cebe2120fecb2e0a4acd522a37acb52802bcab2 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 90f1b1da908aa1537e89d698b7588b6ca87dcb9c..787009928313ba0d6295d08a2d4651491071e1cc 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 a4d479ea33c5e985b2a6b4f8d486e19b56cfce6d..f485f43b60c676d9ceb05ac5824b7a90ca686683 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 2c58f197f188ec54866d9838b1bbb9205f271fb0..024e1acd434553e2990e7122a927dc1bde9b4b9e 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 d7963f6395adcf50db84383ca324441233489b98..a9bf3720c071db34c3fdd40bb87d8229d0562931 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 0000000000000000000000000000000000000000..5c01283d3e9c0aade1752ded5e7197e48fa606dc --- /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 e78f86fede442db7e3ccf7f5dc4bf74d6b3cf4ac..5f072f90f0555713c7e34a56842842a418de894b 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 996d11923972b0145238d1accff20916d07a6d9a..f1545e3d5b45f075249d58874e5e54139b59f9bc 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 f8df39c95652ea8a4e64b38f64e689e87c8686fd..35551e929e64cca5eef629a7cf349a9f5e17e3b4 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 0000000000000000000000000000000000000000..c98936b8096dd5e9766a3f3f7338fbfa5dd99270 --- /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 2a13824b36f7de03c3eb56c83098a19fabcdeb29..cd719a62d99fcac7491b66e3b46849dd4f791364 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 943eb9572b2c07e5980ddba4a50a72b87c762876..a80beee342b3bcd9be2f16bbd86fade7f0390c3b 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 29ba4bfb54028dda9d6ef536627c6edacfb8116e..21d31914479fed33473983de543d8caddf48f5bd 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 c4969d046d48faaa1bec6c4327028efe71458cd9..cd4d0dc42cddf01e18636c6dc693cae00413dde2 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 0000000000000000000000000000000000000000..d004e75571b72bfac385e21b74d0ccb3c57fa279 --- /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 d3373a64c490c4b4eb372117233de71ba13d5960..01a4072099ad1c7a9da358487c200fcd7da281af 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 4bf28782a8a59fe9ac953fb3463c10e473e5d2fd..a269f17bf0e62a1643f93bdef9393c8134ceda56 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"; - }; - - nativeBuildInputs = [ rpmextract unzip ]; + url = "http://download.opensuse.org/repositories/M17N:/fonts/SLE_12_SP3/src/dotcolon-vegur-fonts-0.701-1.4.src.rpm"; - 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 0000000000000000000000000000000000000000..e1ef611d686f62283910bd85a67aae98c6063304 --- /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 e9a3282e71506a2d003ebd7b25376df32ef1b044..6a7cc71133aee860c6c9b2198b1c9d86af0c89a5 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 65fa3fb81ab5540483b109e09b476788db0e7452..e8784d90e7fd67c21a7b468a5522346845749d93 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 8d818d219239daad762d4ddd706b904b02545fea..172273671207fd751c149f1d0f2cc3c969108765 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 038f03169402d9c2908707d12332c920201bfe1d..dc87e6b634f7b62fe08fd0d79ab2cc049ef11f21 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 9718763d004a29d6ce96a1661eb94e43b8627b35..7df1e5aeb2a81044138424b8681f9b793982c83d 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 25431c7f9d7020c6236a6cb3624886d889efa99b..24e9f2a393571141798b895fd20b215826a73a90 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 0000000000000000000000000000000000000000..0e996da2fc7c90d14da3cabf5ad9d83d468e1d03 --- /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 0000000000000000000000000000000000000000..e713f4d64a3753c385fd52ccc7f03fc23097280c --- /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 d77d6d8b30110d00ba46ff8bd8ba7e9474385ccb..369fb53e6abcc9200d9de986e7e13cc6a3b4e22a 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 ce7bb11522ba581b7f6abd57b591201b04a4c306..2e99c3d9232763b7f742c9d89b79411ed6a76608 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 94a5449332b9e81e6d8cecf4735f843da35a77aa..46d6c1a731eca9d1e3cd66a446ff071c8a940da2 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 d4a15a105cd3e57092d1a911c89d1c585bc954c3..f276b573019fd663ac9e105b87f70bb18fec3223 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 a4ffefe1f26dabf20f4298c2956b9b8a7340b6d1..99488a26f2b6f8054e7618421aeac27cc91382e0 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 ee45a186f290fdeaedad54eef32687ca9eac36c1..f7015621853c8dd9633095d11b1684daacd56dbd 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 7b4ed7a66809bda438ff4e4df68a256bbb1d8d5c..49d289cac3910c8aca593258bc0b8a53672a712a 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 17892679a7eaa9369cf44cec3da9ce58ee32dfac..83c4b19472a3238dba31cc981035bff5146c3a8b 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 4ad036278700b273b928eead9b29e0b317554338..b545856f703ff026cbf6bc0166d659c4905e363b 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 967c629324c2977697682ab2087bf19185008d9b..ddec15e5f3182d0d4545487a3f9bfd5b2fd0cee2 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 9aaed97dc273ff1765c52384cd5f74aaff74cef9..e41373f536ffec1dae2688d7f9f063fd363f6785 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 de808e44ea6ca3f7353990472dff4604c345ab84..5359b2229f3926e27886dc42eb0a0a14d61af4fd 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 3b1c9a1131ed5d7b11d6817e0623793134474acd..3f9cff62ee4f262193e9e5331b77fb0f34d52821 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 b6def37def6f855f8788c52950bc6138a80681c7..c4a8fd44a6100fb7e2feea7fa4ef8c723e5179a7 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 b37ed1931a24595d92e4f24d62ec2980ca5a75a5..942f79ca6e45cd860fdeee2697158214027cfb5a 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 41f704e750c5e34aaf25a9767d44bcc3f1090a4f..1c35d3deef910db093dbfbf6391470ed59751360 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 b704a6a919e0946ec68742e8f664434178263774..e969596752f3185be1c01edd9cfa862050fba15f 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 18331b5ada9dae3fc4a9de5dce2e5d6780435c01..5df7343f3be7ac3763e7a7872b56beac80406a62 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 fec422b33acf0dc3ec86b60d098281b41eac5aad..48b538fe18332cb6518ab2313591e679067154b0 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 2dbd062d4fb250ea25325e1305247d3b0a31673a..3cadb477ae8115ba64e5242cb74ca334b18dbe24 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 528486328c68f262da9071c59211f782e3626b3c..49b8736b08462cecc193871dc1d9892110a0e9c0 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 309ae47a85161c0f9e98a11a35da8b952ffe715d..38662bef0af330e3ede39e7e4b83465195a9f0ad 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 aea5feef46c7d0c8e7f35a8a49cfe7f06f34c306..14551c6a4a47812f67ccc2a7f26b5ab0d0d764bc 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 c50c511e7363ed3226392a4281d1c8264e86f4df..87c4afb986be19cc0382465a9dfc1770e2a6702d 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 59773e34ccec4008e665461bbbeb1f556a94d11d..3124b57ac2b286d08c81703fda2a76f76b719876 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 343071fcf59cc64ee7c061b1b406344fdad4dff6..cb446e9b0bc1b02dfe5228ff359b32e1c73afb37 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 9f135c423bc8db00cb7f46c77c4cb4cc32060ac5..a2df56c0898fe52d5c9c167971f599d8724e48e2 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 50f874baa4aec51dd41102948848399d5b277f5a..3983869a452893ee8e8a0c91dba5896af8a73b6f 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 d8f5ebf56b97a9b1e615aeee20e2fee7dfbee7c8..b41c4a4c5aa9b6a03857cad9651191565f1f9cd3 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 222fd2f887070bb846c3868c816634cb724ba2fc..1b6b60f104e0537c4aff359ad147821bd930b777 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 967122c1bd4d4595b43f064aeb9b7c48ccd3ddec..2d3d52f697ed3a5c0d8651a735010eccca17d862 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 85f2cff09db2459316189b8568f2b02119d953a5..8fec9a85426082f29f9a28948c7dd0e4c08810d8 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 0000000000000000000000000000000000000000..b5414ab18b4d5f7cdb78e7c7491ff782ec610cb3 --- /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 c90b8aa7e37da14c83149bbcedcfd7490b8c816a..f15a7534e267e3e8b077395b94e9a715b91635a2 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 f82ae5f1f9f2a2fed00108e1752dfb5d63ff9713..79924c4832f652d7d0ff5a715997c7e7ca6ddfcc 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 043d3d65b84e468f45fa0d8e021cfd169e4fad4e..355a2c2c577af09fb81903e78397da848c829393 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 59079b28efc2f79a0e43ba7cf0b075225b286dfc..c1f9153c5854191fb647f71a0e5c270c737596a2 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 b5293c6d341e02cace06e15340404d0f8c6c3f1e..43847b4b3b68d866d99da94e82ebbd6309c16b52 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 e113629926083256bf795d497c4dd517346be454..12acc424b9d178523c77ff25c3df5b0434a027c2 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 4986101584e149e6f27a031a6c239105029023f7..17303e682b925c590601a329b7220e1d0f4de323 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 cc71e00263246db82d9d9718c4e2fc57f6ee2279..9728b2f96c482a15f4718502e0b1d876e5cca3b6 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 dc7ebf5959da2c23e403f0796994726f37183647..78b99081504dcbaff3cd1a2766cc84033e9788df 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 0000000000000000000000000000000000000000..72922eee96c4b7330b485f49d67014278fc50ecc --- /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 ef7b1f93d74e4265f70a4fe97a2cf19453090993..5297d5dbd5dceea6166061ce04b9fc74745184f3 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"; - - src = fetchurl { - url = "mirror://sourceforge/docbook/${name}.tar.bz2"; - inherit sha256; - }; - - inherit patches; - - propagatedBuildInputs = [ findXMLCatalogs ]; - - dontBuild = true; - - 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/ - - # Backwards compatibility. Will remove eventually. - mkdir -p $out/xml/xsl - ln -s $dst $out/xml/xsl/docbook - ''; - - passthru.dbtoepub = writeScriptBin "dbtoepub" - '' - #!${bash}/bin/bash - exec -a dbtoepub ${ruby}/bin/ruby ${self}/share/xml/${pname}/epub/bin/dbtoepub "$@" + 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 = "https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F${version}/docbook-xsl${suffix}-${version}.tar.bz2"; + inherit sha256; + }; + + 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"; + }) + + # Add legacy sourceforge.net URIs to the catalog + (substituteAll { + src = ./catalog-legacy-uris.patch; + inherit legacySuffix suffix version; + }) + ]; + + propagatedBuildInputs = [ findXMLCatalogs ]; + + dontBuild = true; + + 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/ + + # 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 5729f9b43c80bb2c0a2a8f4e978d116285020da3..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..40190d65d5edb184960af7712e943403c3b2f8a8 --- /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 02c8d2b649011f1c0deafa9147b7e77ae2d05b76..d573603ce903e1d4814e9ace24da884e058a625e 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 edb1113a6960c63d4899a57770d80ef7eaf52927..09ca8897a21610f1c7f4e6d5d2ba6a78c545dc3e 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 efafdb5d3bb779adff0940e8f71ec412c400b3be..ccdd1067302ea211cbe5ef87cc963c7f3a3e7ca4 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 7c3c852e6afda98353a75d4b51949bfb51aaa729..1fc82e8aca2b66bbd4eca58ed34209bec57a87cd 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 af1ccd0a5829974005cdd2a79fadada31b85f7ae..d1cfb800001b75bcb6661bad1962612c910347e1 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 93df3c723dd5669556bbbf602d08a89fa6bb2119..5172b2992ccc785ba49d72d86c9e992165a4f1e2 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 0000000000000000000000000000000000000000..3a2dcea4b3a5e1e81c4ef3ced78794466ffd8ce2 --- /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 ebfafe98e5a685e50b50ba8adfa84d9a5d07b2ff..b009bd2780c0fc63ecfe65474c4487ee2f8cf085 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 d839d4a3dd801fb598bd4a64dff0f19b732b9b47..cf2eb5447f7485b9411638b5283aeb25a78ec8c1 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 ee1808cd68e4deea62a687dd58e2384a9e27a732..6461697b04f21996c5e2a16b1b40bc870fa500b2 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 af73ec322d0014aec7b8cf45ea2bc22a94b40517..fb94fa00b75f5880e65f7895a40276f5ed717490 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 0000000000000000000000000000000000000000..e5b5ad8d611f6dcb39062ce11fc4b693ace8c446 --- /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 0000000000000000000000000000000000000000..61ec697d841a6aa5dce8d8e2589e65b87f065828 --- /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 5e4e439f2afddc973719dba79dfb0604af805d56..59099bf522789d984cfb005c0cc908394b3ac3db 100644 --- a/pkgs/data/themes/zuki/default.nix +++ b/pkgs/data/themes/zuki/default.nix @@ -1,24 +1,21 @@ -{ 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 ]; - propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + buildInputs = [ gdk-pixbuf librsvg gtk_engines ]; - installPhase = '' - install -dm 755 $out/share/themes - cp -a Zuki* $out/share/themes/ - ''; + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; meta = with stdenv.lib; { description = "Themes for GTK3, gnome-shell and more"; diff --git a/pkgs/desktops/deepin/dbus-factory/default.nix b/pkgs/desktops/deepin/dbus-factory/default.nix index 3c99c40ee807538c55f930f857b629b7224750ef..3a0695f3fb842a6a54a17a4eb9cb7018ddba325b 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 c1321acb853ea3d2eecfb43ea95cf9cce7056ac7..b052a1042403b12d47ea561a1a0f8086f1cc97f6 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/* + ''; + + postFixup = '' + searchHardCodedPaths $out # debugging ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + 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 bd7a13043da2d3e631a431beafe0ac91ef0bc011..a3b5e20effc76aaa34a3aa0a0478102939a29e0a 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 631471527f3ae1be4ef219b6a8e90ca0a22abd37..427cb1249c907fdf52ca515e8a4d2269dca624d0 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 0000000000000000000000000000000000000000..0871e004e5f984260899550195ee7ae80d89b361 --- /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 0000000000000000000000000000000000000000..2c6e204d34379ca73a8d2e3a82418ab0b83cd8cd --- /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 3678694be9eee488c90036f62e54503c7f613b1d..19089a6b050e5a6ddeba7110363db29d984a4065 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 + + 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 - 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,' + # 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 + ''; + + 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; }; + 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 3d241baa32601e53c96279ef5f8178bc75b6e9e3..c9a15ad88d4a2801d1b982fe245c8edcf49f12b4 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 0000000000000000000000000000000000000000..87b76045b43d88fe93be3ff6bfb946ef5765c4d5 --- /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 0000000000000000000000000000000000000000..fc25d007f2007f1372da043868ba35c4991ef9e2 --- /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 0000000000000000000000000000000000000000..8f6d8a67b1a918a560b4299dd9f676d42a42aead --- /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 0000000000000000000000000000000000000000..253a67b04ec7b10798b6333574871ab7ccc3ac8c --- /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 0000000000000000000000000000000000000000..3ced15e7e5a4447497b0789094c2f9009c2c008d --- /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 0000000000000000000000000000000000000000..582760e6db2af8a2f34b598c275c7e5b09732b35 --- /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 0000000000000000000000000000000000000000..081c93a65c868d098d72f89f7aa87712c0bc2f19 --- /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 0000000000000000000000000000000000000000..b36d87604e74f638305926c6dd3c7e1a96acfa30 --- /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 0000000000000000000000000000000000000000..5397439949b3fedafd972fe237a69b7bb30e3207 --- /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 0000000000000000000000000000000000000000..9f7ecd423c56a90b86e96cb3e60b30f5c478a95a --- /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 0000000000000000000000000000000000000000..a6941e975eb41312f0cad7e5732b821cab3feaf6 --- /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 0000000000000000000000000000000000000000..9d181c188d4d22f2e76bc56eb356e31d4aeeb814 --- /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 f28d8f77b3c3e48d7733cf475c7fb43edb5d0229..a0e1e35ad85973a0deb89f116ba6ba4c905d8159 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 d3970cf87108e839e38fa30ae53bca5732bc4cc1..d6713fb3688e6a883bec90ef4d0370b45e0b3f4d 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 + ''; + + 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; }; + 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 0000000000000000000000000000000000000000..619c66d9f5f8069c797f5119efc12bccfaf22043 --- /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 0000000000000000000000000000000000000000..97d2b53da70a2b68a89f5e54ddc6dd115137ffa6 --- /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 80a368c5be99c684c93e9fcc9d441512f4a8772a..ba826eb9063f67a4570459d4dad31a6405980abe 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 - postInstall = '' - # Remove Deepin distro's lsb-release - rm $out/etc/lsb-release + fixPath $out /etc Makefile + fixPath $out /usr Makefile + # Remove Deepin distro's 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 + 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 = '' # 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 d2b70ec4a896b98119d79edc1a727db235d6e606..b6c20ef71297aaaed034422c3e879d1543c7985f 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''}" ]; + + doCheck = true; + checkTarget = "test"; + + postInstall = '' + glib-compile-schemas --strict $out/share/glib-2.0/schemas + searchHardCodedPaths $out + ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + 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 779fae6a113e3e6be3ff19146c2d12c442d37977..f4f4ae2971a48246d8726d3d1570da6e67f542b5 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 8d11ca8bf42aef42fa3e3fa1a1688c2d847b7b99..4c0643a7ce5c0c2af8a53987e9c04c3262c35ffd 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 ef45742060197957f1df56524fe03dd4ec0354b4..8ecb25f5a2e7e3837e26b442217665dd207d22b0 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 ]; - postPatch = '' - patchShebangs . + buildInputs = [ papirus-icon-theme ]; - # install in $out - sed -i -e "s|/usr|$out|g" Makefile tools/hicolor.links + postPatch = '' + 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 0b08f7cd39a0879d5eae2e2c35a6019905e8499d..733f4846f5cf8caaf043120773592a4f05ef95a0 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 645abfedad71003e9f89f358347d6d02bd7f55ca..9aef8a15eb9479c2b4c52e36ee7349f279ed107c 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 78b6303188a2a32fc47d30b8cac613d3972e279a..18f5422330196f588c4116092333d04401b76e6f 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 3d195f8f1c0c693ae257d5e695b2fee9e6a54b3e..046f589263bd73b57b960f89832079c08658bb09 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 0000000000000000000000000000000000000000..4a57b501e01e26d56f8d2c13048875a429b3c5d6 --- /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 be845d3c6bacc17a7780bcdb869f3ce493356972..9f2e8068d555b36956239cae202e19f915b2fbf4 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 + clutter + cogl + deepin-desktop-schemas gnome3.gnome-desktop - gnome3.gsettings-desktop-schemas - gnome3.libgudev gnome3.zenity - upower - xorg.libxkbfile - libxkbcommon + gsettings-desktop-schemas + gtk3 libcanberra-gtk3 - libstartup_notification + libgudev libinput - xkeyboard_config - cogl - clutter + 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 0000000000000000000000000000000000000000..e77aa5e68c63ba6d532188a20edf0f9843b3b323 --- /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 737c99261f9d28161e074657eba922997910cedb..62c6c7ed9259d015d3dc19f221b95189799262e8 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 bb004372497f6d3fdfdccff14f0b8c513a4150e3..398be55398bf0729b64727a254fab969a8108f70 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 70e15441436dfd7f3f24fcb48f669a61f9c6cd54..59789bd84bbeb94dfa6a6e0f95899e5d436b7e0e 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 0000000000000000000000000000000000000000..299db5336746509eec70592e5072ae566b8c4881 --- /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 8f04bd482184cc0b5edf9802565a2f2e19132cf9..e822cf6269ddb34687e06645cdcb0bc27e895a5b 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 ea2f06aae6077224c59cdb385370955eb39f8547..13b115e7042fbf25da46d4375b6c366e73e2f9f3 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 4fe787bc5d4b0cd6e97412c12d52076a5c60ba29..5d68396a49804375fc3de5acb15f6581e0d05b12 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 0000000000000000000000000000000000000000..f645be0f4d9bc8f04f5ba4bbec68e40b2202b28a --- /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 9904c58128f51721c10e98b3470f81a865819e13..2ed10f9936812bd34bdc251a00c5102304300cb2 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 b61f31e40ee9539c92133cce65803234fabb52df..54c4163fcd1df6a11eb166f0960a9f2d14a5ba4f 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 7154ae3da6a9f4f4eb93e1a47b756455c7ef29ba..4807c3d312b5f3e2f8887bf9665de05d75589e5d 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 01d504eda896f6de1797b0779c2e2530c425a43b..1d97991dffd02a6673aa1ca890f57883ac00f211 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 28873d8459ecd593ca7ebfdf24abf6e32b198c14..2c63fd5ebe62cb10413b33ebccc2c4cc621308fe 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 d33837b21c31704904ee58a8f30d9d0931839930..68504d756b175ca61916e7167901399e03d1a277 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 684f1dd7f32daadd5423501638eb688e0a1f588e..fff92b595f8b17c985bb154f544d91ff4ccf6dfb 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 + + rm -r $out/share/go/src/pkg.deepin.io/lib/debian + ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + 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 0000000000000000000000000000000000000000..ffbc230d2e2a132c2919fa91f2402e588851a030 --- /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 c4ce0ca563bd7828d88cbd5e7d3500c3d94e9364..d76bed1b9b7baa21b5e3cfca5c58dd3457fdec7a 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 8091563772252205da90e5fca61a9750b21db733..97e60be6d6781faef1369bf886998d4eb3426eb8 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 0000000000000000000000000000000000000000..ce1d7330a22213a8e125642b0a3291c4b1a32ba3 --- /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 0000000000000000000000000000000000000000..51c38f6d3474130bca079c85de4d11b567c964e9 --- /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 22a6acb8ce31b28da92b8a6275a2f5b2ae87b433..089d9289827eba67fb816ca24cbba86aac4df505 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 a8b5e08abd658a996034ac995594e8c1d00499a9..8d0fed6b3d859fee7078103b28a0ed6d51276955 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 60e63dc68ed99d40cdc18efefe4a80ed71b51702..93b0cb59650b8ca442b35a7f0763eb8d727a68fa 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 ea4e6cd1f1c9e63bdb76c358262afebf164fa1ff..1876cce6c8a9c595ad14908da2f824f842d8fe20 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 32080c81cb38d97b5de2d1f25175b36d2db5412b..0000000000000000000000000000000000000000 --- 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 8edf702a24c69a6070c305cb69a92483ddd61a87..b2a9d39870970add28b09a98ac0329e398aba8f1 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 ad4620d4f450e7f73f7f7683e3623325c1205e51..f1455f68338f2ddb11b5ef419e04423ee22a392e 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 e7dfb5ca39895519bd9d98ff541f584837d500bd..8d99ce6e8e0ee4bd631b6693a0842a673dca1d8a 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 f11f21f5b955e26e5bbc1d7768e5bd651dae54df..52f0ff15e235c02054be36a46facb307b1e3fbf9 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 e7f687d96068cbc246821ec40ff8f561b833e6e5..7d8365337aa8725fdcab6528d0f898e554f151cc 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 f571cf8738f6080245daf0b03113cf1e8e048c51..37bd631adbcb44cc1a3fc98e23fd6058b485a4e3 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 d4813eb2a938c4f5d0fc8bdfa7e8239b06596695..177a9f47c31e3a3dd44d03d9207ae00940a6a3cf 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 f67dc13c854582ad5383240aaf19224f9903458b..16828f08bc2766aa32b071421d680b38a87fd08e 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 ? {} }: - -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; +{ config, stdenv, pkgs, lib }: + +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 { }; - - gtkhtml4 = callPackage ./platform/gtkhtml/4.x.nix { }; + gtkhtml = callPackage ./platform/gtkhtml { enchant = pkgs.enchant1; }; - # 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 dd7e269f94e55dea76149531e20b806eea5d7dd6..0f2a98c61f61c37639d588eab79ff8133fa8a2e2 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 b40cb98cbefce1426dc3464127ecbff2c4401057..87d2931d274475f43afc5f7670ab66cc6c625b69 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 ac9a87299ab8b5ad8fa186d4459fc5200266d285..10b99e4eb5d238d5fdac72907faa37cf6d2be83a 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 0c8efc57c71fd97052196c47d2af09603c085714..c774468852ee07ad9fbd2ecc8f222a41c6c98506 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 df3de11e738d5902f5a2c7bb8b05b06ea9616307..1a1848491b167344e42cf7983777e72e93480d4b 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 834ec2201581aee9133efa7ef8e5f3659cd7e385..369880c4fc1a264d7a23cf6e304c7151fc1a98e1 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 493f88290f3a1f5334dddd17841cebaa8c188c1b..33c2abef0fab70fd895e33cd219b8ce3c44e56a5 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 b4615683939ff07f933409e4310d37d6dd994830..5ff687adcf6f5a58620fa2e6842cda7794978172 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 a71d6eb789bac6dafa81157298162ed3af3abddb..0be9d7acb9ce778f8854c1cde560e3cc42c0e265 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 1f4af86ffeb6a96a3eb56ad10961cba7ac5d5a39..d51cccf790664321cdceddf11cbcff3785efa63d 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 2be8c29e4931ac14802640837ecad01536e2f8eb..72928d82037912256f92df212fc94a170a6c781c 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 9d22488c25dae76736a739eef35c7642bc3e2e4f..d2539889fdba866772ca289574ef76e94ac7893f 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 2365e166d5ee885d244a082f3a34afd9fa9d5d13..ee0282147de7485883a6f88aa496c91f3aa3e273 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 6945ad1f04b93cf5a77f111ee04cb7bfc4d950d9..453a4459fddb1efc484961f22584612a03a375cc 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 a8072aa375256fa91280b8b4cc1481aca8121f8e..215c9eb3e5e70cd0f4326e8f828308306f0ac416 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 b9db3422723ea67f9a4af624bdec7376f3937004..cf34c7e7c686c08333c98fb82c948b9436063d15 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 5de7d93f49c60408a82ac09c813bf87094130519..9a70319952cfc675ce25f40ab9b3752aa44f8f1d 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 + itstool + libxml2 + pkgconfig + dbus + wrapGAppsHook ]; + buildInputs = [ - gtk3 libxml2 python3Packages.python python3Packages.pyatspi - python3Packages.pygobject3 python3Packages.ipython - at-spi2-core dbus libwnck3 gnome3.defaultIconTheme + adwaita-icon-theme + at-spi2-core + gtk3 + libwnck3 + ]; + + propagatedBuildInputs = with python3.pkgs; [ + ipython + pyatspi + pycairo + pygobject3 + xlib ]; - wrapPrefixVariables = [ "PYTHONPATH" ]; + # 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 ea2091524c9cd5a7ebbd3c8686840253ed3d26cd..b18e58f6f56ffdda976e650584167c6f69456d89 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 310f8ccb63b96b1dfe7b0176424860eb6b070ec7..2061fc26607e887b9da6abc11aa51297af06da7a 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 ]; + nativeBuildInputs = [ + cmake + intltool + itstool + libxml2 + ninja + pkgconfig + wrapGAppsHook + ]; 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 + 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 ]; - nativeBuildInputs = [ cmake ninja intltool itstool libxml2 pkgconfig wrapGAppsHook ]; + 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 fe307bca797be5ef1727aa3f091c8b921f61a88c..267a7f2f7d203bbb049f61e3cd37b9dee1c21352 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 61eda9421945263c3af345fc9b930d4535dd37ef..35d97a87a86f13ca79eff303e30393e31d1bc99d 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 d9f1e7850afd6ee10accafa5daf2a24569195d56..f776f4dbe5a24ea3c28cd549dd9d6a38a38702a0 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"; }; - passthru = { - updateScript = gnome3.updateScript { packageName = "ghex"; attrPath = "gnome3.ghex"; }; - }; + nativeBuildInputs = [ + desktop-file-utils + gettext + hicolor-icon-theme # for setup-hook + itstool + meson + ninja + pkgconfig + python3 + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + atk + glib + ]; - nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; + checkInputs = [ + appstream-glib + desktop-file-utils + ]; - buildInputs = [ gnome3.gtk intltool itstool libxml2 ]; + 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.${pname}"; + }; + }; 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 39e0f2ba23e1be9fbbfc01005b9e8f63b786ae17..92b38ed5eee450d7182746d9f68b794ea5f8abf8 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 0000000000000000000000000000000000000000..25ee957224c78aae938b5a99224d9c8d28d2ba6a --- /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 357cd42d66bd057df2172f309ad914e836dbf0ec..27ce5d0f078b6ffeb62f59bc22115bf25a9fe400 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 8cc8712a15de4a2aedbeaf2a4088e818d1d5aa0b..03619f38c9ba8babd0bb2a7c209f4ea30bde26cb 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 047f9bc22102d685c08625c5d654f068a3f7ea29..ac1e9ee85c01560db19eab8a2a4f69d425b3cb77 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 30323cf62f5329036ef6102918ecece488bab38e..38182f1f994f91c28f36ba49782b822bb3c45d31 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 d2792304016f288cecd228735074faed8e4eac86..1301381e5aaf07d8b55fccf8dce657e5f2f08454 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 e7a1954c892498692cc7976ab5024f7b1fc29d73..655e9e9fe34d73538bf640c386a6003b00b069f8 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 c6140a53fd9b04fe6930f4def9ee0e72feb422a1..8681a3c866ce9f468072b9f9bb30b587bcbff2f6 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 2f7e5bbe807187cd5937e029f3d6e40453a8577c..6011092c0e0e6207cdaddd2be29ce200e0c57a0e 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 3edf1f5dd4027067592ee7aec942c3022bbef618..9b8c96729ad78e8e1a0fb2dc16fa5964746a5b6a 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 dcee87dc799cd7a8b26e3ba75e68bfc181c0a876..37401af3ce6027a5880bb0862c39c82c39b22a4e 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 e39ce00fd658caaa5880b5babd7bf1ddac513ea2..5978fb217e87e690a27f401e6eeabdb4c0378d63 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 508b8af3f4f78132eced1fb86a35738ccc859860..0000000000000000000000000000000000000000 --- 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 3f8ce7f4a51a1b8fda869cd03b5e436a26d4f30f..fd47f54eb899f6b3d29cc90d854a4671ef4d17fe 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 1f902dc9c80ac82533bed57314beabe7a7d4dcf6..907c0424454a1c005f06c527a8b80384b057fe13 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 37b48a744822bf55620a0f1d86de7771dfe60b03..dbbbb43659ba3924ab9be7edbb6c16288320190a 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix @@ -1,34 +1,75 @@ -{ 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"; }; + patches = [ + # fix build with e-d-s 3.32 + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/gnome-todo/commit/6cdabc4dd0c6c804a093b94c269461ce376fed4f.patch; + sha256 = "08ldgyxv9216dgr8y9asqd7j2y82y9yqnqhkqaxc9i8a67yz1gzy"; + }) + ]; + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + nativeBuildInputs = [ - meson ninja pkgconfig gettext python3 wrapGAppsHook + meson + ninja + pkgconfig + gettext + python3 + wrapGAppsHook ]; + buildInputs = [ - glib gtk libpeas gnome-online-accounts - gsettings-desktop-schemas gnome3.defaultIconTheme + glib + gtk3 + libpeas + gnome-online-accounts + gsettings-desktop-schemas + gnome3.adwaita-icon-theme # Plug-ins - evolution-data-server libxml2 libsoup libical - rest json-glib + evolution-data-server + libxml2 + libsoup + libical + librest + json-glib ]; - postPatch = '' - chmod +x meson_post_install.py - patchShebangs meson_post_install.py - ''; + # 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 { diff --git a/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix b/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix index 6a827b7f0e3c0a49c09c51131c0d9c74259bba32..1e5a641f08fd3578f38957f4b258e260e2114c6d 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 080fa664b0db48c82057f1ae2771e2b736852533..51fea63b7142c88965b74d470e6db1dd878ffeb4 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 9ef2b57e6d1404230d218439e965c903ea608f85..a1bcb406eb3a00cf64ca16b312802256d1702d8a 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 00037f526b642a222d0edadae6081146fc6b40a8..c5377157ef0c97d5b13fc30aaf0b7a7864e98b67 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 4fa40a6c1b08cbd7c71099223a455f2b48936345..a7f4a637b1785326c66143163e516ee7d4a122cf 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 c29e3ff5200dc505e06a521bc9885425a88d74c6..4734a0e96b8ce25582f5063a950c24f70327625f 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 fe2b50f296a4fe5eb9f026df8dd5c1e043c14b6e..bad06bae40549fb30236d4068fc546efe0ed5cb7 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 0d583dccf766826fd8a3839bc4f9b5dacbee59e2..8a6ecc5d5e198db89bc7860680909c7decd23419 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 9c1d7d7d1a98c5e59ca7a93d11f933fd51b1d14c..43f8dd08dbffeb5f02c384b7bbfe7c0a7f0916ba 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 1a4ef2a1cf41cae317fdc81cdf67bb429066d960..5e4bbf8cce17f5de225e8caac7519aa76a2b1607 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 5b6281869cc54a335cbdad47530ea50ceae3175b..8bb727a6fc53655430756d2fcca2fa9a02eaaec8 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 c8ca0016d57d5c147ed444b4c7f1b8f5013004cf..85f31bfdce5dd94e9c98f036b3ec0ff9f854f86c 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 94d39964bc484b5ce1ad3d70091ef5eb08c6048c..9313ca8990c9ffaa22f92be8db1e4e5862acd432 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 a27bc2cc9ae51685ffbf3b8c31419da63cd225c2..dda45a71fe2090bb7c6c1b51cf8e8d637874a7c0 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 8b64b3df8015d437d19a658c18f2693f48d2b6e4..c499bac4552c8c030f7db408b4017115c465615b 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; + +- 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); - 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; +@@ -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 135200ee3c4fa1915fc1e06a581969eebf19e59c..a4d2fd2be5a51c79251561877857227676265673 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 ac3a25b7dc747ae7c0d9bbeaa08a95d7ca2af87b..303377b8631a63d870a79fda39ea245c94701bc2 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 a938a59f7a01a032770a4b6712274929cb5074ba..e4c772cb1d40769f6c90064710d21f525ec6ee9c 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 b065025327ffa5ceb7f32034a7b41e0b006174c7..817c8324c6b2c670267d52ffc39e313790800468 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 4a37599b136d8f89fddaabe8a5990303edf2448a..df43371a4971870249d49c83d1412a9c2df50361 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 782a77499f9e00f4648ba21d88e32900af0507df..bcc8871bcf1434bde2e6dda3c01ca7b82a8dd339 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 d0ab339a504d6bf138e58670318e7c91ff8c41b4..f2eb65e50bbf9cdd68264354a7b65613d069b1bb 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 a7347f74ca4b62ec364541124e5f7becff678ad6..75a15a41f97b138dd288579a4d108fb703e21dcf 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 58afc0ab85d0ea697ca8890e98d9ceeae03fcd2c..04730f2370f5cba56f5d0ef3ee1dfb275e315cbb 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 0c11a7626e40fdd8798d74f95aca48869484e979..97d8f0bee6832adb5d0687a8b87d1d9f10a5da04 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; +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)); + } + +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 -@@ -1265,10 +1265,10 @@ - } +@@ -755,10 +755,10 @@ row_layout_cb (CcRegionPanel *self, + layout_variant = cc_input_source_get_layout_variant (source); - if (variant && variant[0]) + 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 59191bddd9af12df7ebd32d28c2a47a1f557bbd2..57eb4b3d44a9a08cabe0ee795d87d76504915a76 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 b98a6a2d676fa09f3f66c21042d08a12c1398a84..9d798c2811bdad0f7368044be933b6748c504e63 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 1019a809d7f8f2a6893696c88e8313e9411735ae..98398311882bc18f617ea761a71dbf69089d5612 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 5d224623c3cacc0ca0b923e83bf20f40f79561e1..d6d9f927252865da4dc1174215535b8ec4750b49 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 06a5b258c80f3d90986c591f979dff502206eb69..976829acd4c637de5dd6a7a92baece88f2eb25f5 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 a72efc61e2fe453bed571a7875309a5523ac011c..4148843d4ab75fcb9c0299659faa0836da3c7c54 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 4ceb0335c1833ee61818de275ba45fcb8b1292b5..0000000000000000000000000000000000000000 --- 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 6deefaa3673289563845704c1d877648284cba5a..93da1f8abec92de3ea93dd2ae1df025ab44c9e63 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 6fab2d5b0b7ff817869388d4062c79a34ac78e62..fd507acc009d8e4fb1dc134755da4791bf97ba43 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 fc39ea812237367dd6591f001a8af4153ab5235e..1d14481e778340e4abc0e100e38eea746af64b35 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 2f44a4e168dfc0bddafa2ad2a720f66106af5ba2..f13ad9f47aa6df7da0599295698231461da3e7b9 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 c76ba218c9acb869117f552a48a393e8408a0a85..b9f33ce73a8aa1b9258f72b6b6cffe7517c7a62b 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 2229302cab7c0cbcf5e86aa30bf5d357fa84b06b..272656fae78c3b1b1f4af5e72a9db05fe03fb32b 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 0000000000000000000000000000000000000000..8f3951af2da85d255c4d25481e905ef5ad3d622b --- /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 ec6d1af015a517a8868080f27d240448d0bd0248..76121660012026efaae63ca07bd0d187c57568b2 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 c384826de6174b04033434cf53b3a119cbf46561..555664e8ae25f3d951877348b937bb39ccf97072 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 76e5bd13522eacd40f285d5d7cb81520c63d4527..a1d8f2c599a8da738eb325b6dfed88fbe5ffcabe 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 32a0cc476da0264051afbf97538c958e179100e1..3207af110885a96b2c6bd80df23d709276a05d25 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 3c45842fdd4025876b085707c74e5eee61dfc146..12081bbae5b0f56f3e281c8fd4ab069e9b95f0bc 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 a1e3ece3db40ec25af05e1d6103e2426411d98e3..a9f8367a54843207e6f2065db7fcc439ac04d6e2 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 4765edbcf7e5ea6e73c02c3947797f0e45744646..75d4b117e778425c720119083ec3d72b6f6f3d3b 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 b6c40b28ab1a88d3aeaa5eb4d38a85f3ff516f92..5cd8f24948157759c80db854d23ed07f99b4b14d 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 7062dbafce8a7b6f27a43135fd0bd7fbae01ee0d..7915e71a73c005e07c3174938cb69181dcff5a01 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 6a5d2fde5018ab420db44b1ad1e5114e64c5ef82..65f9fb0db806aa86a77d0a14baf0df1e57247425 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 ab2ead7d34495038e8dddabf6e3a4b23759e8a0d..0000000000000000000000000000000000000000 --- 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 a2bee6ac41ee079cd41ed662722d7e2f8a40e68b..0000000000000000000000000000000000000000 --- 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 dad0c8850b22b07c9340b1a6bc804cc69c37e40d..0000000000000000000000000000000000000000 --- 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 a968bfd2b569961bb0906875d38f9b223df34be7..6c291c1874f89a7c589790513fc1785685508c08 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 6bf2fd39a2d3a21dfac68a60bbdcca542d996fcd..56104aff4840fc8551371e01c4771fd5b4c1d0bc 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 e80212713aae4bd83ed10254e8f68013c85cca57..7e1f696c58d1a6d4d7475fd79b8d2880c9d9a843 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 9a1418cbe0a95db64125f43045563f38d669c4f4..61219ca4488e6e30a45f04d01b2a883b42e73827 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"; - src = fetchurl { - url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0qr3w480p31nbiad49213rj9rk6p9fl82a68pzznpz36p30dq96z"; - }; + outputs = [ "out" "dev" "man" ]; - passthru = { - updateScript = gnome3.updateScript { packageName = "mutter"; attrPath = "gnome3.mutter"; }; + src = fetchurl { + url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva"; }; - 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 ]; + nativeBuildInputs = [ + meson + pkgconfig + gettext + ninja + python3 + # for cvt command + xorgserver + 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 pipewire xwayland + gnome-settings-daemon + ]; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit zenity; + }) ]; - preFixup = '' - wrapProgram "$out/bin/mutter" \ - --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + 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 0000000000000000000000000000000000000000..6c40624a55da16b1b26f94e91620afdadc9a0a0d --- /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 0000000000000000000000000000000000000000..6ac0a431f61ff1d1ced7547048f02eea7fc68af1 --- /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 051b7618612cb357b8f7463b01a262de24b30141..37358c8432c53bc056f2f015d19038139d453ee5 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 b581d8f0983766b64b6f9b4c314148d31e596c98..14551fb7d0c3e274b40d654573f45228a4ed6c9b 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 0000000000000000000000000000000000000000..4259f93eb24c8cc60c955ac441ef33f73b264053 --- /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 5d60500b36360184500e1cfc64f56153339eed14..c38e677a4217a823d9de8fc087440391d227edeb 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 ef79f972ff0f53913e58d203f297efa2f2fbc195..de56b14d46fd830f5f2945fbcbaef9d8bb3cabf9 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 77c216e73764d4a9db9308d1753422ef85ef8f5c..86675f21f06a9a82f6bf5d3877270e5d7da529fe 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 3565931e4df19b1876758c5c289f24b44cbe3582..a5388f2eae19df02abb44660cc7971af7a936069 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 7127ab71b1fc5323deeb7690788973e91875f1c8..0000000000000000000000000000000000000000 --- 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 47ad114eb0b50d1f0a81902b49c8ceb3307055fc..0000000000000000000000000000000000000000 --- 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 d744fc6c87c76edbbc07fe58ad62763c0020d189..0000000000000000000000000000000000000000 --- 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); +- 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 67f2552b4348f406eab3a8601d69e3572a2c1c8a..a607a6eb6a0782b0183fcec9688132c1e0310f39 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 86e12b585364ba7fa45a3afa355e9f40f05ef588..8b1d2b05df11c47ec090f2656747658ea4796370 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 4aec5ba4d848bb1ac75da045f0b57bca9550d9c8..4c2a551b1c739d24be1376840b4581509e63b92e 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 c11fdfa6099ea45234fb889df9732d780876bf67..0000000000000000000000000000000000000000 --- 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 0a9b9bcfe9be312c1496866fecf6265cee8cec6c..fcbceab24eab7749e415dd5f4ba9f31159f9c8bd 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 2ee72d46993deea12be464c0724831d250453049..f42b67239505ad4fb04d361481f702c41239a186 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 a47de5478e36b01485592abc9d6f9602fa540335..0000000000000000000000000000000000000000 --- 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 482c72a5190497dc991e8df5e4ff2c11c733ade1..0000000000000000000000000000000000000000 --- 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 ac324bc89a854cee7a3eb4ff00ed080e0da5af6e..4f7c13e8e4ae59c8e014a8f1c7f4c884f4fe616b 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 9f1b0ef47fe5f752d130030bca3b09fa73cc1211..c977c61dd099b7f9183b72b309ddbce3ab1106d9 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 c4b3d1e1d81584527c08c976ce0b5bea247e2347..0000000000000000000000000000000000000000 --- 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 30c6f56c032c274c0b94492e4f7008e868e73de4..0000000000000000000000000000000000000000 --- 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 23ec2db0fbd37a1c763ee93a633215e611f01cef..0000000000000000000000000000000000000000 --- 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 e57ddec75ad2d7c90a2f40cb0d277d9bffbd35a7..0000000000000000000000000000000000000000 --- 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 3aba235b3a796c5b1e5a4d442171839142ecef3b..b058bd87989dee13070e0dff40b2716007f7d859 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 6ef87cece4e45738dcf5dcce1518aa2a462bfb80..5e7db35a7276b6b7f9092edb5b566499c2149150 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 98e22f37ee7d00ab32136e508c4dfbd6f533cc8c..0000000000000000000000000000000000000000 --- 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 3fe19a6a58b93f9682b3b2b6d57676cc5f05c6ce..0000000000000000000000000000000000000000 --- 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 00ebfd8a7253ec5f1493e5139f3d56654dd25f0d..10e75eea38f0271626378c8014b61387b6468399 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; { - 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 - ''; + lumina = callPackage ./lumina { }; + lumina-calculator = callPackage ./lumina-calculator { }; + lumina-pdf = callPackage ./lumina-pdf { }; - postPatch = '' - # Fix location of poppler-qt5.h - substituteInPlace src-qt5/desktop-utils/lumina-pdf/mainUI.h \ - --replace '#include ' '#include ' + preRequisitePackages = [ + pkgs.fluxbox + pkgs.libsForQt5.kwindowsystem + pkgs.numlockx + pkgs.qt5.qtsvg + pkgs.xscreensaver + ]; - # Fix plugin dir - substituteInPlace src-qt5/core/lumina-theme-engine/lthemeengine.pri \ - --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix" + corePackages = [ + lumina + lumina-calculator + lumina-pdf + ]; - # 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 0000000000000000000000000000000000000000..70e0f2e3511c09a22078a78eefaa9e7c1f28763f --- /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 0000000000000000000000000000000000000000..62d59d18cc551fbb363ea2d6def31fb0cef74617 --- /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 0000000000000000000000000000000000000000..c758fc38a1b958e77310d3f23d9ca20594f0958c --- /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 6e8644b19b0cd1340221f777b5950befb7a5bbbd..550e98c9dcc86015694ccb12ef06453071117e16 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 af9570a2c733ad63a7c71ca0c76ff301231b8566..a24a33c2e76ba9905893a444d5d179288f2eb8b5 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 49a71987e754901fb25bcd0783835ad26f27a044..0866fd104d23cdabe9788c3718e1f7fcfc81149f 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 ad4b89165fa197f917eb7316ba70ccfea949e3e4..104ab20835fa2a34c832dd49c859a50ce38d55e0 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 479491b35d806945082be66dfb7e3307862353f4..e639996f7c6aa65b5c5baab4a262bbd053b3fdea 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 db21a72cb9b11255d4e14aafcb8c395aefaa0dfb..6b03c2a6c9e8b02559f289c17ede3350afb90187 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 70675e1408cf1f7d6a31febc6f5fc08aea2964c4..c214f0b3dcd44d21f90b2b92fa99639a20da1fe6 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 1b19275ece924b41a90ac126a363fa818c14363f..d94b1ac0d030ab07a187689f29bd68aa2eef34d4 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 852c4bddec832a57a03528918ee7bcb31a1809c3..799e4286803bd91e7f22323bc6ccd82806c2aaba 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 74fa1b03fa6b1def593c099f852c959fb561d62e..dc2ce54d6ae6df62aad978885bc7cae44dcff6ca 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 a0a83ad3469ab8b737eca7397dfee70054f26d52..33e6a1f99e5c71f5c1254bf26dc414e81e92550f 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 013be8eea4f9f8e7bca5290db058f6d95c629b0e..595141daffc70b89e7da1ae8211ae5a5a2665131 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 528f9a390f92b3669d43fb7f527d05682af48bc9..a49bb120791a3321698fff1c22af436b380bf27d 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 0000000000000000000000000000000000000000..da90826116f299cba177249ff5815c877ca18634 --- /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 0000000000000000000000000000000000000000..fd7ef927f8b3080875e3a2f8eb26ce6530223c7c --- /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 f55fa579ff45193c1d6d481ba2306897c687aed3..626c99fcf9c9e231ad64f6948e1ed2fdfe190b8c 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 0000000000000000000000000000000000000000..e40765116e9cc3041d13e760a69e310fd8a885b2 --- /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 d2c583b53fa90cd3203b71e9ecbe780eb8b6e0f1..d775a93fff4c88a5b1394ef580d4b05157a40ed8 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 5382be304ae3b4b7ad7d43400efbfacb77cb8d7f..d836ddeea38f9e8b7d2ee755075e50051ad3e077 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 53826f62bccfc79463beada18acd5350d620e8c9..81a6a423a210f5f5dca9ae96afefd399c6561735 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 f880aed63f8a2c3b1c703801d4200024954d072d..83048ed7d578693fdd3669800b4b9ff9ba1f0733 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 f691357f25f615576fd9ba11a132e443ca5a4aa2..4558d36e554e19d6c051b18c8f7afe8aa90079bd 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 862e0c08cedf2a36796eb875f010530d36523cb4..d501d83947ec9eede8201892c7f4261ee3107419 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 9ebff5d4de5864428667a4c09e84b464aa6ebdb5..9f8c66d826c58d1dae438237a2bb2101e05d741e 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 82f393cf8d52ff543f91fe3760bea8f98f8a9e24..604fc570e1fbfcfb65fffa7f418e54f01683db5d 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 dc2d8c58cafec0582da10ccea71a1851293e1b7d..d737bd91c916ace876e23483a14c7c18b7e7fd2a 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 5b4d7b606c759f9e5b034a5d5c452ae62155f122..fbf2c7ddde7c62c542fc6b48fccacac7bba74191 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 7e3ca84109fd9b635c4623be3a5502a631d4451b..91159398b8fc1196be30388d5125bf7f64d95cf9 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 02591b9eb86e94c19e936820e1b1a4d23e82ad6a..9d8da87fd5d40aa45f1d340ffb9dd4a299ee0494 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 a0d0a973ad7e0f63a9c9016f2e27c826b8404480..a5be8f41967793f31e66343426226b752b2037b8 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 dcc3ead31bfdb5dbb83da0809ec70fa6e7bfbba2..7b7d7290320b7ba6ec30409e9fa50e467f83545e 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 aa7479b02f8363c89965ab3abfa8ec3556a57f40..168b7f35ad271c52afdad21ba47ef3f3749e94f2 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 f5bdcf064fd823290dce741cb79221c026aad413..df717debbae8631216a6b102a01303601991e445 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 d46b7e14e33b94ec0847733684a344ef99020e61..942c9257c25d0f9c2e71399c081a08acaa57e530 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 f9a2e5ff0a14eb7a8f78c9f579ce9ad08b5b4b39..10f525eb9e6cb3f4a3ad73088407c582ce64790f 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 9e0798ecb52ad63f2f367e65d21efa85836780e8..e61360f6a3b4f7ec2b0d460cf0b3f8c89afa9b02 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 cc7f113b7d1986bded3a4b208f479caa8e591c49..bac68f7166c5eedfff32fb2d3a34ae210da800eb 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 f3dfc4d597582d6fe304deac93f2b4c28d01833a..47d3dfb3d5fe458a095c502cb9a883f6dfd14c8e 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 57f721f49a28cad595acbaa47a70df6d5bb20609..15dea9b101841e16a825881f0a78ec90c5b09b01 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 f84fe2fef2eb1937fabc0f26bfed97a24e040eda..597391eb135c64eb14e30635342762e666ce8260 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 0000000000000000000000000000000000000000..de591f493f6f4b8606c4c89a76a78e4ef4093728 --- /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 64ef0cb57f27632e064da53581edbfec73885c66..ba21cb00d35d2ffe3072cd2fc3826c36010f0f3f 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 0000000000000000000000000000000000000000..35e3cd198f6bf9daf77eef3cf59ede4d0c481a69 --- /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 130d44d6a1a1bdc64606fd533b11b3885f6f2010..667a73eb6307f30ca33db71b2730e307788f8ff8 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 7441a8f73ae7f24f540ca0d5547d2b3b8a1c3181..3970b2b2921cffd4d8f8970a382e7006fb601343 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 1989ac8e12cc1b49086ddbdfc9d3be960ee7e122..675648363f5275d70d0c892cf9e12ecb189adf30 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 3b830f73c76a73b135cc186bfa6c795b789c9d45..cc683ab2db21aef7963e4fdfc0a85bbcc3a29779 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 15b81a628863dbdc3ea0f2759de1583740950502..d6709c375e6dce626f87b265ca86c44f7102ddf6 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 8bf0d9bec18cca900610d320a424ca0b4c303dea..17fee5d61cbeaccecb5d184306e4ec71a125d03f 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 9805b8d91b5a4c2ef86f3126882ce0325a7d3bfd..e4976f71ae681a1f0d0468d0ce620b00ee32b9c2 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 975c80b1d0cf950d7c9bc0ed963936e83bac4ac1..9899256018a8ca800b14480e7b0ef8ef40fbe78c 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 f9f0689fa65f20f62f9f083a49d103b102f0c1dc..ec7ad2b4294d9f9213d102b34d250346dcd28aa4 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 79a322ccb0a5ba62fff6a3dc9dd9b8fb08812288..2667c25959e65b9cd84f45f2e09903564b77c57d 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 d45563db8a1cc2718e971b22cc9dd97e073fd71c..64ede5101c750dc6ddcd0beda165618d6ba56e5f 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 63adb1849dac840f19035e5e4b3bd40abbe60727..f85dd632bd16909d2f2c9254ba41b277f0334250 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 8697a150881bdf36be74a3c342e9af307e3b0d1b..a06c24b9c728c98794267713294812a437ab4fb5 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 0000000000000000000000000000000000000000..4a3036ae16e23daab63ab165ff6808c3323fb8f6 --- /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 e6a43e6b457d51ff6fb21659ed65a328de5a7e62..58515a492b5c142b922819c8c10505517c0f684e 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 03f8c62c448d50199b1792d14d00ccf6cefc2705..7db01f59816426af3a41d2eb907b0449e541e228 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 9d813e715ffd8d38fbeb0909c42112377bc67270..9df0d0ce5a885ee9e0bda1ffc7d3254b87924b5b 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 c099d070221e93b77837848b5c821ef3754efc95..e1a6e874d1d6190c3e7930c813aa3b16bdfe1a1d 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 643f67cd1e95d84aa1beaae700fca6d76832d2f9..93c765a9953378803ccc5d87aade8bbb939c759a 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 9a0db6107e1aafad96ac041e8a2c105559613c78..e37a270f9dcab4069578264f71ed30e6b87874b3 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 35a7f1dae6105cef2733c406492b56dde5a5f8b3..51d23e475ff3449646a7099479b4ff2c709cf422 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 e9f8b4b75b1f2a7fe3901e9e320973b9ae2a9c79..d53ae8efa3563fe436e78f8b5d50abf1560dbcd3 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 a7d34fc85a64d67221b4c81b60a8198a524f4ebf..39d2c1812cbc8d98cc7c82a16b8277f836bfe50a 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 5f1dfaa5ba4ec9ed1db35d351cfbeafcb8ac3570..253472e3987ed65c8414370a728d3ebfa0dc719e 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 a9c162e591225db1aa3f1e522ae56df4078df748..6ba6ac205ce19857cf325129e855967e43524b3d 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 089296a0b842fe716bc968c271b06e59809ae482..d1c1e481d7002c2f338148c44458f2a443fe2f4c 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 86cbd3a86d25bbde1b063e9555b30418433ca08f..bd9ed9f6cbe7d1ba1299ab7e6951e6b196ff9a32 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 31f447861fc8d07e3aa5c31ddbb0b5468feb97b7..b7735ec77feceff1871ed9112b144a4ffcc13271 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 2be518bcc5e1520b60da278266964c6267b057ce..5ee995402ecdf59adccee6539d5c2ece52490fd0 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 5757f5eb9b40c2e8c878deee84813ab437b3a86c..6f5993cfc353b3d5285a630c278dccc1284522d5 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 9b0018e8e2fc117d2bcc1a75479ac730b1c34bbb..7ec9944aa0e1b72c9bb573c74da43a62c2a764a8 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 58feb32cfa8c1013a9b9114fba8152cddba0939c..9ed5515ea3e76eb3a7b23fbf055e2a0cf5840c71 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 5264c772a537ff3e980e9cd3553ddfc2ce4e7101..a9a0e1712312149755685a6d25ebd0e50c37504a 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 9baa3f24e038f0972bc06b1e4f80a06c9a183854..999bee2e5d10c8ad9435a1b4b60f487901285f59 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 17ec165f75598d6290b2b6a00cedbcdf98d42696..7775173611e28ada8aa225f2817c0fc288b10496 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 f2419f7f5e80660b717c59cc1cba7c158c7ed86a..36f8fecb192598637741654d10c9da25ac0a9497 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 abb1b8c28a1b764d25fa2bbaaa0b87e494b84ebb..cfbe33dd380d727c6c7f5af03e2391c5b7532d6b 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 0470086f865f8d9405666bf9c264415a62cd5ba4..42a8e328a161a31ffb7484c41b9f2d106fcb75d5 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 736bcbd34fc63bc282c2408d7d67709ee1357c6c..fe294ae4985afade022ecfe19bd7edf26dbc6def 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 6f515068418ed8eff3f418bbbb6d9387dc3b08a2..aaf9986fbb2d6c19a78f2d10aa44b53db664c98e 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 c8ade1c9c35e92696cf1561880a36ae5a724ac17..bcbe50e5de35a690f0486b2bd2c78f292475d4a3 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 28983db7f916259af44943a0ccc02bc08bcb438d..b806c085f84466c934a49ef95a0d503d60ec0c0a 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 2e90a96411a30d126a8f9b92a2e080a639e7261e..279e9eff87ac13257691f8da50b9487b00caf232 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 0b16c56be3deea362814f49ae51d6d025431bbbd..355f3ea8d0f693c2d5aedc57af29fb7421d13f3b 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 3494474c49c58acc8671e9be945bb0cf063a7d30..ae6583c467203f8b416a8906dec8674be97474da 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 8bca7b3b6b506d1f66f1dd245d1edbd13ee9e41e..7d235551a80299799e94f88bad2d568a10ac9906 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 21d5b9f1db4cfc5e2ece15adb4287ac19d8ebce4..94b6a2fce8ece9760ddc02ace97d432465e1ffad 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 192b6ff358ff7922c0e0c8ee18bda130d158ab2f..4dd168f25f05fd1f55dd99c58b2db9c59bff3f48 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 db1d9d240c40fa6122828fca2da80423bde84c21..0000000000000000000000000000000000000000 --- 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 01fe35e4a8eedbf1eb7f92c2502e7656320cfc47..8bd335c65305adc2f62e109ea2e731691961148c 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 b123d4cbf5bc3ce626698d3157db19fa47fed11c..9132707db2ba1529495c89bf41b6566369f16fed 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 2ee925209838aff46e54bfed520e52f90c5a6ae1..3b85b123fd036616d32e4b62dd2a9f3c3d650ccc 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 0000000000000000000000000000000000000000..4d69390f39d90aa463c3c3666eb0b9fa9e06b9d9 --- /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 bdba8328fe931ea8433e63792a8ede58986bdf27..bd6df460c04bff55d430ba88fd27bf161d5d8a56 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 0cdb732ca731d584806f22e7113149b155b51d4f..dca9cc662a2bc1797485a18a0718dae1897548c5 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 697c3ac592bb17612e583b731e33abfd4e5d0e1f..d1663ad48cd3be62777e4d2ac25db03afd885826 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 95a350372b953f10b596e1b96eb8505eaf67d42c..fb7ea18e88beea379da5847450fcf45dea3e5def 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 192f8a69ae972847fa173a91ddc2a1a7f165d696..c15abfd8cb811ad9d08a45cb482bab366dc6e0a0 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 f38f15e3c6d2e169307aaaed5680ed44706c54b5..ba753af7e202649630a278b00c8158e371b897df 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 6c4bdeb7fb7177c67f5e3c8235fe83cfab4cba98..00579c545254e26be21e972fe3ddb41d11eb42c7 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 0000000000000000000000000000000000000000..b904fe153094ffe707e174c2bd1a5bfbddfb2d1c --- /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 3943cad48fd33d48b2bd30d592c205fbbd6c1deb..09d6da4f246017c6642443062c7be46443f07aa5 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 6bb5d285a34f7fcd9153f1eaeb057730bc987b8a..e547f22fec1680c046dc015a18b51ca7f9e3a992 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 0417d33df7d7be3fc2cf02707b8ca7ee85de6007..aa9cdfa0ddde93383c4a19f02645c4ce7fb3dd4c 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 e47dc4c4060cb1ff8cc2018463a0ab1363bd4c45..b9fad17c2f752abed30f198b75792906fca1f621 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 ab1fd98795a18fcdfcbb933c8e3e06fb714945ea..461ddcd3764a5bf78626d80fdd221b2b9d6f7d8c 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 bb9e576a4c49df616938a7369d0e0f7be7d1244f..5c303e04982b6a93d75a7e21e4723431794d37e9 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 4060e0717891ebaafeb8295e24dd88af432e7d21..19967c3bce05376ae4b42cf6ba453192907b4334 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 a2c047ffcb419ba04d8711b728a0adad3347038f..b4aafb270062e763256dd3f2712b163379b0e66e 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 e4d0db46923bf0d72badf5d480f7fb4895fb7b3f..ed3518c764f9109dd1c023ff68064c8c46fecfef 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 310230c7aaccf5441fc318974316ad62991aad4f..5c10cc0e9e4b26c0a9ac832bd3f849b234bab4bf 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 cae8e74f4ba7475134b4c50e5601766c91056b36..756ae86bb19d6b55abdae5e43a5b51619c6840c6 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 2f7e79f9f9b3ecb25f37673ce1f522509594be21..fe9db999bb6ccb214433cc4b61ab83e975b74cd9 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 23fb8445838ad6e2e66932cb9146d4817284915b..bdf42b1c1ef0a3814d1f8cb68b011670726789d0 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 0000000000000000000000000000000000000000..76bdcf643f8fee3bd35a2db9a08a2af24ae6a5b6 --- /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 430acfd9ac1a233ded3f89768e6e29f7437ac352..aff830fda5687477ee87a52043d73d351d04d80a 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 898d5f7b454f038f6e53ccbd963a024a98b87fb3..30145541750f896b815ab1726368d7a8e9392484 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 a7b8a01eeb0bdf58ca423bf613521260e4075a9f..039d75beb4f2efa8eefbc0fb6dcec58685f49136 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 438ed79d1bb025b9cf9a2c33d0adfc51316fee52..1b2dc835706da60b17dbdb10ebcb1ea0e6bb59f9 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 f133324a81ecdffd28135f91da7ce14ac7264700..a1a69ee303fe05bd078acb60f840562f1ba8b9cc 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 303aae6882b8fc10f84b8cfbe90fa646070a9594..8ef85b90a3b1ae4893411405224354bbcd566fb3 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 1770d54aee0d1f9b53f9464bc1bf2c78e6f6193f..bcbf604c6a2ec2c0eed17fe2ab20ede8ca82413f 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 0000000000000000000000000000000000000000..e9263aab736e880784de220d20d5d095c5cc2c30 --- /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 bd5688f941b2563dab62e2f195ee2b4e5838a16d..b273bbece9690a6c726eab8b4c6a406f88e41e8c 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 d8634b48570d49bc8e896f97904998a4037ed9d3..0be2431d33d838b219dfc7a33cc383d232a75275 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 fddd4143616e1645bdf56487e4fdc8fd29bdbf0d..df12fba645f218468dcc11e82045082d6f960ea0 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 0000000000000000000000000000000000000000..3b5e3b0e77a5ab8e3d83344c6e2d561bbbcb9edb --- /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 6ceebf1980c685ef8b478e45b4feeaa732df97bd..20b1ac7d353fb7c88d569f60b1b641bf37ae6266 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 4e19a65b58d4896191d3ac1342d3a43bb00a54e9..973040a8da64e6f6f631a0f40c0ff8b2f55cf744 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 97acc2c791bfea998fc11f4fa34aabf5683d46ec..b80e93279c8f91b70170230e21b9834f5ab513b7 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 e4f7df107ba80b3f2cf6efb5c6333d74a8c6bd11..9f40c0f9e58287429dfefe26eef7be9be4aa70a4 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 f17e2581e07e27407b0ca446a5fcc010124c0514..0000000000000000000000000000000000000000 --- 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 16f3ae2e28e07c72b01f342b800bdb1de55d85b8..7e73adcd7e91630706a9f0a50fecfd224abee0f9 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 2370fbcd3cb261755bb4e9db293e40b449bba1cd..0000000000000000000000000000000000000000 --- 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 ee5cd51181867caad3a2ef8610a1a5334fa54f47..1ab3c579e145f08e31705fa55dc928aa9ab91fed 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 e2faccedbb7037c4e245e56d1d6151dcad8f979b..00a57cb99433779087d7620665188d1b95da59bc 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 245e12d459192d1ffe03aab8ac8c1cb8063a1655..d5ce97df509dc80ebda5e86541ef92bc7d63cc1f 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 53754c31d8748c0c6e962ee7bc32824d06f429d8..0eab02bf8c80da5197e5a06ad99896543c1e263c 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 aff7d9891adf67b243251ca6b8cbf8beccbab397..78c901a23063d32cf27d0dfa78881ed981fca015 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 d7627c511001612d7e1ff14eaccc13ae903b2b63..f63cca74a4dc99a6545289ed162d53a3b26b6c0d 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 b910f6a7180963ed3739d7c76498e14764338964..b363cb5485a5c24a46a587cd616e2fcce819d8bb 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 003e431bcf7ea88dac396686aa4f5ed40150eae2..6d0e791d1e41b296615f887896d97130d3d82a5f 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 a5ca227bbc20a87a0f0ff048919251a08998310d..b98c205d49150560ad3de6ecf8df288366c2d59a 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 cfae604d3a53c42d2efad554e473fd8efec3f4b6..6b554d89caa9f4ed9accf6ede6035f4c213f4e4b 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 66ba331ddcdc75ac4d59d14d0a40ebb5c70e8202..7fba9610db0b4bee7c5b0dace773bd1fb45828d3 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 59983469c114021789fc761bdc3775d3e544a593..a8eaf766664e0386251b8620cb13b4486b67a0cb 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 a979b13419545fca14271abe2c05c85ac6472ac5..6401b96a2eab5dabfc4c33637cd881c7d572197e 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 e77948ccf295a32b0c078eb56e36d02450143b02..6305c872b2fa01dad06fcad6fc56c03e7dcd973e 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 4dab02d5083401e80bd6f15cfefd490914ecbef7..fb9d28eaf6b1c75af23fa3e5683567cae6c121f0 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 99ca20afe9882ff3f076f4b0eb2c2bbc2de3928e..67a67dd4b3d2c7c899123242f74239369f401818 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 2229302cab7c0cbcf5e86aa30bf5d357fa84b06b..272656fae78c3b1b1f4af5e72a9db05fe03fb32b 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 0000000000000000000000000000000000000000..c073b23e6b9f42a02d89f05ce8f780f5adf4e89d --- /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 2487c4ba3af4d8b61857d99f96c9f9802787dfb1..8afbbbeed829cb88cb0bed715455faa88b7dc2dd 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 4fdaa4a8bf9fd0824c8edcf9c9afa8dfea4067aa..53a65ddb9474cf6dfd8eb8a99c35f6f70eb13b5c 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 48fd2f2bf858f9e9e341e61a6c98805924a89954..7e9aacc0c2b27e3c79351bef3e256c1606f9c366 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 cc51c4b0471c6db7d723f1aa4e8c1c164dc7a489..1be3fe1c3098f5c16b8d25271e028d1eff2c30de 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 2c99713bcd4a32a6a22f8a8802a0bee4b009f61f..07c6805c689a93f4f90b81ad64f1021b841463ee 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 0000000000000000000000000000000000000000..a859285e07898e1dde45b0d168738309126a648d --- /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 814795499a99ba74375700633e2e1db489940a3c..4efd493a3dd7a2983fd7ce65291a4911a920c7c2 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 150b97be50d730d7f3ac3ca1bddfebbea2931b28..01e740f74c4bc397130a1d8f300e3c1dadf1177c 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 1cbfb87ea56385d0f724701f43b33390de2c6dc6..b4fd032cf1f794a2e4b48c7c382471f8679ab493 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 51f15c87d2740b048a8738cfd6bc7d5bb96f4b5b..9d405b3bbb86c1e506b90460ad4a373908c24a9c 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 0f9fe40d73c32b1163c30d997671759d01e8d2f8..96d113e11fb62877b991ad5f67f3bae696582fa8 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 2866cddbea18737c2873eed5e32f9049ea6aba6e..1403c9e4c8b7d2224f49dda6e904b7c8a34ca0e1 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 dd5f7321f0e2940473eb2adac56c38bcd1a06d05..5c27eee5010e930993b599acac9aef357ff8812d 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 0842034f0d892f70dadefc592416292bb12a88d9..21dd5c36d78f8ad2cf53ac18a663e7bcb06c85a4 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 fc77e163e8f9453c2d0be16e528d9935e0e7f382..1e04eb1e2b004ac2de1910942ce708f234ac0a4f 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 0000000000000000000000000000000000000000..f3554fe0b40a4770a0ff579a31c5ff6dc279c3db --- /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 0000000000000000000000000000000000000000..9c2541052c0ec3708d4039ae7b7a0eeb538aa566 --- /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 b29a50af36543906a63e9075571fd7e7008e3f1f..d0fc55e77e8205fc457a7c6bd4f9dd08ecc39a4c 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 d66fa2049e6522cb5e17298b6d981f2e7b330531..2dca1fa29b0f79c7b0a2d8d74ce49802dda5b264 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 72d8e682c862bc40cbc152960adc28c849b909f9..19bd560cbaef66781ce6bd3ca48371d7ea1b795f 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 3951c9deedc6f4da2300326d628391a2e5ea8791..ac0180c20fe883f405bdccb7b56448b21834f5b9 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 f849fbd20a733df0f453237d83636fa2a6ef6766..3c0e8040c3b2bd78a1a0239dfef195fc2eba2df0 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 773a8274f341e8d4ea57577afb6f768dbb86ff72..31e851a469d7521d08624c11d2540080eb8c3e05 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 93a7fad4918aa3dd9374513726d2a659390cdbf8..e1646d93a619f44def2e7b834701dd27d26208d8 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 8e5bffd9dd6f2813db8eb0307708175e23def82c..085cfd7b8f905fd4656949489e07360aadfe64e8 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 2de4f34fcf6f4a7b4bee920cfd8e62e575368436..96f71e004a87669c8d224db686e90b03e45b4103 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 8e4f952438fe7e48cb80610e2fa71825e0a94e4f..dafb72582b31606a4ee955f14c6a4549997239c3 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 a0f2ed00d0e81df6d8f4b6e8d8758c77c2ec30b0..6ac601c6685ef46af4d0f53442bb8da91cda83ae 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 80cf7dd28c5d3d801532723c4bf0d27a81798c7e..783fbb13c83cee2f3787e12ecde3710099315384 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 d9c918c0fdc1cbe8cd853b0d209b47ac575228e9..41d98f17516d8a349736933f26a56abd364d93fd 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 0d69d4d2f32b1eb5c55465f27bf647f614f72c73..bb319e6fc6c3f8942f85f51aca23c10aa8c35465 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 e8d5b4acd76908dfeef214f93de3667ac49dfe5e..797b51de8e40c5164fbc4e90ea1fdf791c885835 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 5a411bfbb5be1a4a4adb0ba7031ab2d75830b46d..b68b7059f8df8134b94f9f23824c62c7ae57f234 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 7fe76057c93002fde0fe416b5e2d710274837059..5c61c16cbcc1d049355cbce1931ebb5cbf595a4d 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 39214ca57b1f9d0a57914895f5e64c23f3451d62..eda3aab070ac4077eabdd5d6c15533ed07107e87 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 3e1d2be2b5313f8054e5543d8e419abb80b00add..9087d3a02553477c267f24a87702ee3b804d8829 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 d2d992d54a884d130d6f2cadddd02b9d4d3cf7b8..b8ecae7e4e64309e4daf44b4d8d5b3a5d1c468a3 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 ffcc67bf0e9b540b26dfec9140e294e1dfe0a00c..266f30645075a98a562ffd16f25ad065b558fbfe 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 3f6237d6de17baac8b98b45ad7ea633031726dd6..b57dd252033f6dc764b59510e9c7cde6b3fd9f15 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 592b03e8954a3038e7e1f1e6eb15d1500e6229f6..584055c8ddf6acd5cc45115e7206d422022990f6 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 48585b4004bb60fb902dd5a4ea6a96e454783bc1..091dd03c0bcf9907eb3daa39f17a269a9b165482 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 313a2662f0392c533cabddd49c2e62e717a39d45..d26649ee6ce9455e0fa28ef566a3350149330f78 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 abf03d4277be178a57e98ae6c39270c9680bc4d4..e5182a12d434396ebfbc43d2c2df6d0d33bd7f8b 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 d18c3b8ee25650fde1f91fbebf7b2098cdb53227..2782decf6c4c6694d3a26220d86d11f8bc06a6a0 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 7134d29c9ffbe6f994910320c3eea3c7915983d5..f67ba7af8aa968ad122b7801133a59cee0a2fab5 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 694f6772282b6a7fca42aaf9b1d4a976bb9dbee6..144291da86d723dafd81918cf5785e64512eae5b 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 d3e46cf236549823abd70a6c300a651c0251fa74..0000000000000000000000000000000000000000 --- 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 1096996ee6d571ca550f515fdb5e317a75036c29..0000000000000000000000000000000000000000 --- 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 74e6f812e3c73b890b27d8cd88bc86b9ac8ad787..0000000000000000000000000000000000000000 --- 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 fda36d696510a45bf769fd18fc4fac486b7ae6e4..0000000000000000000000000000000000000000 --- 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 1b723d21d60a6ae63fd03df2810324513aea9f95..0000000000000000000000000000000000000000 --- 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 a88d64702a1a62f10c94ce51b455e91a9915be93..0000000000000000000000000000000000000000 --- 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 0d7b2210b12ce9c019dd59f72e2cff20eed86655..0000000000000000000000000000000000000000 --- 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 f6997551262ef4ac77258bd0561abaa66f9f299d..0000000000000000000000000000000000000000 --- 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 6a3b633cd09db4a980ff2b85f94cca9c72116a80..0000000000000000000000000000000000000000 --- 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 b5fd3a19d0609160ffea4d6fd062c4e32c1c44d3..0000000000000000000000000000000000000000 --- 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 3c8395a49088500461a17f008c3cf70b517b2078..0000000000000000000000000000000000000000 --- 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 e720791f1c478b2c026461c80d428d4b2f0377a5..0000000000000000000000000000000000000000 --- 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 b4b0778e9824de3df85aaee3794e63b5ae4e05c8..0000000000000000000000000000000000000000 --- 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 0055d0d82179669d82e80f1afed2ad1697918b47..0000000000000000000000000000000000000000 --- 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 dbeb80ac9bd26cce6f8d6d8f90462e2facf2ef3a..0000000000000000000000000000000000000000 --- 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 05a4f4ecde3c568e20215d5172f21e731de69a24..0000000000000000000000000000000000000000 --- 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 b8a61f6cf90c465bb1ef110004581d9e2aad51ee..0000000000000000000000000000000000000000 --- 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 65941fee4c4a2fae50579e2e667250f37392968f..0000000000000000000000000000000000000000 --- 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 b4b5ff7b71487336658be204dd29f5574193939a..0000000000000000000000000000000000000000 --- 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 28f63a6769d733fe2dabfa0295c7c96b00efaf70..0000000000000000000000000000000000000000 --- 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 e17204c0cd55f5dd96103955de9e181cd0a65818..0000000000000000000000000000000000000000 --- 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 9dedb8674dc221a9194341980489ef154d2f61cb..0000000000000000000000000000000000000000 --- 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 1236b60175d0355eca4125a10ddc5f4fcb6bb3b7..0000000000000000000000000000000000000000 --- 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 a4bc0a3eaddb29fbd9b732c361e49b096e04a4b3..0000000000000000000000000000000000000000 --- 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 bac2587850790124157140f0212fa2b19d08c6eb..0000000000000000000000000000000000000000 --- 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 27c8e1e58c71467c91cfe3b96e52da3bc56a6651..0000000000000000000000000000000000000000 --- 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 5389af668820c7a6f70a942d451cd4baeddb8eba..0000000000000000000000000000000000000000 --- 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 0dfad21d07ba5d5249f823613b130719276088be..0000000000000000000000000000000000000000 --- 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 ecf1f6ac505ed3fb897cc23ae67cc7dac4610a2e..0000000000000000000000000000000000000000 --- 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 6eb917fd76fd1907f50c117d08418012654d098e..0000000000000000000000000000000000000000 --- 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 d9a5991598bc9f0cf558f8cfd951d52595423ddb..0000000000000000000000000000000000000000 --- 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 6bc88ee766119f05cd2b5ceae26c43c461c42357..0000000000000000000000000000000000000000 --- 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 626451c70d633450d98b8184fe7cc3806833a47a..0000000000000000000000000000000000000000 --- 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 41a1ef82932bc152d945f0917750e7866db4a20c..0000000000000000000000000000000000000000 --- 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 def60bcfe21c6a0bb7bcc0b4ad1135a00cea95e1..0000000000000000000000000000000000000000 --- 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 0209b79136021d51a4885a5888c0c9b9488a7438..0000000000000000000000000000000000000000 --- 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 97d414d66932959ba76648632d0a06d09d2f5a2e..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..294dfa92c7980533f29f5a48db371be6385b2b26 --- /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 0000000000000000000000000000000000000000..b0dcec78765d0f28ca0005cec04e2ddd54a160c7 --- /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 0000000000000000000000000000000000000000..d4e7e2ffc809198ab3de90287771e726da70bc75 --- /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 0000000000000000000000000000000000000000..6939e8859ac992b9439a0a8f6121cedbd588c9dc --- /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 0000000000000000000000000000000000000000..2ea6d195d6fd6c7638ca2d8b8242ee17fef02645 --- /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 0000000000000000000000000000000000000000..99fe59583aa4e2c1cc15ca9d99dac87276f4a431 --- /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 da7179c4646258b1f79a06b254edcb89906a2aed..cf4b5eb3cdc6c3bec8f6767e23f34b3e5a885315 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 0000000000000000000000000000000000000000..ca80fd8bf53e1652c520959fb5cd6964821f6d08 --- /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 0000000000000000000000000000000000000000..8c453aa96a25c58d3aee85e1e12d49ab2db00291 --- /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 0000000000000000000000000000000000000000..578be8329b0c93bb24c50bdaa16f280adc7b8ed3 --- /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 0000000000000000000000000000000000000000..1c09d3a0c00849f01d61d52f349b58d489ac9a56 --- /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 0000000000000000000000000000000000000000..1fa714c7ff1b621a435412ffabd6b58cba04017b --- /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 0000000000000000000000000000000000000000..ed0be442023260dd53d7af00b4705ffef90c8bfc --- /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 0000000000000000000000000000000000000000..81b0080833668923b49e70952fac4276ca35cf69 --- /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 0000000000000000000000000000000000000000..97d0863665650c1cc180f37fc0e63879925c1db1 --- /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 0000000000000000000000000000000000000000..312e64cdbbe90d6f00b9a78c2e391ab362a71a96 --- /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 0000000000000000000000000000000000000000..376551b09c0f8951bef05569240ad1499fa7ba23 --- /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 0000000000000000000000000000000000000000..74628a325d416e67d9afee7db8d149334f07ae70 --- /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 0000000000000000000000000000000000000000..84cb74276997fc2d537cff8ea3c30f1e1dfa7106 --- /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 0000000000000000000000000000000000000000..b18f3fd45d62e3884958f5f9f9fb0c940f4d7118 --- /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 0000000000000000000000000000000000000000..603863264efcd5251ded3a7ed4e87e5c02de40e5 --- /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 0000000000000000000000000000000000000000..a99c3ecb98446858fb3128e856924dfc34d411d3 --- /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 0000000000000000000000000000000000000000..27acb3bee587c3dfd97b10a7ff5dc1c6b97a82f2 --- /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 0000000000000000000000000000000000000000..115668334c3cfb4ba7ee0469b5610d0d738d1edb --- /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 0000000000000000000000000000000000000000..0f74a78e8f2cc2ad7f3d191232394f47f0d8f33b --- /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 0000000000000000000000000000000000000000..070f40b52d5c58f3a210f068772946002c964ba6 --- /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 0000000000000000000000000000000000000000..21aaef5fd081f0152c61cd07899a06a256825cee --- /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 0000000000000000000000000000000000000000..776b3797f76929f1d9efc089d67820fdaa3a3544 --- /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 0000000000000000000000000000000000000000..e62332343ba75b10dc69bb4f7ffbb4143faa9434 --- /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 0000000000000000000000000000000000000000..b1405910021a9f4e735e247a87ec471b2e5c2664 --- /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 0000000000000000000000000000000000000000..f943f2ab333ab91fbf7aabac3f5ab3f274099284 --- /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 0000000000000000000000000000000000000000..8e56e0f8b37d3e02996f86f77f30709d5cb3675e --- /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 0000000000000000000000000000000000000000..a17c29f6723e8ee080a43dd7b8930b5143f519c8 --- /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 0000000000000000000000000000000000000000..c4b7d738b3297e16c0fc4908606275341adc5d9e --- /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 0000000000000000000000000000000000000000..b84487c09ae02da21c191c1f274050bb54bb2a2c --- /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 e43dacce6250ac175a9fb49c449536e6e7cf9861..fcdd2eb518116986919d977d23f3a4bdbbce39ce 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 341cdf72028d81fff238537e920ed2fe3c3919b1..e35444ed516e827a2fd928e129a11082ebe5a7a8 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 269df6a07cd0dd1ba57b2b54700fb3d2256ccc5c..5d151e5fa210f12a47a917d2fe263b4e15db3b0b 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 e71c898dd5558624ef834424368437cc917e2fe9..12cc7a6e52ca8ebfb97d8f364c14740985ebcdf0 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 9cefd1dfe54f171fa604a2468f6bce5a97fcd2db..827c5137bf8e38f7c22d9d102a4d082da29c6799 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 8f93a0b377219186115dd2a3b04199aa793680fc..182f8fbefab528ad14762c3e999040c84560d01f 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 a4d5b33824267a0ced309fe37def49e95fb5d7c1..0866311ad8944fbb633aa57269b8b1d1aa0aeb3a 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 9e160acf2d40f085bc989b62ff25e20d4f0fac26..d947acc3ea681b8fbf7bcedd4931f2c027658b59 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 a1eedaad6a0f1093ca30243c4e414d3f3ac755c8..eb9353a4a63792761b4df20dc57e51c82c611558 100644 --- a/pkgs/development/beam-modules/default.nix +++ b/pkgs/development/beam-modules/default.nix @@ -41,29 +41,29 @@ let buildMix = callPackage ./build-mix.nix {}; # BEAM-based languages. - elixir = elixir_1_7; + elixir = elixir_1_9; - elixir_1_8 = lib.callElixir ../interpreters/elixir/1.8.nix { + elixir_1_9 = lib.callElixir ../interpreters/elixir/1.9.nix { inherit rebar erlang; debugInfo = true; }; - elixir_1_7 = lib.callElixir ../interpreters/elixir/1.7.nix { + elixir_1_8 = lib.callElixir ../interpreters/elixir/1.8.nix { inherit rebar erlang; debugInfo = true; }; - elixir_1_6 = lib.callElixir ../interpreters/elixir/1.6.nix { + elixir_1_7 = lib.callElixir ../interpreters/elixir/1.7.nix { inherit rebar erlang; debugInfo = true; }; - elixir_1_5 = lib.callElixir ../interpreters/elixir/1.5.nix { + elixir_1_6 = lib.callElixir ../interpreters/elixir/1.6.nix { inherit rebar erlang; debugInfo = true; }; - elixir_1_4 = lib.callElixir ../interpreters/elixir/1.4.nix { + elixir_1_5 = lib.callElixir ../interpreters/elixir/1.5.nix { inherit rebar erlang; debugInfo = true; }; diff --git a/pkgs/development/beam-modules/fetch-rebar-deps.nix b/pkgs/development/beam-modules/fetch-rebar-deps.nix index a94d803f0d326d20b6cce4181a1f0279879461a0..389e07beca6c4f069b94bd2102ddee60f0c1004e 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 7e91153bed51c48575f99b7ec0ea7e34e9fdda6c..e8faa9c0a9ce1eed8efc3a2935aa840a87e85b26 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 6c9a20c6de2f0d91d47b81d19d8fbaafae44db79..d7a912ee1ed7669fbeab2e55bcee1a8fe5f38f26 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 837d0ccf15cf60486041c9ce16342a36d570faf3..1ec9f244d6c1e42d95a46b0ab17bd24ec2085676 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 c48b36e5aba5c965dd3e74f62ba74638d8a1bc7d..accedf9a7af724dd24a8e84f65fdd644597bdbef 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 6e3fe6c4ebf1fca6997e312991998af5a0a1a51f..a837c6f1e8515226ab646b43a2e722c69192ef50 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 0ed3d8c0049e54b4403c125b4f20179ed681b94d..03febb6aa3559e6e564fd02dd06abe35c8f39e6c 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 0000000000000000000000000000000000000000..305e0f202bf13410353a707ded5d2b8f90f616cf --- /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 0000000000000000000000000000000000000000..85cad6cf4678abf333417d653a204f7c9b6e7810 --- /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 15c51af005f30ec3e32c235e273e114cc1f07fc0..08d0005c99ebfd685281e93e1e993b5d8558bd35 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 e8759ec073b36b28f3919ca9c25d4a22488266df..ed6b2b2ff24735948cc0fef5d2d38e7cba28e8cb 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 345bd125025404e03d66e79918a7bfd8ad357730..3058e926c3f96707a1c6ef42b916d9fc18ba8a6f 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 519992fd8c2684e1967a6424305fdd074505e1c2..b70fde00e15e3c19901a586cc0451ec67ff7440c 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 ce754813dda168a112b7fafcb1d3c59b1372663c..3cbb7577f34c0927bea515ebdea82f44bdadb598 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 f9e79226033583d8fc26116cefb97987dee74f88..4b216761259dc608516bbc77ed0a3769173122cf 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 002f34daa13b3eb2782940592ec82fbaca944280..f086c36468d7f8817661c8a471d74238a6aa04fb 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 df61ea2b791cfe6e6a0ff4cff898f693d1469f36..a1e5927e349ffc572b9c25af55147c2b60ca4536 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 387ae906b88dae947020319c01a0fa07c305f76b..34d1e64c484f25a1e616b43ec4276df9c33a758d 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 bf2272a75c17d2d32a0deeeb780988a076c4e840..6e768e65091b01e1b2af45817952754b23d84dda 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 fc75fe92c730ffd175a0b7d49dabcf92759e8462..c0e6c4b50044a4e5eb8aef8bf695e534ee9eb1f1 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 f22549d06e63cfc535d6eb08a414546f60d6d5f6..ad10845e98cfce671be524a22fa22e8c1062f76b 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 ae6af8dd4b4f0cd2212057a9bca6e19303212376..6fac183125f55a6e417f4f1ae642af516672d1bb 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 5b02aed274f876fca7f363bb8da5aaf2cd4ce6dd..1bac7eb9b95e7f3f1eb7c622c8e59f2e8c7a3aea 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 ceeff56330b2e457ada35cd1cfae5c95defda290..34512fc8ef050421210bedb542c658c734627a06 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 ff0faf408394bf3e73e9a6de279f27db629700f4..5fefce12dbf17ee21637d5ca9d6ce7772e38d992 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 04f7551f32d9a39d9ec9012b9efd32a90cacfdd8..a8e3ee5976e870a781679729f3f7777633871f95 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 2447aeb0ceae97f25565a82b70aaf1b6996ac73c..f5ebaaf638e3752177066dfb500fad9e85111750 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 a1e29951ddb5852c851fa12b003d9b06ec1ac375..664d849211350748ad54ee8e9670193e63fd31f9 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 5c4d276ab9738399204ed648693c57dd830ea152..d9f2a588d8f6f8ade2a3eafd83dc0413fdd9785a 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 3d9fe3a59cfd09a03cccae246244092d895aabdd..dab724ea607c44d736b15ff4761a95318c28d1c6 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 8bae6e2363f64d2087997516873c0c36644fcc42..128c245d2773e14b7d1d7fa9f2ad1f170ecc6511 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 514075651e156ff2b9d636c204f4a70800de4d3b..839ee821d00e368929f8a4b69d9087d7af049cb8 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 3ab25c3a830b90bcac08266262c23945401d9b85..332ded31df6a5747115ebd6d63aac0c063b27308 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 4e8ab34b1011b82f0fca1142abda749889bbc7ae..984ab39c91add8e5a632988a86854e17e11b6074 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 9cc60003201c9ecf62e9f7526033ac96a6059eb8..ea305cc5c84c6b5a1ad533bb7cbca68fada27aa5 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 809fc6a4cf1ab312e383a0db89cc0c56565f5887..2a90902df1e771fed7a86f52eea83a14b91b7f0e 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"; - - src = fetchFromGitHub { - owner = "tianocore"; - repo = "edk2"; - rev = "f71a70e7a4c93a6143d7bad8ab0220a947679697"; - sha256 = "0k48xfwxcgcim1bhkggc19hilvsxsf5axvvcpmld0ng1fcfg0cr6"; + pname = "edk2"; + version = "201905"; + + # 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|' + prePatch = '' + rm -rf BaseTools + ln -sv ${edk2}/BaseTools BaseTools + ''; + configurePhase = '' + runHook preConfigure export WORKSPACE="$PWD" - export EFI_SOURCE="$PWD/EdkCompatibilityPkg" - ln -sv ${edk2}/BaseTools BaseTools - ln -sv ${edk2}/EdkCompatibilityPkg EdkCompatibilityPkg . ${edk2}/edksetup.sh BaseTools + runHook postConfigure ''; - buildPhase = " - build - "; + buildPhase = '' + runHook preBuild + build -a ${targetArch} -b RELEASE -t GCC5 -p ${projectDscPath} -n $NIX_BUILD_CORES $buildFlags + runHook postBuild + ''; - installPhase = "mv -v Build/*/* $out"; - } // (removeAttrs attrs [ "buildInputs" ] ); + 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 4635c6d0a4e831386dffb47c709fb0dede13151f..a22862c42920eac14c0aa8b2036f88a2d994901e 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 bfaf24cd987217cbed5c00a1c160e983233ec479..c8bef546b6d9a3b15e44275b29dc09aecce8e1d8 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 0000000000000000000000000000000000000000..5b21736afc00b9664e278cdc8637838bed100afc --- /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 d773736bba56266619dbef16de14a8ed08b77316..3660e42e363b4ac8629b7fd4aac938b1bc875d96 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 67e63ea2b8e84157705d2bdecf73bdf3af69ec54..4edd9bebbc6ba7a5baaafe7b1d1e008c13d8eaa4 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 0000000000000000000000000000000000000000..f6a0b9e24263ddc463e86cef0032724caea1c98a --- /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 0000000000000000000000000000000000000000..1d24df549ea6e8d50c5e45aa755d2c53e0554a4a --- /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 0000000000000000000000000000000000000000..1ffd758ac82ee5ecf28a708f4d81e8da4dabcd47 --- /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 0000000000000000000000000000000000000000..5ba7e49bfa620ecf081f2d4555a53465147fa0ed --- /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 0000000000000000000000000000000000000000..7605c377057fda4d00584e91562d4b8b78ad7cff --- /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 0000000000000000000000000000000000000000..3a67954b78c9d06f730e02ba056fb33052e3ec6a --- /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 e03039cb5e14eaab55ded357783a056c92641347..d0af770a2a4936a497814b951724cdc4c2ccf7b9 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 06acebd2ba4a8d6ed30b8d7e6f829bf612ca8453..91a42f53d28265c3843f062066027fd8e4e0320c 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 1128fbe64ec3aa4088bc82ad833da20a884cbc11..cb960227bebe73a022198c7b2e8183bbedd34803 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 65fb8a9c82ddae7368c7109468935824a5a80830..ef445faec9230fc2d82a0b97ffe8bd189e75d070 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 0c4a48656b7257de05e6d1b1172b95563899e123..44d784133f5f0ed089209046b4c3ad93e390a782 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 47b90469234f1140dc38f6f19d93a56fe2cc5884..4b20c4051a82e14bb90d6bdb621573a3d2976d8d 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 0000000000000000000000000000000000000000..c599c9f8baf5d67ec2b1f49bf46321ca053ebb98 --- /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 b516019ffc9a7ca5a2a3bd7fb4ca7517ab87dc23..a2b73f61c27922f77eaaffc1897c33e34dd68404 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 74ca246deb09cacf1d47511e42de1e24b3eb8261..1b3f4d168ee9f496ae6c5f4a9ddfc2b98c23586c 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 2de487cc9c8b443482f9d78e5d9263e37795c525..bcb95d9ca9062980c7545cc0a2b04b7af90cabf1 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 e0094c73098f56c3cb67b4b628078787e3eba0b4..e497deb2e873b3cbc1287849f9ea967fa4594fcb 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 0000000000000000000000000000000000000000..06dd3e82adc91ff44aeca4be5516896ee6f79aef --- /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 0000000000000000000000000000000000000000..f791317d0802d198461c1a1fd8df7ae7f60f59b8 --- /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 0000000000000000000000000000000000000000..4b36eaabcafc0441120ace8ebbcd645128be9f3b --- /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 94836e84fd689641c5a5a05d73f46f14bbcf0d56..9306eec817f9901ff04da6408369323debb13451 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 65cd67f527d4f6cc84721ddbbedb4e70c68cf468..eca2cba7775fadcbe7f673e6e9003dae0cb68bbf 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 65d16c48a616babf560759d1f7265bd2da00ec45..7a3324d75602b724ea6bcd2702f815af61d675c2 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 5788f0df1da9a7781ee192b71fccdae042e99e9f..d855b83f0afcbf624d89fccfd33ed4e4483c4829 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 82edf0e33cfa86dfdc678dad19d4d08b76f2c435..940dec0338ca0f8dde25f75e5291e207424d435b 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 39fc3c517f81ba8dbe790f8ad343c8478e1f7b46..90f9d5957bb3e9babc4f5055bc93d990aafc2ff5 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 a26131cb0536a1ed8ea46064d1c581e75da169d6..b2815cc718492773df0cbe78b01a748de7e5d704 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"; - - 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"; }; + pname = "gcc-arm-embedded"; + version = "8-2019-q3-update"; + subdir = "8-2019q3/RC1.1"; + + 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 350eed2fedd0f0a724f8372680f293a7902cf13e..b86b35525a67ecc791fe2f514aa41b8eb3476d4b 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 b36529ecb3cf829bfb1e90ca13c6cdaafb8f2982..8fba9be4901ba33fdd6e0e48c2724fb03b587796 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 ee00a3aee1e1ce7f7cf29f46f5b4a5a19108964e..3ce5ea1f64c2241e6894e4d715324f6756352d3b 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 15f95ef205ebe83ce31bde219b85b50908b664e9..e6115b104817b637a44280692ff455c77bae045f 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 6fd1995354f6ca8722587a11b8a1bb7924b5a674..7644f4d3f6234a6095bcb602e1299bcc2c096d43 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 956f357f84c6998c6c350657ff256c7e9ae9f935..68c05d289784a1857883df0e284810bc27ef2222 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 66b98cc6d64cec5ea6c6c27a9c788fc7a70ff7af..f5572c077f3174966114e788d3634cc537aa4f5b 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 0000000000000000000000000000000000000000..506cfee7f498bbff6e2870ec6362604c12f1497e --- /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 ba6d5912fe887de64027c8b493ffb94e1f90f4bb..f3cdce4119397b2c432ee7c6456e539cb7c72abf 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 0000000000000000000000000000000000000000..28fff80b786db7a1243a0140dcae0427854680fb --- /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 16450cf24ab4e5bdab5033178d0103a04e6c4cdd..1c3df80645a8a1afc580a6a580e0a493e3bf5f34 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 50d397d2cd4743e40bf5f5d58f80970ca3be7186..e3c2d0e09de3cbbdb34a0eeb606bd44b9ffce37e 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 b20d6f9c47eff243e62d97c62b93482779473a6c..9ef650c330fab88dd36dd4bb57fa7780835908d7 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 6e60ea6fea4971a764e0d41bdc3cf00cfd4d24ba..a9618a7e06677e281d14daa4a4e302faa11711ee 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 675522d54ead1089478760c476c6be1bce6a2db3..e90e0dc3d983e343650e69dca2a63817ecf40c16 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 678245d3e4379931cb9d07e6df1e9b65a82d13b7..9fe3a7d9dba30d93b3f55aaf44e2309e31ab2b04 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 3e355dc302d6f087a1b91666e741b28f3551973c..a034e4ec8dd8daa88ae8ec10b83bf0298e2e2367 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 874580c87aabed11d3d38b4db12bb87e73385b91..52fb926cdc684330ca2c0e5373fba474aeb94fc4 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 b54164ccc696d776eefdcebd31ed47b99d723eb8..0000000000000000000000000000000000000000 --- 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 07d4420804ddf59cd0e6e04773bb0da4ed77b2a5..0000000000000000000000000000000000000000 --- 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 cde67183ef497156afc9eed8f1b1949056403f2b..7e845da5b6486f14e0d5fd8ca3a932f8f7054ab9 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 c57e4d96ae2e434a03bd914bd5cd091178562dfa..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..1534e6d1d08ebb2c1172702dfb71ae973a6b59d8 --- /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 0000000000000000000000000000000000000000..c859a34729d0db28945c415bc7cc05f977f7bfee --- /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 0000000000000000000000000000000000000000..95bbab3cb3e116628319f3c161a812d509fe2b0d --- /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 7e670743f7fc4da2e490624c9e988377a4671df1..804edabba0c26768b95d087b471abea9d8900516 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 bf4fd6d68a7e518e61876aee9457067af1952e4f..3b89db144979da3bf6097da9c966a52a7907ccd9 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 8681aceacd7f3937048a163efd53da3692dd57fa..53b6dd4313426899708379ac6c90c33b15b5c841 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 4e5d656cb06485c8cd879e9f41785ea56b1e975d..a89ab15c55fd3a44c939217e60b78c47544b552a 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 a88e2c48d03e3400dbfb697371c8150f019860b8..52f3ad497ad616cc46d060fb9d4ff12a2c22ae36 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 14a210783896f7b08bd30e2c825da596204c2a20..068d7b578dfe41d8e1c2e2fb9746a4216bf459ac 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 d03843aa336a567fc7b4301d3afd5579646abbc8..7c10ce6572f8fa5c428a1b633492f9b35d9bc7d2 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 93e6a47934fc1945f015f1a6b9092de55f46d01f..e9c303b88b6e6af0af120c7fac1cee550203b51d 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 62c5a0de0a938e81eaa385019930d5c9d6f79dc1..161e57b5479290777a628d5a9eb7421737a994c8 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 ae27964ae8f0897a31e0baa13026731ec53b4740..df5202cb1c20430fab745ed9766790c0fbd48d0a 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 41c325c2b1ad24cfebd38dfab436f9c30618acab..1035091654a6d93c43cb2a5634f1cd86e1566576 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 0000000000000000000000000000000000000000..e051d41993ccbdf8e3aef138b1479ac36b8da654 --- /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 0000000000000000000000000000000000000000..1f413a16d81d19ea8bc85368873282b974f99d26 --- /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 5dce1529a8b80030eb0cd704bf494503894da32b..3b924f58bfe14c94a0681e1ac595e934c39a3001 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 1c9bc0a30091526ee3d7e3b6a151ce87dbbf3023..a87876390537a3a109bbf615437ab7f140f1a673 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"; - - src = fetchFromGitHub { - owner = "golang"; - repo = "go"; - rev = "go${version}"; - sha256 = "0d45057rc0bngq0nja847cagxji42qmlywr68f0dkg51im8nyr9y"; + pname = "go"; + version = "1.11.13"; + + 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 0000000000000000000000000000000000000000..dae4c173223c02beba6bdc28332596fe57b336cc --- /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 95312f9e1eadc3225fb67900d970d07effa6b67d..97c243439e89cd1c0a987f628853b037aa18390a 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 0000000000000000000000000000000000000000..aa3116d76c125674644589f074b95fe03bd6a7c7 --- /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 0000000000000000000000000000000000000000..a87a030aa395f34225d25775e84ee9a276689354 --- /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 0000000000000000000000000000000000000000..38a29fd8fbfd7da0a43b81fd2ff3e84c41fea99f --- /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 0000000000000000000000000000000000000000..bb9a0068712443f5223c722a9719e57f8347a6c5 --- /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 0000000000000000000000000000000000000000..0aa1bc9b88ddc09f76478bbe37e99853b3522d28 --- /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 f051b24065a519a06ffbe2a44adad6e759a89fad..61e3b6c16aee737c899281cb5554057dbe3ef0cf 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" {} \; + 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 + ''; + # 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 - install -v -m0555 -D $MX_CACHE_DIR/jvmci/*hsdis*.so $out/jre/lib/amd64/hsdis-amd64.so + # 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 ''; - dontFixup = true; # do not nuke path of ffmpeg etc - dontStrip = true; # why? see in oraclejdk derivation - inherit (oraclejdk8) meta; + 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 + installPhase = '' + 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 0000000000000000000000000000000000000000..84cb38aa8d11921ee2e3acf4056e8bbe4ff47645 --- /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 0000000000000000000000000000000000000000..da887c142408f96f31d44f97ef4b5120667f02bc --- /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 1d3b13937fc04b6b4762a83dc5004ff6a0e6e255..683f8d7ace09d14fbdaf535f43ec67cc977caf4c 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 0a974fccc888bcbb8a77d014ae1a693f60059e4d..7e11c75e07dccd90484c4b588cd34d4fcd6853ed 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 010dacd0c71a9c693a73a9f4c8a34f776d3350a6..24e88f9ee2e2cb5dfbd469e3fb44f6a7e594db67 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 2b5891256043e22a5eff1e60a79509310d17322d..b1b31aecae138ff5aea1d3caa9391dee23ce61cf 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 9390cbde63779196eba1ab91acf2f5fafd2b87ee..0000000000000000000000000000000000000000 --- 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 a6955c030519f392acec7e8ee0e5cdfe30684260..2a6551aad18767bbacc145ec422aaa95f9e09076 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 f601dc254a43bc9df06eda773090ec2e7b60e66c..6640c4aa89abb4c585dc300ef26cb7d203815909 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 2657ee6633b7862217f73dd8fa4779d2924022dc..f240deda0bf9331916f5a85bc722ecd775cea8ce 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 b088e07c49e2ba35f3f5f3e879c12f2167ea6dd3..f49d3d6e21097809fc34566b16547e8f33f8f1d6 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 876e474bed973b5055dc507505f5a5df40af7015..1349b7f0dddca4d29fa03cb23b67969f47a8c3d5 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 6104ffc7aaa325c145a1bef51092ce4cbaa75800..460ff405b94e5230a0fce945d883a8b3db21bcf1 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 17f49ad5ca9f52df4cc17ef41823985dedc7a623..0000000000000000000000000000000000000000 --- 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 a679eda3306646c3af3a18d956a9352c10df0aee..3cd9daee1416279473b2721dcf33e679f0136d73 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 a868f949d27c46e2dd255125a4b16a0c53a2bf3a..5be34b4c4b4cb18f920bf44f3312e8c70744629c 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 0000000000000000000000000000000000000000..e4a164cfa1ad8e73204ff966282591e4cda853db --- /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 4c0b1359bd8d2781e71d6dabddbea13052186968..0000000000000000000000000000000000000000 --- 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 ee08703e4c7e6f800ea059e06ab79709140c6f17..c0414c6259fdd780daa5a6e2ee8805d3b4c788b3 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 9800b33e7a9eaade54b91c1f64f9c154d38a911f..b2db09e1c182fed445caf52d66d2d1af42f8b7ec 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 c2d834aa1272d704b5ed595bb1246825351acea2..754ab020d51e6f77694550a7f64081c2f771609b 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 80ccb0dbbd30e0fed5ab3ff88aabf4506f9f8460..787a9352e2259652abaf0306cabfcd15e440a25b 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}"; +in - enableParallelBuilding = true; +stdenv.mkDerivation rec { + pname = "ldc"; + inherit version; - src = fetchurl { - url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz"; - sha256 = ldcSha256; - }; + enableParallelBuilding = true; - postUnpack = '' - patchShebangs . - '' + src = fetchurl { + url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz"; + sha256 = ldcSha256; + }; - + stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isDarwin) '' - # http://forum.dlang.org/thread/xtbbqthxutdoyhnxjhxl@forum.dlang.org - rm -r ldc-${version}-src/tests/dynamiccompile + # https://issues.dlang.org/show_bug.cgi?id=19553 + hardeningDisable = [ "fortify" ]; - # https://github.com/NixOS/nixpkgs/issues/34817 - rm -r ldc-${version}-src/tests/plugins/addFuncEntryCall + postUnpack = '' + patchShebangs . + '' - # 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 + + 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 + '' - 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 && 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 + + 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 - ''; + echo ${curl.out}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} > ldc-${version}-src/LibcurlPathFile + ''; - datetimePath = if bootstrapVersion then - "phobos/std/datetime.d" - else - "phobos/std/datetime/timezone.d"; + 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" + '' - 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 + + stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isLinux) '' + substituteInPlace runtime/phobos/std/socket.d --replace "assert(ih.addrList[0] == 0x7F_00_00_01);" "" + '' - substituteInPlace tests/d2/dmd-testsuite/Makefile \ - --replace "SHELL=/bin/bash" "SHELL=${bash}/bin/bash" - '' + + 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. - 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" ]; - }; - }; + + 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 + ''; - # 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}"; + nativeBuildInputs = [ cmake ninja makeWrapper unzip ] - enableParallelBuilding = ldcBuild.enableParallelBuilding; - preferLocalBuild = true; - inputString = ldcBuild.outPath; - outputHashAlgo = "sha256"; - outputHash = builtins.hashString "sha256" inputString; + ++ stdenv.lib.optional (!bootstrapVersion) [ + bootstrapLdc python lit + ] - src = ldcBuild.src; + ++ 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 + ] - postUnpack = ldcBuild.postUnpack; + ++ stdenv.lib.optional (!bootstrapVersion && !stdenv.hostPlatform.isDarwin) [ + llvm_8 + ] - postPatch = ldcBuild.postPatch; + ++ stdenv.lib.optional (!bootstrapVersion && !stdenv.hostPlatform.isDarwin) [ + # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818 + gdb + ] - nativeBuildInputs = ldcBuild.nativeBuildInputs + ++ stdenv.lib.optional (bootstrapVersion) [ + libconfig llvm_5 + ] - ++ [ - ldcBuild - ]; + ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ + Foundation + ]); - buildInputs = ldcBuild.buildInputs; - preConfigure = '' - cmakeFlagsArray=( - ${ldcBuild.cmakeFlagsString} - "-DD_COMPILER=${ldcBuild.out}/bin/ldmd2" - ) - ''; + buildInputs = [ curl tzdata ]; - postConfigure = ldcBuild.postConfigure; + 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} + ) + ''; - makeFlags = ldcBuild.makeFlags; + postConfigure = '' + export DMD=$PWD/bin/ldmd2 + ''; - 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"; + makeFlags = [ "DMD=$DMD" ]; - 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\""; + fixNames = if stdenv.hostPlatform.isDarwin then '' + fixDarwinDylibNames() { + local flags=() - buildPhase = '' - ${buildCmd} - ln -s ${ldcBuild.out}/bin/ldmd2 $PWD/bin/ldmd2 - ${testCmd} - ''; + for fn in "$@"; do + flags+=(-change "$(basename "$fn")" "$fn") + done - installPhase = '' - echo -n $inputString > $out - ''; + 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 ""; -in + # https://github.com/ldc-developers/ldc/issues/2497#issuecomment-459633746 + additionalExceptions = if stdenv.hostPlatform.isDarwin then + "|druntime-test-shared" + else + ""; -stdenv.mkDerivation rec { - inherit ldcUnittests; - name = "ldc-${version}"; - phases = "installPhase"; - buildInputs = ldcBuild.buildInputs; - - installPhase = '' - mkdir $out - cp -r --symbolic-link ${ldcBuild}/* $out/ + 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}" ''; - meta = ldcBuild.meta; + 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 7e0163577baf22172c7081ace49b2784397b9f83..9a602c62777dca64290257c40ad3369f0276e67e 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 d54ffd96382d19f15935860243ef491f98db421c..e327fa79c6f08a091e384aee33f3d561dcaa9511 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 6edd5e9798c787a93be051f0a906a285d6392077..4f766e5f9a5c5e887e1ec7301b2af8027efaf26f 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 268f2702a234f2a5cd8677ee2c9309d87a1bb3d7..d295ddbf8a445f9bedb58c311844693a8157a436 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 4a398bd96a0528d7634d9bab050050ed557756e9..8fe4dd6f1d5fa3d17dd28859adc957749374901e 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 a5161333b28291e76283f9c17661e33287f5b344..b4823e9d8c2a0d072569ba11bc3e7b4645eca319 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 2645469767ad13471237f8b96af412e5eccfc57c..95632a45999dbc50f6ca688289c978e1035cf83f 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 bacf4d30556b6b48f579bd8fe19db23bfb05317a..06bc7490c7b5533a6a9abd283a9667e2be2e2ca3 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 4ccd00af6846682d1acc66d8872b26f22b9a9609..0000000000000000000000000000000000000000 --- 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 ee73b26eb5cec03e9f8c6b74879e29433b0581ec..0000000000000000000000000000000000000000 --- 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 3c557711449ffb51d40e14460179e4b4a1350a3e..0000000000000000000000000000000000000000 --- 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 bf83f169cfc35c6de4cd20fb480c0fa62ec60dd4..0000000000000000000000000000000000000000 --- 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 462e35a483f4e9f1fc2904a02c8a17d6d7e78c08..0000000000000000000000000000000000000000 --- 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 96245e76653a65d385291b4743702232891ac09d..0000000000000000000000000000000000000000 --- 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 5ee8f6b82305c701735e2dd493d2ff0dbebdd004..0000000000000000000000000000000000000000 --- 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 2c79d7b3b1b568cd3d701f3a7539eded0811e680..0000000000000000000000000000000000000000 --- 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 294410f99869a302942ef3032392e48ddb359f69..0000000000000000000000000000000000000000 --- 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 a6fd18f94d68b80d8a3e81a660ee452a845d7566..0000000000000000000000000000000000000000 --- 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 cc25a41b040095f888555c79de07e3cdb7b0787e..0276393d840c9643489ed117eb26516e6f7e4639 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 5a0410302f2ffd9e099008823b389562d80c72c5..b66284152d4967902b7cef4eb6189ab969829a2b 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 8b25681c2dbf4ef136ab61e0642ed7e81d1877aa..80b069fff75acd4ded9fa986ee0981f38b105d80 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 d27786464c0516974ecdc81ee39593effea58c20..985cd66638574d3e718b043cd9b7af2f81c46b1b 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 ca6723172d7a928a8458b230a30aaea8dedffd3f..5fe681185b2d71aff45ec80385e16bb36c930711 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 f597c559dba666b83ebb597b96fc0d522f2708d2..3d09277ad4cf14bbc6eb70114ec630d757f3d40e 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 bd2cc19d2e0bcdb34a72bb79c37a6b6b27fa5a61..af65fd6388eae50bbf6bc846b543f7615b44d65c 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 dffb207a32b68f4d83dcbb1d0aa2e4095eb5f1c6..f799199d449f7b232d991eaad33180dbdd5881b6 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 52f27de8cdb52c305b1e6e6101615839c5fd4432..1a7c9aeead8699426682823e1d8d486b260bb14d 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 678ec759425da79691206cba47e5dca13df6f2c9..4dde3be277abd92e8f86d88ad281f79a64b35cd7 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 - src = fetch "llvm" "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z"; + # 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; - # 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}"; + src = fetch "llvm" "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z"; 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 c6538282f23e2fa396846ed12717ea17673c9aa5..f50da39a62495d2587461987b7c8e0bca100fd02 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 6344304b84bf8cf823aa17b32902800b18e309b4..74e9b8719d1d307e514068bd02be36c86a8c0728 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 f676948115ebe9e751ef23a8f64bb7710a8cddec..0000000000000000000000000000000000000000 --- 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 735c5e9e7435567b55a206b071fd73e2512a7187..8e36c5ad53a67274e175c1cc3eab7bab1ca605a7 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 21b0c1c3601c1d5e30d276193c00530280cf5a35..3ab56677d72f2f9991be04d297b179503c91aad0 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 0be8a4d418655483b82c5749a440ae5db0494cde..8adf11abddda30acfce76cfd4c215649f128302c 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 aac9c4275ad4620e25cbda4056e6e6e105ff6319..ea70382d2ac713c5c1c3d192ae11edbeeed139aa 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 a8a6b3dfea874dc4044b7356439903a553b033d0..a69fe286ecc00b7ec2c3ef737f8885d46fd2b977 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 5fd0271f0261d0fe7ef692d66c7b48c1f3a01f4c..7a3b151f835823512f82738f983d3ae091d50f30 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 19833e4d3d4abb217444ef18a1bd3b67c4b2de6f..9660be4df11f95f2412150e8676954980c2e8cbb 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 6dc81e10163f5d155d56c6951b40b46693e7e327..e3015ae8448da830f7839755515b15a0c78e5547 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 f676948115ebe9e751ef23a8f64bb7710a8cddec..0000000000000000000000000000000000000000 --- 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 227ecbeda194b97d7f0a29737c4634337cddfb59..1b891af09ed148d2e885ae862dac48ed8a23ff34 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 9a47435cf140dac82d12fc4dadedbe681ccde2e3..bfee91d91bf6afd40e5595274044df2908105988 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 7be9a7e47b7408e14042f90f7c5939968a2f6e9d..cce44c7e50f9e38d4cc54f0d3139eeff39cc53fc 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 9e181a1202baefe15326275c7f4c951ac21df3b6..23b7bf4e2461a2896d34b672b3e6b045da512684 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 901015bf2ff4a2ba1ab9f28ca97302ceb26c09c1..559377bcc1b74573ba36b55aba7ecdb43c33d9fa 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 840567496785f90d0974dfe398310002f0600539..ff9064f455ec02e5953cb2218154929beb77600c 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 be18a315f12a4afa4fc64f36ca954d5cfecdde64..da2a5cfb58aece2758b7e120189daabdbc21c164 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 b90b6b7b58c8937e1d5fc0402a3254b3b1dd8ead..906baa4ae6460f4cd3eb0c24b7550c72335881e2 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 f676948115ebe9e751ef23a8f64bb7710a8cddec..0000000000000000000000000000000000000000 --- 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 df9c784a10f4054a4fb9440d50c78ba97852b5e2..ac1f4f653e6a93e6766d949106b6e5ba5df46a66 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 1e68276945ecc9b63b8e76594d21b63586caae25..58b9b8060fa337f0d234fe04109d2892ad47dac2 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 d33de2488350d44506b654dfb2b67be5630897e3..d3db8082c96361fdd36fe5b3745833eda730737b 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 f16f3f7213797eecccab15478f66628754cbf49f..e104d051fed796b4429895946d563736f03c91b9 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 version-suffixed symlink of libLLVM.dylib - shortVersion = with stdenv.lib; - concatStringsSep "." (take 2 (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 -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 908a5f1218f7679118d2a22b0a00d68871905484..447904b9ad5fcd0328db221c4743e11b498be7e3 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 0000000000000000000000000000000000000000..72a2a73319304b92b2c758af6eb77ea192b350a7 --- /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 bc6767e8766e4de05e9511a52faee87521ca76a7..e49c8387f7efb8020c94159760062b1c6ccee764 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 f9323ed95c05cb573cbbec3c0151daf47c35e078..0000000000000000000000000000000000000000 --- 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 dff9cb9c49c050aef33b18118ba8f1afa7380aaa..e9cc6dfc1dbe15eb2e879178029df86c5e6bf064 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 0000000000000000000000000000000000000000..e63be181f95cc3890343787e8d07508cf6956585 --- /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 3f1192d962634984e8379baf213044092044f4bc..7f99cc9ae2cdb3f085e7224b1b15b7395de69253 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 8a13f3eb590342a4f04af08f63d5e8d33aa6c2db..fc9e3714db0cf6d34320a6e57db7f75da5aa8166 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 f676948115ebe9e751ef23a8f64bb7710a8cddec..0000000000000000000000000000000000000000 --- 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 b65b75b36886fd6dd9fbe9a28a12cb3dc21475b0..b5e6e0e704804cc5a52a37a015ae3153397b2cfc 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 33085eb3c8081626fd540d163215b3ba0d96bbda..823e9640cf4ede7842afbe6ccf238b306217a930 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 14cc0514fe6d2e738677890cb7e361cb092aa80d..44687ead4d1c347aa26a1d548560a3ebd785ac2a 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 5bb629931fd570245682ec458f49e95e008c922c..a9caa88141a6bca5f84deadb9f8b0f30d51e5401 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 fb856eaa51fd196f31de191a5b8c0256c19fa4ef..7adc2aa588e37dfd8bcd1cbbf14300ab71f7968a 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 0000000000000000000000000000000000000000..72a2a73319304b92b2c758af6eb77ea192b350a7 --- /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 0000000000000000000000000000000000000000..eb57d345822816b1d7b11240c4f738f05ca8a462 --- /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 0000000000000000000000000000000000000000..a4a0f21b0fcd6a230bc581549b27f42b1f039f4a --- /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 0000000000000000000000000000000000000000..6911089250e8a02c658218beb173cc2c8ac96076 --- /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 0000000000000000000000000000000000000000..b30d0d0b5d5b51aeef7062a1152fc378948e009b --- /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 0000000000000000000000000000000000000000..d1f86a16232738c24253c9e6df5f6305de63a83c --- /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 0000000000000000000000000000000000000000..6958fce60cef0010db0f696ba3f182b4674db154 --- /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 0000000000000000000000000000000000000000..3cc12b94b2005b1e0e8e2d44d6dc1a228a39e391 --- /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 0000000000000000000000000000000000000000..1f216178b558d769280e85e9216624de6ce18cfe --- /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 0000000000000000000000000000000000000000..e63be181f95cc3890343787e8d07508cf6956585 --- /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 0000000000000000000000000000000000000000..f864e24acfef9d19989dd99ae61b3b92e67c5628 --- /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 0000000000000000000000000000000000000000..e0bc9e816f5089d9bd9b0b10b56dbcfc75657839 --- /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 0000000000000000000000000000000000000000..58a1241d823682660194b6aac86995c189abf502 --- /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 0000000000000000000000000000000000000000..787f3e16500e214f82d07223a8e9f53584a479c7 --- /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 0000000000000000000000000000000000000000..4ebfe46aa813ddf3ef670cc7b46832fe25d7853d --- /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 0000000000000000000000000000000000000000..646cd3c3ca4a7aadb226605b33c24e3ddff00fcf --- /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 0000000000000000000000000000000000000000..fc52d691d030f4349b5b68f9475237cf69dfc58f --- /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 0000000000000000000000000000000000000000..254933c82a0987fb2879c351e921926e8b58ca90 --- /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 0000000000000000000000000000000000000000..40096fa3497fd3b4300953ae9899e4709152228b --- /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 0000000000000000000000000000000000000000..6799a3f935f5d4afbfc536387328ae8bd480ff25 --- /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 0000000000000000000000000000000000000000..166e7f68eb3b3894214a491bb2fb97b98144bb38 --- /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 0000000000000000000000000000000000000000..1f2ac97818ebae2d564bcf3c7818b6dbca70542c --- /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 efbf8561b7ff23b7f49c73ba46029f5e167c9219..1c0bdf479871cfac42ee25674556fa3dff799b34 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 2eefe96ec63b616ca51c8517e16c9dd7ee2b6a19..ab1833b3cfe9c0afca0d9589547b9766a54db220 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 63e5b50c3d472186fe80f5979d73496ddf774868..f415fa8c0124909004146959f258a419f0b93c6e 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 9ac7ae8d20e4f5a65114f38bcd74084bd15f2d74..014fc226607a62a7f42ed2b40a533488bb7253e2 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 048dd598a4807ba87eebce1fbb8b7e819e5730b6..0327e0dc2155fe78f5d832714162a49ceaf35e9a 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 f15a7624327795fc19882c66d9bb4f6deab1ebc6..a18202b9f884bc25d8c7cbd8b2ad7864f8b09f70 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 de7e3bd6a07e17726fe2b8661877730ec15cb644..5f72bd3649b17195f271965845ae8b0124bb6fed 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 ]; - - 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 - ''; + buildInputs = [ openssl_1_0_2 ]; - 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 fbf85ef8042600b827704fbfa98432dc3448e6cb..dc6866e3af3d41e56d64765bad42c88cd4cb3348 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 8ec249ed360a7a9d9ae47a6ca8537dd6d4b67248..405846343cf14da658be5927a69732d991b262a0 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 f495be8a93e4b3224dff821a7a70237b554e4e66..207ed8f29bc75c0946dda544ba6a28c474eb0f18 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 0589733cb3c6251550e09cb99bed0cdb896826a9..2b4998f91c91e52ca05c653b43524e35dbe4197f 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 3a3538a7ea4264baa930a24bcf85050d9770cea6..2585b599caf3b6be9c628651d6e118d24ab2adbc 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 2b987b08364c9c8d42c00984bcc9b7654feb5b8d..0db13308a5af36eabdfeefa05a0c5afe8afbd857 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 0000000000000000000000000000000000000000..ec91d7e979c1ab064c7503653fa5d24f1bb39190 --- /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 400b040ae85be2b542da77d47f4d227090470ff9..9a2f01b9f3d5f361639c7ed6e43db785afbbc60e 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 616ec420d2d02138886a8017891b6ea9e7b6ac18..193e45bf55ebd1b17bd5da8104c77cf809d7f462 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 5ea3f63ccd1830c0aa4ec78a45d7e9459b52e45e..19324593a30ca9a2debccb8fb7196d87e639ef4a 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 ef6cd1160b33c8f1847fed39814929425dfd7a5a..2067184a5b00d9c62d125811ac886e8654747659 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 779391fc62a9ecb92b08188aca49c2c1ae651c4b..0000000000000000000000000000000000000000 --- 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 cfc1f00a80360f71672e408f3c0d2deb1a9e8d0f..03f3d56fd93d6c4d8f08aa7e494fde4548b3a3fe 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 8709c7186491a5b22623c11e4546576d251bf674..8d92bc4eba2f7ee69c9ed0b4d99900b042694937 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 e2aa5736c7a3af792b04a8858d58c871ee01da8a..74ccaac388f26681b95e1ebb1132b68f903ef730 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 156657d61d6b491a4b23c077e8cfb70a3c9f4216..894ef8c45fa08108685080e018687dadb9e7ba93 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 ae36041b33ebedcf1c3ff95fa381a8ff6a0b8fa6..4228c368e566ec4ec16bd749a62022745ecb2425 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 - ''; - installPhase = '' - 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 ]} + runHook postBuild ''; - patchPhase = + 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/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) + # 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 '' - # disable test supposedly broken on aarch64 + # 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 = '' - PATH=$PATH:$out/bin - ./koch tests + 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 ]} + + 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 b6e2aea7eca583d4f48c1801fe056088d1b31acf..fa49bf9dd73276dc905f3ef69b50d93a0157509e 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 0d171a474a20a57811cb4307eee7e282bc2cb83c..8fd6f33740e41623ca91ac9784efc931a5626f2f 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 4337de702e160a2ba613a20675c27b3c753e61f6..cd621c131ffab2db951826d92de4141db8a1f847 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 99a65dec1501f0159f39f3c62d57d3509dbe8dcf..556aefd370491c1d70e2a7489c2cfafdb2dddd98 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 e65510c172e6d0fe17bca78c498e04c324dc6ee4..4be41490534885aa5c45a3f663680fb79bf25201 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 8636f670059c5637e8be4c35966ba1273d49c3ed..edb3acdbdb1a68c27da9a10c8d2a66935e24b90d 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 0a30ef1352c451dd155abab55e48860357d9b55c..2669e8224bff4121e782376034fc74f4b8ca0f0f 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 c6d0a114974f45da7005490d4de170499a22ec50..11c22e636ef10540cb8b75f2b5f0aab37b3676fc 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 a933151de12afbcb5e97cc42b49d36fda790a513..fb507b9836ad281c950ec8b2dcf27280914618a5 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 e9adbeff49042def63ac8f17117f85449625dbf5..881748c36ea78ae0778d3747f1a059bbc8b7e1ee 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 06ed7c51e9ab3da1e72cde83c9fd6133b5f482b2..da1df6f30bbd8ffded77408d74cd564a2130568d 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 a389f0f5ca1a27eeafdd4af8f4ee85e9b0858a4c..7ccbfb6351d5551ce2f53ccd38c5c905b98cf2e3 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 a3a0a9d593467fde01852a62e076e146ad2281c8..952c5d1bf6ae93336d5284c9b49ce190605a3054 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 54239e58002f7aca9b2cb20b4bf2fa98f8d8e15a..b4e19c32e26d6f51ca5c87047c0a51280a462f7e 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 0000000000000000000000000000000000000000..65c85d055cbb4c0ef1705589435162d22a482725 --- /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 0000000000000000000000000000000000000000..6a1b253f9132e5c28d049e987480ac5a804a5a4c --- /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 0000000000000000000000000000000000000000..223feb1e2a146bc193f77cb12399a61a392b1a1c --- /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 0000000000000000000000000000000000000000..266dd7f334ef3db03a2d374bc81896c526cb6948 --- /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 71bda3e03d96db9be38bd1e0fd9f5c6359a9a1ec..31e3800a6c9cf71ed3fa943e4b09d91b3fa7d8bf 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 8342c9fd3359a5ac2eb84de94a21945e2e4f814f..e80d81dc5a00fc285592bb75aa2654c49cbe4884 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 81f4ef3c7dba645866f71356854b0b184fbfd70c..d9ee5010f7cf97bff0989c1284fdca48ad21fd9e 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 0263bdde8d280b2f34f946d1562c3b8983ba6db8..9fab02ab536108a0849bf79410f65c87d58a007e 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 1a81a5ec20a786142267ce09dcfd7141f52cd869..4540a3016106df9421f81dfb8549537a935fe9ce 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 ddfd5d0a3fdfbfe1ac410e2f329ef26fd9e45eab..e4d3398476e6e232511784462d0ed5bc915c7f7a 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 ccd149bbb40444eb549ac76dc5588c28f89dac7d..80ea9eb4c0b86a22d51e0691690103dc3fbb944f 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 ef53280b679c339c52c6d8fcb8e2305d0eab7b0d..a118e7ab73ba23e25b904638eb9946ded1938c53 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 0000000000000000000000000000000000000000..7885582ad1257e8eb621931dd77d693610fe7635 --- /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 7f22f4de624447789b89158f7fc02d89ff5180ff..370c08f001a74c26135c673ad41886d6059739d6 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 0000000000000000000000000000000000000000..eef972a2cc3c127582c63a8aa0f0ddfa34ccc829 --- /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 b7feed84c37fd9e5217ee072e9788d71721aa9eb..5ab13d5f761fc7866d8b77ce7288e57dc76c8a9b 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 fbb4db72bd4548d0242dbffe5a5c231a7dc4f8e4..85641c351d490625c70181273a4d7c9a955d5a53 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 6dfb099242d6bc196cec9b69ce0917fad81b9760..6719293af2a79e36fd84b2fe757fbd2729868642 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 0000000000000000000000000000000000000000..d25cd9fee770bf0b4df46bcfd1a4d6e725438700 --- /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 0000000000000000000000000000000000000000..a3547e206b7c52713ba3787daab96aa416a69740 --- /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 0000000000000000000000000000000000000000..8bf5a23f3469e0b7ba75aa5d6d48cdab9442c52b --- /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 0000000000000000000000000000000000000000..5f01298960cd19a734625e929698d878d2b0a942 --- /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 0000000000000000000000000000000000000000..8926fced482dc857293b39b32052fbf5ba6a2ee3 --- /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 1b84b9348520d50b8b068c0ca30ec1828a705328..5ade7fd6fbae84d098a5b24c90c85ecef7225b59 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 f883500eeb9f2733f6305a468d3e9b8055feb7eb..3856ced250e7678135e5608cb0780c11266fb681 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 0000000000000000000000000000000000000000..acccc749686cefc278026ceee8034cf2d33930de --- /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 77dba7f9e620e0234213ec0ce95b6e77457eff9b..0000000000000000000000000000000000000000 --- 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 ddef4adf0a0db05432719cb365a05475992189e3..5cf48715dae203a2b8f04fba2c689d9535a9d646 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 a7e2a40597bc2c4ebf001f892f41ede48907511d..e000edad49b672b8cdd071a5516722bb785ea2f2 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 0000000000000000000000000000000000000000..2b8fcbe0ba4ba82f4f9e1b3f637aa33c14210b5e --- /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 9640cd9b577ea0285e712fa5519420259b2f447a..a39cd785cf7c729b81675c00ecc95e851bab5a27 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; - - patches = [ - ./patches/net-tcp-disable-tests.patch - - # Re-evaluate if this we need to disable this one - #./patches/stdsimd-disable-doctest.patch - ]; - - withBundledLLVM = false; - - configureFlags = [ "--release-channel=stable" ]; + buildRustPackage = callPackage ../../../build-support/rust { + inherit rustc cargo; - # 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; + fetchcargo = buildPackages.callPackage ../../../build-support/rust/fetchcargo.nix { + inherit cargo; + }; + }; - # 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 10713b6b7aa9da672faf3ce4b8bcf2260cb1e40d..583a6027f83ac009e379af48af43190cd41b2f61 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] - fn nodelay() { - let addr = next_test_ip4(); -@@ -1610,6 +1618,7 @@ mod tests { - assert_eq!(false, t!(stream.nodelay())); + #[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] - fn ttl() { - let ttl = 100; -@@ -1647,6 +1656,7 @@ mod tests { - } + #[cfg_attr(target_env = "sgx", ignore)] + fn nodelay() { +@@ -1719,6 +1728,7 @@ + assert_eq!(ttl, t!(stream.ttl())); } + #[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 0000000000000000000000000000000000000000..470611242e0734fc271e67af1b30d29282abe308 --- /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 1f43832716bdd4d97019fa14d5d2b0d97acc59a3..daf7af1babdc8a9160ce1487c68c047f07858974 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"; + + src = fetchurl { + url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; + sha256 = "1hrqprybhkhs6d9b5pjskfnc5z9v2l2gync7nb39qjb5s0h703hj"; + }; - inherit src; + # 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 0000000000000000000000000000000000000000..537bdaf445cd7f6231ee09a7e475219c99e8daa3 --- /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 0000000000000000000000000000000000000000..7078ec7060b91bde6b8c354aba62ad391e7db2f3 --- /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 0000000000000000000000000000000000000000..4b1358b72472e7d9b34b98100af352209693ddf4 --- /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 ee662d39e4516f8decacf42ab1dc20d478d9dc4a..0d2a10b6a9982de478e81528a51de5188e4bad58 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 80ca6ade84532bdccc0ae6902505e7f01d46fc4b..e5b36ad78908df87b6ce4c60575f81c5bff9072c 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 0000000000000000000000000000000000000000..0e4207dccac64d244f4968a876f2c802b1dab577 --- /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 0000000000000000000000000000000000000000..ab27d93a7cf90b54197ad77d672e4bc3073e4adc --- /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 ce863ef9c9154c2bf4094070702de4cca33cfb24..0000000000000000000000000000000000000000 --- 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 5f1d384a3283561a773c60dc858fa94d72765178..5a01e295e49e914739fd3d46cb20ed470fe6dcbb 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 a999bd422e637a7c2107674c84ebf039308cb4eb..7bc7fa3d4c2481376b49689331f26511b744848d 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 f74299334535a2543eaa5eb95fc727320cdaa9b1..cdac400b1afd8564bc9ec58cac126887016afe1b 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 a6abe6791d7ed5032e129c748fb15cace08067a8..efcaf56110d2fef35b7f6a65375ffcd16a1f3196 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 e9c6b706e5ad42bb9b57acd8e1aa9a51c56b24bd..c9b4f9639d07f665ccacaf6b97f58c0b21112210 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 7ce7f9cefe51d12ddb41bfd202efd7accde676c7..82cccc3befc32004223de2c0f6de17d6b6ac57e9 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 2fe1f1f3f5a663590345998ba7b12379f95990b4..e2103fb718fad9a4e0df59077246365c0bed9f85 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 a2a03328b6de1d52f12cdb233c2419887080bfc4..89912ac9ad6bdf010387f1d3921c4a908322c106 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 b7a2f602cc63b15a9114c72e7b0cdf370de7fa28..b0fdc8863784c1877c744873af66947e5eb612d0 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 { + + pname = "solc"; + version = "0.5.11"; - src = fetchFromGitHub { - owner = "ethereum"; - repo = "solidity"; - inherit rev sha256; + # 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 e106c9bbb742c47571b9c7a5f70387210ab3c890..382d49599c7f7938ed5140102eb65fe7b4d602d7 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 0523e099e497383540d3f8adc454455b6307b63c..a39a6c4a2e4f5cf4bbe910632fbf3ddab0e99218 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}" + ''; + + postInstall = '' + wrapProgram "$out/bin/souffle" --prefix PATH : "${toolsPath}" ''; - # 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" ]; + 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 5ef289f53e935d342dd55fcf4a3a18f278e47085..0000000000000000000000000000000000000000 --- 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 2203dc980b132daaf238695494674191ca81db17..0000000000000000000000000000000000000000 --- 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 25ea47978fcd6fcaaf8f4d57a6a8b5e51ab8262f..c8379fe90909fa0b1557da5cde95bbd036dc1e5e 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 3ddffd5850511c6c9872910682bf580e98287590..9245e59553feac4c639375e7d171b550189e7c91 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 468c04b5c96c63292f7522c8590871e9e01e40c0..f21b2ae3cb80f1e1637955d7c871268cdd7e34bc 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 f2b30e5dcdb6e95eabc4455b515fb1f217ee9597..79482ac10e693913d7c4ce6f9df7091d59f4333a 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 612b33cdb48376beae11caaf985a172ea1dd95a9..5c1927acb7f1e34fcbbdf53051fcd7b6a685d029 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 0000000000000000000000000000000000000000..5d766bc25901dce7d3042a532202068dbd1bf7de --- /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 e84c7eb2a08ad05467155e8113b1b1681e4f285c..1d0a6a9577aadaf82dbe71819493f19c3390ea15 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 650e1a2429d46bb726226138a79dff81422fe249..df906f9c84c7e05a7c648d58d43a24e274bbc60b 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 0000000000000000000000000000000000000000..d23a308d68f4f84d0a82a3d86499fe7a6608168b --- /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 9523943c48014b0a38df215601d8d66a1be27a7e..789c0be7e7a8b68cd7b7c8c1265ec360181188e3 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 d10e407260a51bf1cd9904479f795590cf9520d0..832decdc41f570691aa18df649cfbcdf7612f74d 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 80d04080aac3c0f1a9bb3e35a678025847ffafba..dea6df1b7aa436700ae7b81f5e57ba26d046c64f 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 04efe1a913423476450b88adabc74e1b658e38a6..41cc9b38606787324f86cb71b1cb600b999ea652 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 a5c3db65857f6e80564545051d9183adbe0619ec..338ba93124921d4b49fae96c7c3ed92cef2f4b51 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 0000000000000000000000000000000000000000..3bdf234f915909da1143675b240eb5ce715f9b61 --- /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 d81ddd9b58f737798ef973d4a6dcf4106b505c90..01d4972a55d504240344be1a1c42b51b0c01a0c2 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 d94437b6a167aa956a02125259477cdbdb9df882..15ed7f8bd29d09ff0edfbc6ff6a617a2e8fb8c90 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"; + }; + + # 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 = atLeast "0.38" && !withGraphviz; + 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_0_44 = generic { + version = "0.44.6"; + sha256 = "0fkrrpnisgq3y816piyr7hm2b94jaj7ki9y974galq3lmxb1g7xb"; }; - vala = vala_0_42; + 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 77e7d6272afd1da63eb413465ea7814b3cce6e61..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..fc971c26492b1960c26dbf07a0731da184f74697 --- /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 0000000000000000000000000000000000000000..ad01fb4be290a176641198fe26c969a66f1559c1 --- /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 8cb1e8e5f2cda5b8cd09bfd7ec70f6a888fa74ed..3196592da4850e37ed38f956e87f32b954541b25 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 78df2583140bed607b36890da1e63eeb2804d010..5f83845a12a944b0996fae394c0da3a87c02e40c 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 a26bc41c5945d4f30c131c2331a340f00acbd7a2..3d955c4394b043740881cea29ae851d94a946a17 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 3ad0bc25787e3639bbeccbd31ad9fdb51638fead..1cc96455be7ad41403601265a7d269ac79fc6715 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 1afeae73f2f1fef6df7a2372864cee39033b8079..1535c7a7de64c9ff7fafc4136deeb5b8074c80a5 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 1590075dc2a01448892b8f63ed8e03759069268e..19056ec2b6fdc35c03655766d0e5fc850e17512b 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 fd95635616fcad2085ed9a93cff6de0fc02af9e4..35ad09320dec4ad6706de1db6b0b950ef68a5cdb 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 fb1798ab819ce56c6181b65657e3fef3e35f98f3..f0e0693d12c4febd9eda6c13467a07a89e243261 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 908aa29e178fea6d6f3f0c89599c554fa79fcacb..d4c4c1f0ac31d0b825c20fa47152ee02b8816ce9 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 2429ccf3cf60028d1317a6b63e49f954e0a94d8f..d58f65102190de27b8665d1575042c2f9c33c900 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 6b908f5a09a36263be69fe152b02e2b83c6dcf1a..4fe86c3fae18575df4142a0ec06fc22759266fbb 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 96954eb43ace069d93a2e17474f3d41e12a8851e..874b99f2bebf01a02d4bf403ab0ee227e3e22d9c 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 55d59b931404a2bcf0199f019445aa2125ff8d84..e33b9427223ecffa72fa1341d3ee3d0b5da4e640 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 8eaa2bdfae70a7e7b53d270d5dc7c0022e69777b..00d088a4a92c3d39b3a1348bd67b748357ebca3b 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 0d5a892e2e96345c76fcc1df2e452e9767506418..a074b27ff65879201580ca336abe5d5553dc3476 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 59f2295e215315c2f0d04cc693defaf2ed4b2bbc..3dfa95154d33d09979372264e6caf31a2c56bde4 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 a1ecdd610a3e53532b777fe9c0eea09ca54fc4db..faf7db09ff9bb11c996d022434fa8aa9e580328e 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 0000000000000000000000000000000000000000..04fc428b40921a2eff8a8b0fa3cf8746cccd60a6 --- /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 28a7c1ec1f6f89f8ac6a72aa494821e3703e5085..cade2bd352ebe6f6643e4abbbf8475d30c92b07e 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 0000000000000000000000000000000000000000..28c651f9b16afd426fc6cd1d44076cda6f36a05f --- /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 191812b3f2ebc06fd39bda29deed93d4e5b3365e..c67342f1a2f74be51225c5b7c9e306ac41a167d4 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 e316a8b792da2a3aae809abf6710f9a2b0ec329d..3b916b5e40bb08fe62fa3b6fa13d81794f2171b8 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 }: +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-3.0.2"; + name = "coq${coq.coq-version}-coquelicot-${param.version}"; src = fetchurl { - url = "https://gforge.inria.fr/frs/download.php/file/37523/coquelicot-3.0.2.tar.gz"; - sha256 = "1biia7nfqf7vaqq5gmykl4rwjyvrcwss6r2jdf0in5pvp2rnrj2w"; + 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 dc0f0873d07e33908d6b9044c89de2f02e44e855..e5fa11c5cad4a64d35d19217eec08af7e27f3e06 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 86e5687321b407376e19893f9892ba3e8ea4582f..5446b540fac3dfc868901bef96045833970af216 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 09fbd580845975d62a9102319d64dfdde969370c..d9ad7d6e3be154faff16ec1038afca4475166571 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 0000000000000000000000000000000000000000..c610039eeec9c402ed1ff6dc15f47ff2a6e0327e --- /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 0b97358d8639564de0b92bd3e8e3bf67ffed16a5..73a0a07f704c825fe5bbfc212718967f4a1ca2a6 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 0000000000000000000000000000000000000000..30917fcb78f23471edb9db3d188fc744a2365072 --- /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 364366ced497fc3e080239ca33a74b301981f3d5..82802b8f30e7db242d6ade376d1b03fbfe61cbea 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 8ff9cc5b83031c88a7a265c1250c4549f741eb87..0000000000000000000000000000000000000000 --- 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 e1f58edc9cbc2baf1dc09944a74d5d5af3097357..0000000000000000000000000000000000000000 --- 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 18584d28c685738ac2856be1ca42ed0922179155..0000000000000000000000000000000000000000 --- 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 1e5b6b7bf6668effcb487c668ae06c98d10d1552..d573eca809a276c5d8031036560765d4fbbdc110 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"; + }; + # 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" ]; - nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ]; - buildInputs = [ coq ncurses which ] ++ (with coq.ocamlPackages; [ ocaml findlib camlp5 ]); + ############################################################## + # 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; - enableParallelBuilding = true; + # 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; - buildFlags = stdenv.lib.optionalString withDoc "doc"; + # 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; - COQBIN = "${coq}/bin/"; + # exported, documented at the end. + mathcompGen = mkMathcompGenFrom (_: {}) mathcomp-packages; - preBuild = '' - patchShebangs etc/utils/ssrcoqdep || true - cd mathcomp - ''; + # exported, documented at the end. + mathcompGenSingle = mkMathcompGen (_: {}) "single"; - 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}/ - ''; + # 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"; - meta = with stdenv.lib; { - homepage = http://ssr.msr-inria.inria.fr/; - license = licenses.cecill-b; - maintainers = [ maintainers.vbgl maintainers.jwiegley ]; - platforms = coq.meta.platforms; - }; + # the base set of attributes for mathcomp + attrs = rec { + name = "coq${coq.coq-version}-${pkgname}-${custom-version}"; - passthru = { - compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.5"; - }; + # 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 0000000000000000000000000000000000000000..0d9557623c36fb3902534d180547bc34e5d5f649 --- /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 aa22c96256f591609f9267dc783c089a7905ff4b..0000000000000000000000000000000000000000 --- 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 b945e7c9a866377e336380b4c306c850841103eb..e74b158d33a31e19ef215a80eb1d1e6d1dd5db59 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 1fcb7e2da8ae5c4069a69ed6a225b6879067a63f..01df38375efb5ee7e800dd43bb6786686ead9fb0 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 5a236f59129d9328edb66d3697c2b741787faea8..fb966f762bc2322c10e8cc18b922658dd1f6e74d 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 ed9b7adbef2137a9aba4c10d578c1e5264666c32..0000000000000000000000000000000000000000 --- 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 f03e6e42739ad34d86b7ce501cde87f01f7bc0b9..d1e7ac882d79b7d1d741d2c604f254c530c9994a 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 eb45f446dc9d65ea62f5563957ba00335e436fba..55fda78b03e303c117da1a5c0eab082f58529308 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"; + + nativeBuildInputs = [ go git cacert ]; - importGodeps = { depsFile }: - map dep2src (import depsFile); + inherit (args) src; + inherit (go) GOOS GOARCH; - goPath = if goDeps != null then importGodeps { depsFile = goDeps; } ++ extraSrcs - else extraSrcs; - package = go.stdenv.mkDerivation ( - (builtins.removeAttrs args [ "goPackageAliases" "disabled" ]) // { + patches = args.patches or []; - nativeBuildInputs = [ removeReferencesTo go ] - ++ (lib.optional (!dontRenameImports) govers) ++ nativeBuildInputs; - buildInputs = buildInputs; + GO111MODULE = "on"; - inherit (go) GOOS GOARCH; + impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [ + "GIT_PROXY_COMMAND" "SOCKS_SERVER" + ]; - configurePhase = args.configurePhase or '' + configurePhase = args.modConfigurePhase or '' runHook preConfigure - # Extract the source - cd "$NIX_BUILD_TOP" - mkdir -p "go/src/$(dirname "$goPackagePath")" - mv "$sourceRoot" "go/src/$goPackagePath" + export GOCACHE=$TMPDIR/go-cache + export GOPATH="$TMPDIR/go" + mkdir -p "''${GOPATH}/pkg/mod/cache/download" + + runHook postConfigure + ''; + + buildPhase = args.modBuildPhase or '' + runHook preBuild + + go mod download - '' + 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 + 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; - '') + (lib.optionalString (extraSrcPaths != []) '' - ${rsync}/bin/rsync -a ${lib.concatMapStringsSep " " (p: "${p}/src") extraSrcPaths} go + inherit (go) GOOS GOARCH; + + GO111MODULE = "on"; + + configurePhase = args.configurePhase or '' + runHook preConfigure - '') + '' - export GOPATH=$NIX_BUILD_TOP/go:$GOPATH export GOCACHE=$TMPDIR/go-cache + export GOPATH="$TMPDIR/go" + export GOPROXY=file://${go-modules} 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 + 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 - ++ lib.optional (!dontRenameImports) govers; - - passthru = passthru // - { inherit go; } // - lib.optionalAttrs (goPackageAliases != []) { inherit goPackageAliases; }; - - enableParallelBuilding = enableParallelBuilding; + disallowedReferences = lib.optional (!allowGoReference) go; - # 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 0000000000000000000000000000000000000000..b3386aaf24bf24380a37fbde7cbdb4c6e7db340d --- /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 0000000000000000000000000000000000000000..e354e50c35aace04b66db331c53f41c742348c28 --- /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 4bd49b06796dc7a7e8f5b92ded73ffd652465a07..8377dad690f6b41b2f357270ef64619b4c838094 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 26fffac0a131d0ea500b2ef4d4bb94f5c2aaa514..80ce29799a880f722573c312be7ac894580a96db 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 c3aa8400791742c1505f52d62055a8733b9808f6..cea464ad5d279c8e5ac74141a67efba1e3080d04 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 35bcd7bfc2f3ed124fce99868770db0460f424dd..6ffcc153ec45ad2ff689b58c8f9a07a4c4baf130 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 a606b3ecf2881dda2d3ad530bb53a99176cbdffa..41bfb2ef62a98afbc7b36cf1a5b99157eacb84e8 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 e4a548ae376bb09c93f8a3fb43cfdde4875e08bb..be885d990eced883f434347aa8780eeb1c762be1 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 41d050531a3ae14040177e93a190d14b14e45c93..f0e53b97266aa3ba1f11a6bd4239fc2c35da0861 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 + ''; + }); + + # 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/qfpl/tasty-hedgehog/issues/24 - tasty-hedgehog = dontCheck super.tasty-hedgehog; + # 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 c2fbb4d6126c78a006436ced9c6057d616f9251a..76aabb9156183c64a236b988127268147f787da9 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 2a72eced2ba99af2b054ba7deb1561b3b26a79a0..0919292d44a5e411473e29e1d229d8d1d9cf73a2 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 abfbe69568a03f298999cd0fcc2ceac94da850ba..4addc834040aaa9103aa70876cb339b458c82380 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 0000000000000000000000000000000000000000..2209f5707323b7d28668549d16f428c18ba5c1f8 --- /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 2118be37534819a83b0c7928c09742da71198642..09755e4cc947efe70b399e0f6a760948921aedff 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 7071f345037415a43b5016f2f2504419afbaf3f5..0a269acbdb6fa627dd25a37c79e5e1d686171abc 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 0502e7003133270a8bee65ae119faaf809b6ab77..29483b56a7db8bb724c4f9f9ea0a49e15634c865 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) - - # 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. + 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! + + # 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 2724ff5d6220163d705dfb0f828bf2d76c1627b6..87d3b5ae496c1b5be78fa92fa009a637508e786b 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 184d45eda4453e012c43254493d19ac7bba2daea..96774f71730f14d39e0f28dbcdb2c011ba476540 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 f7a8e6c0182f18b858a7b26390f806f2ea95402c..eaa0f799f922c328b2f92490ef202d7de961c2ab 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,7 +12970,7 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; - "MissingH_1_4_0_1" = callPackage + "MissingH" = callPackage ({ mkDerivation, array, base, containers, directory , errorcall-eq-instance, filepath, hslogger, HUnit, mtl, network , old-locale, old-time, parsec, process, QuickCheck, random @@ -12361,10 +12978,10 @@ self: { }: mkDerivation { pname = "MissingH"; - version = "1.4.0.1"; - sha256 = "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"; + version = "1.4.1.0"; + sha256 = "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"; revision = "2"; - editedCabalFile = "0dqrzacp2qr5bm9p8jipnadknizn9zr5gyk5fvgf9av36yl4p2rb"; + editedCabalFile = "1k7d8cgvpmln4imcrfpj4c02n3c5l1gkd5hs4hnar9ln0qh61cfx"; libraryHaskellDepends = [ array base containers directory filepath hslogger HUnit mtl network old-locale old-time parsec process random regex-compat time unix @@ -12376,30 +12993,29 @@ self: { ]; description = "Large utility library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; - "MissingH" = callPackage + "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, QuickCheck, random - , regex-compat, testpack, time, unix + , old-locale, old-time, parsec, process, random, regex-compat, time + , unix }: mkDerivation { pname = "MissingH"; - version = "1.4.1.0"; - sha256 = "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"; + version = "1.4.2.1"; + sha256 = "1m9qdgs2ma1svjcagv7qd31xcvym2mnzx001qwchdh46q9y288k1"; libraryHaskellDepends = [ - array base containers directory filepath hslogger HUnit mtl network + array base containers directory filepath hslogger 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 + 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 @@ -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 ]; + executableHaskellDepends = [ + aeson amqp base bytestring data-default exceptions monad-control + monad-loops mtl resource-pool split text transformers-base + ]; testHaskellDepends = [ - aeson amqp base bytestring tasty tasty-hunit text + 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,57 +28610,46 @@ self: { ({ mkDerivation, base, colour }: mkDerivation { pname = "ansi-terminal"; - version = "0.8.2"; - sha256 = "147ss9wz03ww6ypbv6yh5vi1wfrfcaqm8r6nxh50vnp7254359wh"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ base colour ]; - description = "Simple ANSI terminal support, with Windows compatibility"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "ansi-terminal_0_9" = callPackage - ({ mkDerivation, base, colour }: - mkDerivation { - pname = "ansi-terminal"; - version = "0.9"; - sha256 = "00xcq21rp0y8248pwik9rlrfb2m8c27aasla37zdg741yb0c4mfp"; + version = "0.9.1"; + sha256 = "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"; 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 - , antiope-core, base, generic-lens, lens, text, unliftio-core - , unordered-containers - }: - mkDerivation { - pname = "antiope-dynamodb"; - version = "6.2.0"; - sha256 = "1kv6ihb6829fbgzz489sg0zyz02rp9p8wk90w4x3sjsynf8djrjj"; - 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 + ({ mkDerivation, aeson, 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"; + version = "7.3.0"; + sha256 = "04izlg44mz7xv529q2m6j47hcxfca1zrk1fl11rcixdfi3iwfmvf"; 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 { - pname = "antiope-s3"; - version = "6.2.0"; - sha256 = "1gb9ypj5gp6qkzncg44sja35pw2s6qg7msjrlcvhdfbcjs6pxrqj"; - 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 - ]; - 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, 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.3.0"; - sha256 = "00szjn9vbb6xndzs0wpq2hw9a529ldy5y0pckfm3xkd6ap5ifx41"; + 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 + 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 - }: - mkDerivation { - pname = "antiope-sns"; - version = "6.2.0"; - sha256 = "0npm9q3vf2njiqwyswxc6xh5psjls0skz29mz22y59sk25m5fmkv"; - 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 - ]; - 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 + , bytestring, generic-lens, hedgehog, hspec, hw-hspec-hedgehog + , lens, text, time, unliftio-core }: mkDerivation { pname = "antiope-sns"; - version = "6.3.0"; - sha256 = "0fr51vp8ihlv7pnlrl73knd8wwck1rsw5v4yzm2b8299m7gqd86v"; + 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 + 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 }: + ({ mkDerivation, base, doctest, Glob }: mkDerivation { pname = "co-log-core"; - version = "0.1.1"; - sha256 = "00qkkycxm4dmqpacbhi50kk9dyhd96b0d6csxs75pm4xy337205w"; + version = "0.2.0.0"; + sha256 = "0q0vhk100qm6dfdfnbgg1mr07d1lzwbfkpkm0ivinfhaz2vnsr2j"; libraryHaskellDepends = [ base ]; - testHaskellDepends = [ base doctest ]; + testHaskellDepends = [ base doctest Glob ]; + description = "Composable Contravariant Comonadic Logging Library"; + license = stdenv.lib.licenses.mpl20; + }) {}; + + "co-log-polysemy" = callPackage + ({ mkDerivation, base, co-log-core, polysemy }: + mkDerivation { + 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,8 +56154,8 @@ self: { }: mkDerivation { pname = "confcrypt"; - version = "0.1.0.4"; - sha256 = "1c25xjpnw802pqfjksx5fxjq9ynwfjkkmyad169bvfasry98cdbb"; + version = "0.2.3.3"; + sha256 = "18z0p9bd2ca43a64k3idsywm2f1vv6qh03l8isgnahjh7j96ngih"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -52806,42 +56178,26 @@ self: { text transformers ]; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "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 + "conferer" = callPackage + ({ mkDerivation, base, bytestring, containers, directory, hspec + , text }: mkDerivation { - pname = "confcrypt"; - version = "0.2.0.0"; - sha256 = "0gg1p06lmv7rs143am5kak6n7777f1ccf36xlscxwsyza5j1gi57"; - isLibrary = true; - isExecutable = true; + pname = "conferer"; + version = "0.1.0.0"; + sha256 = "0y62yj2cm7q9qwxl3jfdq16rza2mrjg60lchx4s0gbwiw959a83n"; 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 + base bytestring containers directory text ]; 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 + base bytestring containers directory hspec text ]; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; + 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,27 @@ 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 + ]; + testHaskellDepends = [ base hspec ]; + testToolDepends = [ hspec-discover ]; + description = "Constraint manipulation"; + 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 @@ -53524,6 +56942,26 @@ self: { 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 @@ -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 - ]; - testHaskellDepends = [ - aeson base base-compat base-compat-batteries bytestring deepseq - directory HUnit QuickCheck statistics tasty tasty-hunit - tasty-quickcheck vector + base bytestring cassava Chart Chart-diagrams clay colour containers + data-default filepath lens lucid optparse-applicative text 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,31 +66080,14 @@ self: { }: mkDerivation { pname = "dejafu"; - version = "1.11.0.5"; - sha256 = "18pcjk60r1q798qba285g20fh8v5q2qphgpx3r0a0yy7p1qnjwv2"; - libraryHaskellDepends = [ - base concurrency containers contravariant deepseq exceptions - leancheck profunctors random transformers - ]; - description = "A library for unit-testing concurrent programs"; - 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"; + version = "2.1.0.0"; + sha256 = "19jvcfkwavmvf08dwsch3izk9qzw8ldrghpvjgv2vh5dxr7wr9xq"; 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 @@ -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,31 @@ 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 + ]; + 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; + }) {}; + + "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 @@ -62905,6 +66879,7 @@ self: { testToolDepends = [ hspec-discover ]; description = "Backports of GHC deriving extensions"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "derp" = callPackage @@ -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,41 +67271,46 @@ 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 + ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base + , bytestring, case-insensitive, cborg, cborg-json, containers + , contravariant, criterion, cryptonite, deepseq, Diff, directory + , 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, QuickCheck - , quickcheck-instances, repline, scientific, serialise, tasty - , tasty-hunit, tasty-quickcheck, template-haskell, text - , transformers, unordered-containers, uri-encode, vector + , 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.19.1"; - sha256 = "14fjfwsirf8l7wirv590ix01liyd0xbhqy4h7pjblyy62m22mlzq"; - revision = "1"; - editedCabalFile = "193h4dmlz1asfr1ldy0saa9spgp64xh60xh3yywzn9lz0hxzbfpg"; + version = "1.24.0"; + sha256 = "1n04jk45qjl00wx7gxzp36j7d1m1ca7h7y4qlp8gxhykpkr6zzv7"; + revision = "2"; + editedCabalFile = "10ki70113z1kgq35xaib7qwrpzjl93hq4qxm0qb62d3pvaf4wp15"; 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 + aeson aeson-pretty ansi-terminal base bytestring case-insensitive + cborg cborg-json 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 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 @@ -63318,44 +67319,45 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "dhall_1_20_1" = callPackage + "dhall_1_25_0" = 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 + , 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.20.1"; - sha256 = "1p5whphy666q0h22yq3jb4aipb5bkqp45bp86m7dp12ljksfhxz0"; - revision = "2"; - editedCabalFile = "0629z8lc97rapfcqcgvxwp9x4x3xqpzrly8m0nsn0dds7400jxrk"; + 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 Diff directory - dotgen exceptions filepath haskeline http-client http-client-tls - http-types lens-family-core megaparsec memory mtl + 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 repline scientific serialise - template-haskell text transformers unordered-containers uri-encode - vector + 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 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 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 criterion directory serialise text + base bytestring containers directory gauge serialise text ]; description = "A configuration language guaranteed to terminate"; license = stdenv.lib.licenses.bsd3; @@ -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,33 +67423,67 @@ 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 + aeson aeson-pretty base bytestring dhall exceptions + optparse-applicative text + ]; + testHaskellDepends = [ + aeson base bytestring dhall tasty tasty-hunit text + ]; + 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 = "Compile Dhall to JSON or YAML"; + description = "Convert between Dhall and JSON or YAML"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "dhall-lex" = callPackage @@ -63447,20 +67505,51 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "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-lsp-server"; + version = "1.0.0"; + sha256 = "1i4bx8qiy1hbs6bm50fixj1ipkd9rm6y6z3bci8ngh1rhy5v51x1"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + 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 - , insert-ordered-containers, neat-interpolation, optparse-generic - , text + , neat-interpolation, optparse-generic, text }: mkDerivation { pname = "dhall-nix"; - version = "1.1.6"; - sha256 = "0pchanzgcag6z7fywqm09xj29n0pfxd2ya2ky64aapykq038jxbs"; + version = "1.1.7"; + sha256 = "0axg7qq8rfy5qsffiw57lll40mw7bxgk67g7lgdb5vbri69xj3is"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base containers data-fix dhall hnix insert-ordered-containers - neat-interpolation text + 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,41 +75128,47 @@ 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"; + version = "0.30"; + sha256 = "16gfpqsqfwlq4qprh0nswa4br1rz7rj7in7v803cqggkxz7s5c4p"; 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 }: + "eliminators" = callPackage + ({ mkDerivation, base, extra, hspec, hspec-discover, singleton-nats + , singletons, template-haskell, th-abstraction, th-desugar + }: mkDerivation { - pname = "elf"; - version = "0.30"; - sha256 = "16gfpqsqfwlq4qprh0nswa4br1rz7rj7in7v803cqggkxz7s5c4p"; - libraryHaskellDepends = [ base binary bytestring ]; - testHaskellDepends = [ base bytestring containers hspec ]; - description = "An Elf parser"; + pname = "eliminators"; + version = "0.5.1"; + sha256 = "0kqgfsa736sahcsgsjgyh7h1lwxzyn4z85klybmj7gffg9lz4rl1"; + 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; }) {}; - "eliminators" = callPackage + "eliminators_0_6" = callPackage ({ mkDerivation, base, extra, hspec, hspec-discover, singleton-nats , singletons, template-haskell, th-abstraction, th-desugar }: mkDerivation { pname = "eliminators"; - version = "0.5"; - sha256 = "0d1d2pp8r2gai25q898v30gb5r82pjzi9smqndn27p1bk9xlqzzr"; + version = "0.6"; + sha256 = "1mxjp2ygf72k3yaiqpfi4lrmhwhx69zkm5kznrb6wainw5r6h0if"; libraryHaskellDepends = [ base extra singleton-nats singletons template-haskell th-abstraction th-desugar @@ -70458,6 +75177,7 @@ self: { testToolDepends = [ hspec-discover ]; description = "Dependently typed elimination functions using singletons"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "elision" = callPackage @@ -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,29 @@ 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 + ]; + 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; + }) {}; + + "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 ]; @@ -73774,6 +78870,7 @@ self: { ]; description = "Extensible optionally-pure exceptions"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "exchangerates" = callPackage @@ -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,14 +85953,32 @@ 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 + ]; + description = "Monads for free"; + 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 @@ -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-data" = callPackage - ({ mkDerivation, base, base-orphans, contravariant - , show-combinators, tasty, tasty-hunit - }: + "generic-constraints" = callPackage + ({ mkDerivation, base, HUnit, template-haskell, th-abstraction }: 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; + 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_0_5_0_0" = callPackage - ({ mkDerivation, base, base-orphans, contravariant, generic-lens - , one-liner, show-combinators, tasty, tasty-hunit + "generic-data" = callPackage + ({ mkDerivation, base, base-orphans, contravariant, criterion + , deepseq, 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,32 +113162,8 @@ self: { }: mkDerivation { pname = "hedis"; - version = "0.10.10"; - sha256 = "0hbjhccipvg2i1cyinvhlk4jgscam9y5897ib1fh6rc0qwnlblhs"; - 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; - }) {}; - - "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"; + 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 @@ -105730,7 +113176,6 @@ self: { 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 @@ -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,49 +113278,45 @@ 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 + , scientific, template-haskell, text, time, uuid-types, vector }: mkDerivation { pname = "hedn"; - version = "0.2.0.0"; - sha256 = "1yi7j2ikpd1lv32hzgv38v1r4wzh7ffq71js2648d4j1v9jhq1sj"; + 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 - time uuid vector + time uuid-types vector ]; testHaskellDepends = [ - base containers hedgehog megaparsec text time uuid vector + base containers hedgehog megaparsec text time uuid-types 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 + "hedn-functor" = callPackage + ({ mkDerivation, base, containers, hedn, recursion-schemes, text + , vector }: mkDerivation { - pname = "hedn"; - version = "0.2.0.1"; - sha256 = "16yi4x6g27zabgqwd4xckp5zibxq882919mmyyr95g56r7pm8v1j"; + pname = "hedn-functor"; + version = "0.1.0.0"; + sha256 = "1s90az6akimfq6jwiyicns7v34ryp8riymj0ski1sl4ljjm4r4fi"; libraryHaskellDepends = [ - base containers deepseq deriving-compat megaparsec - parser-combinators prettyprinter scientific template-haskell text - time uuid-types vector - ]; - testHaskellDepends = [ - base containers hedgehog megaparsec text time uuid-types vector + base containers hedn recursion-schemes text vector ]; - description = "EDN parsing and encoding"; + description = "Base functor for EDN AST"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "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,29 @@ self: { pname = "hsc2hs"; version = "0.68.4"; sha256 = "07qzyr1j76gxrrsds65vivm5cx33paxpifvxdlmkxprrm3s4z7z6"; - revision = "1"; - editedCabalFile = "1wab9n4wy3bffxly0b0v1ppzf6sfn6aqc8pi1r8jnwb4rzy94c3i"; + revision = "2"; + editedCabalFile = "178jimc9qwrjmiiz8f0kk7gv2jaf51vv1n40rp42ggmi8mvf0m4v"; + 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; + }) {}; + + "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; @@ -114183,6 +122296,8 @@ 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; }) {}; "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,35 +124140,8 @@ self: { }: mkDerivation { pname = "hspec-core"; - version = "2.6.1"; - sha256 = "0xg43kan7p6ahi5827qwcyiic6bq0bp8n0n8h3j4kh87qhdl4avv"; - 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; - }) {}; - - "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"; + version = "2.7.1"; + sha256 = "08vk8588lap00hsln8zl64dazbb28lzk4b4h5vnm7xvhg7r21k1c"; libraryHaskellDepends = [ ansi-terminal array base call-stack clock deepseq directory filepath hspec-expectations HUnit QuickCheck quickcheck-io random @@ -115966,7 +124157,6 @@ self: { 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 @@ -115992,27 +124182,8 @@ self: { }: mkDerivation { pname = "hspec-discover"; - version = "2.6.1"; - sha256 = "189gj8drfzdf3j3xm8gbj9hjc1ha95ajhi47s9r440yjhyarlmlx"; - 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; - }) {}; - - "hspec-discover_2_7_0" = callPackage - ({ mkDerivation, base, directory, filepath, hspec-meta, QuickCheck - }: - mkDerivation { - pname = "hspec-discover"; - version = "2.7.0"; - sha256 = "1n3by0dn3x3kfy7vnyfdz0dr2wwwj82m0ijlm9s1n6aa976xddhw"; + version = "2.7.1"; + sha256 = "0r47fm94wa6qrhp8cc1zzkjrxc32rnagfn9m9ga4dm6p6ydw4c8b"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base directory filepath ]; @@ -116023,7 +124194,6 @@ self: { testToolDepends = [ hspec-meta ]; description = "Automatically discover and run Hspec tests"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hspec-expectations" = callPackage @@ -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,39 +126388,8 @@ self: { }: mkDerivation { pname = "http-client"; - version = "0.5.14"; - sha256 = "0irnvrxlsr9f7ybvzbpv24zbq3lhxjzh6bavjnl527020jbl0l4f"; - revision = "1"; - editedCabalFile = "0xw5ac4cvcd4hcwl7j12adi7sgffjryqhk0x992k3qs1cxyv5028"; - 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; - }) {}; - - "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"; + version = "0.6.4"; + sha256 = "1n9rnbp8lwkd4whi2anniywi4y1bn9kx6nzfigfvz28d7pn7i4in"; libraryHaskellDepends = [ array base blaze-builder bytestring case-insensitive containers cookie deepseq exceptions filepath ghc-prim http-types memory @@ -118151,7 +126404,6 @@ self: { doCheck = false; description = "An HTTP client engine"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "http-client-auth" = callPackage @@ -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,23 +127867,11 @@ self: { ({ mkDerivation, base, dejafu, exceptions, HUnit }: mkDerivation { pname = "hunit-dejafu"; - version = "1.2.1.0"; - sha256 = "075xx6rz1bxyj00plkrfz04wfq1rim8nkn43xj0d7js86qhvqyrc"; - 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"; + 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; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hunit-gui" = callPackage @@ -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,97 +128631,117 @@ 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 + , 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 = "0.9.0.1"; - sha256 = "00prvi3jrb02g92vq1ghyxpdpqangj482x1k3l13s385804grgqw"; + version = "1.0.0.2"; + sha256 = "0lb38kfxhamvdhp6z3aw4as57nc6jxf6wj7nr3lmiry6h2gx15js"; + revision = "1"; + editedCabalFile = "1laxwrcjdjrpym4gghnqa39xvdvbxsp2sbpzcc703ac3kj7v2b6h"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - ansi-wl-pprint array attoparsec base bytestring containers dlist + ansi-wl-pprint array attoparsec base bits-extra bytestring dlist hw-balancedparens hw-bits hw-mquery hw-parser hw-prim hw-rankselect - hw-rankselect-base mmap text vector word8 + hw-rankselect-base hw-simd mmap text vector word8 ]; executableHaskellDepends = [ - base bytestring criterion dlist hw-balancedparens hw-bits 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 = [ - attoparsec base bytestring containers hspec hw-balancedparens - hw-bits hw-prim hw-rankselect hw-rankselect-base mmap vector + attoparsec base bytestring hedgehog hspec hw-balancedparens hw-bits + hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base + transformers vector ]; + testToolDepends = [ hspec-discover ]; benchmarkHaskellDepends = [ - base bytestring criterion directory hw-balancedparens hw-bits - hw-prim hw-rankselect hw-rankselect-base mmap vector + base bytestring criterion directory mmap ]; description = "Memory efficient JSON parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "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 - , hw-hspec-hedgehog, hw-json-simd, hw-mquery, hw-parser, hw-prim + "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, text, transformers, vector, word8 + , optparse-applicative, scientific, text, transformers, vector + , word8 }: mkDerivation { pname = "hw-json"; - version = "1.0.0.1"; - sha256 = "1svynix1vilp6w5azm0nlkx3b92m5x8plnj8jnw4k6ybr4mdw32b"; + version = "1.3.0.1"; + sha256 = "10m4f4jv3wb4n4na1d1a26s81n7clxgmj2745xs9yrax1wvqnjg0"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - ansi-wl-pprint array attoparsec base bits-extra bytestring dlist - hw-balancedparens hw-bits hw-mquery hw-parser hw-prim hw-rankselect + 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 hw-balancedparens hw-json-simd hw-mquery - hw-prim hw-rankselect hw-rankselect-base lens mmap - optparse-applicative vector + 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 = [ - attoparsec base bytestring hedgehog hspec hw-balancedparens hw-bits - hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base - transformers vector + 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 mmap + 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 = [ @@ -120354,107 +128931,129 @@ self: { "hw-mquery" = callPackage ({ mkDerivation, ansi-wl-pprint, base, dlist, hedgehog, hspec - , hspec-discover, hw-hspec-hedgehog, lens, QuickCheck, semigroups + , hspec-discover, hw-hspec-hedgehog, lens, semigroups }: mkDerivation { pname = "hw-mquery"; - version = "0.1.0.3"; - sha256 = "0i020vl1f2nkk80rd1fmx9ilkrzyggp01ka3bz9n0365mcq5g3s5"; + version = "0.2.0.1"; + sha256 = "04jkhnljyirbjg1b693bacfnaa3i854rg1dgy3mifr7sbmk0xgnn"; + revision = "1"; + editedCabalFile = "0n6zicz4cdr9z7lzlagj8gamj9gnv3nhvjz7srw4wg1cnagimi0s"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ ansi-wl-pprint base dlist lens semigroups ]; - executableHaskellDepends = [ - ansi-wl-pprint base dlist lens semigroups - ]; + executableHaskellDepends = [ base ]; testHaskellDepends = [ - ansi-wl-pprint base dlist hedgehog hspec hw-hspec-hedgehog lens - QuickCheck semigroups + base dlist hedgehog hspec hw-hspec-hedgehog lens ]; 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 + "hw-packed-vector" = callPackage + ({ mkDerivation, base, bytestring, criterion, deepseq, directory + , hedgehog, hspec, hspec-discover, hw-bits, hw-hedgehog + , hw-hspec-hedgehog, hw-prim, vector }: mkDerivation { - pname = "hw-mquery"; - version = "0.2.0.1"; - sha256 = "04jkhnljyirbjg1b693bacfnaa3i854rg1dgy3mifr7sbmk0xgnn"; - isLibrary = true; - isExecutable = true; + pname = "hw-packed-vector"; + version = "0.0.0.3"; + sha256 = "1l021x4sya6fmdhz6nsqh4nvvc3bbb29y30ari0qvn5789nwxzv3"; libraryHaskellDepends = [ - ansi-wl-pprint base dlist lens semigroups + base bytestring deepseq hw-bits hw-prim vector ]; - executableHaskellDepends = [ base ]; testHaskellDepends = [ - base dlist hedgehog hspec hw-hspec-hedgehog lens + base bytestring hedgehog hspec hw-bits hw-hedgehog + hw-hspec-hedgehog hw-prim vector ]; testToolDepends = [ hspec-discover ]; - description = "Monadic query DSL"; + 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" = callPackage - ({ mkDerivation, base, bytestring, hspec, hw-bits, hw-int, hw-prim - , hw-string-parse, QuickCheck, safe, vector + "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.0.0.1"; - sha256 = "0ca9073b79ifh5rhif6ph6fqq5aad0pk1djbka46xk93rf00m65n"; + version = "0.2.0.0"; + sha256 = "1nspd5hwn32fjgxmg08bq8hmyxzh61gc72zgd24mcpy94kzq58xd"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ - base bytestring hw-bits hw-int hw-prim hw-string-parse safe vector + 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 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-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,20 +129096,59 @@ 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 + ]; + 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 + 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 = [ + 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 streaming-bytestring - streaming-with streamly text time timerep tls transformers-base - uri-bytestring xml xml-conduit xml-types + refined relude rss-conduit safe-exceptions stm stm-chans + streaming-bytestring streaming-with text time typed-process + 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; + 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,30 +134180,33 @@ self: { description = "DO NOT USE THIS. interpolatedstring-qq works now."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "interpolation" = callPackage - ({ mkDerivation, array, base, containers, QuickCheck, utility-ht }: + "interpolatedstring-qq2" = callPackage + ({ mkDerivation, base, bytestring, haskell-src-meta, HUnit + , template-haskell, text + }: mkDerivation { - pname = "interpolation"; - version = "0.1.0.3"; - sha256 = "0j9hdzi59lqq92773f8h17awrm9ghr45k876qc7krq87pgbr95z2"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ base utility-ht ]; + pname = "interpolatedstring-qq2"; + version = "0.1.0.0"; + sha256 = "0d7xq1pdrhfl1vfl1axhzpv04hbc9yhvfagisrfq42hj6mbh8djx"; + libraryHaskellDepends = [ + base bytestring haskell-src-meta template-haskell text + ]; testHaskellDepends = [ - array base containers QuickCheck utility-ht + base bytestring haskell-src-meta HUnit template-haskell text ]; - description = "piecewise linear and cubic Hermite interpolation"; + description = "QuasiQuoter for multi-line interpolated strings"; license = stdenv.lib.licenses.bsd3; }) {}; - "interpolation_0_1_1" = callPackage + "interpolation" = callPackage ({ mkDerivation, array, base, containers, QuickCheck, utility-ht }: mkDerivation { pname = "interpolation"; - version = "0.1.1"; - sha256 = "0rpzilzcld0xwcfz9pkhq9sx9qd8ysz9yy3znpdslk4ia8i507y7"; + version = "0.1.1.1"; + sha256 = "081xlf59xp0j1svigkqfcz5an3yl3p8f5402i6492hz9rpv5qwy5"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base utility-ht ]; @@ -125224,7 +134215,6 @@ self: { ]; description = "piecewise linear and cubic Hermite interpolation"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "interpolator" = callPackage @@ -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,45 +139535,8 @@ self: { }: mkDerivation { pname = "katip"; - version = "0.7.0.0"; - sha256 = "1z4533952sal5ma71xpsrwbi9pniy1cciw20w31igrx9rw9kx98b"; - revision = "1"; - editedCabalFile = "1lzla1iv5ll9iks5xh8399vs2mjxb33pbdg115kqbq9r5z3h84qp"; - 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; - }) {}; - - "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"; + 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 @@ -130325,7 +139556,6 @@ self: { ]; description = "A structured logging framework"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "katip-datadog" = callPackage @@ -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; }) {}; - "leancheck" = callPackage - ({ mkDerivation, base, template-haskell }: + "lean" = callPackage + ({ mkDerivation, base, base-unicode-symbols, text-utf8 + , transformers, util + }: mkDerivation { - pname = "leancheck"; - version = "0.8.0"; - sha256 = "1lblxlg881asqgbdv6sivzxryis7cgkpclgyyks598ii06vd0z1s"; - libraryHaskellDepends = [ base template-haskell ]; - testHaskellDepends = [ base ]; - description = "Enumerative property-based testing"; + 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_0_9_1" = callPackage + "leancheck" = 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,74 +155066,68 @@ 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; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "megaparsec_6_5_0" = callPackage + "megaparsec" = callPackage ({ mkDerivation, base, bytestring, case-insensitive, containers - , criterion, deepseq, hspec, hspec-discover, hspec-expectations - , mtl, parser-combinators, QuickCheck, scientific, text + , criterion, deepseq, mtl, parser-combinators, scientific, text , transformers, weigh }: mkDerivation { pname = "megaparsec"; - version = "6.5.0"; - sha256 = "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"; - revision = "4"; - editedCabalFile = "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1"; + version = "7.0.5"; + sha256 = "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"; 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 + benchmarkHaskellDepends = [ + base containers criterion deepseq text weigh ]; - testToolDepends = [ hspec-discover ]; - benchmarkHaskellDepends = [ base criterion deepseq text weigh ]; description = "Monadic parser combinators"; license = stdenv.lib.licenses.bsd2; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; - "megaparsec" = callPackage + "megaparsec-tests" = callPackage ({ mkDerivation, base, bytestring, case-insensitive, containers - , criterion, deepseq, hspec, hspec-expectations, mtl - , parser-combinators, QuickCheck, scientific, text, transformers - , weigh + , hspec, hspec-discover, hspec-expectations, hspec-megaparsec + , megaparsec, mtl, parser-combinators, QuickCheck, scientific, text + , transformers }: mkDerivation { - pname = "megaparsec"; - version = "7.0.4"; - sha256 = "1hg83m85f4v78mqdkznd1ddk9y32hnrv0bgva7ir3vydx37aanrj"; + pname = "megaparsec-tests"; + version = "7.0.5"; + sha256 = "11kwf122bq38qvkpvhb1pkqzbv7yk9wi7klmg9yvls29x66shiyq"; + revision = "1"; + editedCabalFile = "1mayv955ipg94hbsix3dvpp1c2aay860h9zpg38qjmfiaks4zpjj"; libraryHaskellDepends = [ - base bytestring case-insensitive containers deepseq mtl - parser-combinators scientific text transformers + base bytestring containers hspec hspec-expectations + hspec-megaparsec megaparsec mtl QuickCheck 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 + hspec-expectations hspec-megaparsec megaparsec mtl + parser-combinators QuickCheck scientific text transformers ]; - description = "Monadic parser combinators"; + testToolDepends = [ hspec-discover ]; + description = "Test utilities and the test suite of Megaparsec"; license = stdenv.lib.licenses.bsd2; }) {}; @@ -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,41 +157807,24 @@ 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"; - 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; - }) {}; - - "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"; + 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 ]; description = "Alternative Prelude with numeric and logic expressions typed bottom-up"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "mixpanel-client" = callPackage @@ -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, base, bytestring, directory, doctest, hspec + , hspec-discover, HUnit, unix }: mkDerivation { pname = "network"; - version = "2.8.0.0"; - sha256 = "00skcish0xmm67ax999nv1nll9rm3gqmn92099iczd73nxl55468"; + 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_0" = callPackage + "network_3_0_1_1" = callPackage ({ mkDerivation, base, bytestring, deepseq, directory, hspec - , hspec-discover, HUnit, unix + , hspec-discover, HUnit }: mkDerivation { pname = "network"; - version = "3.0.1.0"; - sha256 = "1dk1dabj779sppjl8vbi4kw8l5da5yfc7x5yn0mjy9zrzlfwqq3l"; - libraryHaskellDepends = [ base bytestring deepseq unix ]; + 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; + }) {}; + + "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 = "notifications-tray-icon"; + version = "0.1.0.0"; + sha256 = "0w047kwqccwkcykmryn3dmf3kkpjkcffz0slsmyf52va604kk7x4"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + 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, mtl, notmuch - , profunctors, tagged, talloc, text, time + ({ mkDerivation, base, bytestring, c2hs, deepseq, filepath, mtl + , notmuch, profunctors, tagged, talloc, text, time }: mkDerivation { pname = "notmuch"; - version = "0.2.0.0"; - sha256 = "1w3g4747q02m0r0n8l5bkfp8icwwnvkp4bf9amkh7h80vidzmspy"; + version = "0.3.0.0"; + sha256 = "0f4sq7wajxr9d614gyw727g2zbsbfbaw4spni1hgs9c9rllxrmsn"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base bytestring deepseq mtl profunctors tagged text time + 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 = "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 = "Optimal ate pairing over Barreto-Naehrig curves"; + 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 - }: - 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 + , 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.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"; - 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"; + version = "0.5.1.1"; + sha256 = "1n0nr7yprkg9ca86yd1w8d42zqjjdf6k7bbk818kfwbh72csxl0q"; 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 + ]; + 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 = "A system that automatically visualize mathematics"; + 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,13 +177807,42 @@ 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 + transformers unliftio-core + ]; + description = "Backend for the persistent library using MySQL database server"; + 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 @@ -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,17 +177933,47 @@ 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 + resourcet text time transformers unliftio-core + ]; + description = "Backend for the persistent library using postgresql"; + license = stdenv.lib.licenses.mit; + 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 ]; }) {}; @@ -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,31 @@ 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 + ]; + 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; + }) {}; + + "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 ]; @@ -166968,6 +179700,7 @@ self: { ]; description = "Compositional pipelines"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "pipes-aeson" = callPackage @@ -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 + 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 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 text time transformers transformers-base + transformers-compat unordered-containers utf8-string vector ]; + libraryToolDepends = [ happy ]; executableHaskellDepends = [ - aeson aeson-better-errors ansi-terminal ansi-wl-pprint base + 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 gitrev Glob haskeline http-types - language-javascript lifted-base microlens-platform monad-control - monad-logger mtl network optparse-applicative parallel parsec + 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 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 - 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 + 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 - ]; - 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 + base bytestring cryptohash-sha256 deepseq directory extra filepath + hashable shake time transformers unordered-containers ]; - 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 ]; - executableHaskellDepends = [ - base containers filepath foldl optparse-applicative protolude text + libraryHaskellDepends = [ + base containers pandoc pandoc-types protolude text ]; - testHaskellDepends = [ - base HUnit protolude tasty tasty-hunit text + executableHaskellDepends = [ + base optparse-generic pandoc protolude ]; - 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,18 +194595,37 @@ 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 @@ -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"; - 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 + version = "0.3.0.1"; + sha256 = "1dka9hqh48nib7y0rz4bxr6d3iqavzw0163q64xwcjxaib293kks"; + libraryHaskellDepends = [ + 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 = "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 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 + 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 = stdenv.lib.licenses.mit; + 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,30 +198663,71 @@ 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 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; + }) {}; + + "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 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; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "rio-orphans" = callPackage @@ -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,29 @@ 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 + distributive hashable tagged template-haskell transformers + transformers-compat unordered-containers + ]; + testHaskellDepends = [ base doctest ]; + description = "Semigroupoids: Category sans id"; + 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 @@ -189917,6 +204672,7 @@ self: { testHaskellDepends = [ base doctest ]; description = "Semigroupoids: Category sans id"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "semigroupoids-syntax" = callPackage @@ -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,9 +204703,23 @@ 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 @@ -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 - }: - mkDerivation { - pname = "semirings"; - version = "0.2.1.1"; - sha256 = "0s28qq6fk2zqzz6y76fa1ddrrmpax99mlkxhz89mw15hx04mnsjp"; - libraryHaskellDepends = [ - base containers hashable integer-gmp unordered-containers vector - ]; - 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 + , unordered-containers }: mkDerivation { pname = "semirings"; - version = "0.3.1.1"; - sha256 = "050vs4dn20llsj1nkf6jyni8798vj2bdxfp6d5icdr6xm2hlpkn4"; + 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; - 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 - 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 + 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 + 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 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 ]; - description = "Tool for scaffolding completely configured production Haskell projects"; + 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,40 @@ 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 + ]; + 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_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 @@ -207197,6 +223278,7 @@ self: { 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,32 +226521,14 @@ self: { }: mkDerivation { pname = "tasty"; - version = "1.2"; - sha256 = "05w3bl5kah238pds818sxp9x58rp1nszbiicb1l21hf9k83mw66n"; - 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; - }) {}; - - "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"; + version = "1.2.3"; + sha256 = "0qpn0avpw4w1qq5r2gwh2piipj0llqq6ylagr3xnqiraq6mhg8cc"; 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 @@ -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,29 +226567,18 @@ 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"; - 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"; + 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; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "tasty-discover" = callPackage @@ -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 + , http-media, http-types, quantification, text + , unordered-containers }: mkDerivation { pname = "trasa"; - version = "0.3"; - sha256 = "0v1srhmzwc8vdkwwpik91bvrq73driryl0lyazx7zvpvmqhxkmi6"; + version = "0.4.1"; + sha256 = "0nnr72h6ylx52ni6l7r0nnv02d540agzfhyjfjrxywbx7xz70q5c"; libraryHaskellDepends = [ - base binary bytestring hashable http-media http-types text - unordered-containers vinyl - ]; - testHaskellDepends = [ - base bytestring doctest tasty tasty-hunit tasty-quickcheck text - vinyl + base binary bytestring hashable http-media http-types + quantification text unordered-containers ]; + testHaskellDepends = [ base doctest ]; description = "Type Safe Web Routing"; - license = stdenv.lib.licenses.bsd3; + license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "trasa-client" = callPackage - ({ mkDerivation, aeson, base, binary, bytestring, case-insensitive - , containers, http-client, http-media, http-types, ip, text, trasa - , unordered-containers + ({ 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,6 +244374,7 @@ self: { description = "Interpreter for microcomputer-era BASIC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vinyl" = callPackage @@ -226807,8 +244385,8 @@ self: { }: mkDerivation { pname = "vinyl"; - version = "0.10.0.1"; - sha256 = "1x2x40cgyhj3yzw4kajssjvlnwlcrrnz7vaa8as2k9xmv9x76ig4"; + version = "0.11.0"; + sha256 = "0sqa4x8cwg6hdx3lrnq9pbggsh5vv6rhng2az4grl60c4kw6zr08"; libraryHaskellDepends = [ array base ghc-prim ]; testHaskellDepends = [ aeson base doctest hspec lens lens-aeson microlens mtl @@ -226819,29 +244397,27 @@ self: { ]; description = "Extensible Records"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "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 - , unordered-containers, vector + "vinyl-generics" = callPackage + ({ mkDerivation, aeson, base, generics-sop, hspec, hspec-core + , QuickCheck, records-sop, text, vinyl }: mkDerivation { - pname = "vinyl"; - version = "0.11.0"; - sha256 = "0sqa4x8cwg6hdx3lrnq9pbggsh5vv6rhng2az4grl60c4kw6zr08"; - libraryHaskellDepends = [ array base ghc-prim ]; + pname = "vinyl-generics"; + version = "0.1.0.0"; + sha256 = "1rxv1wgckq5a3c65lvniizmv5f55gbnngxx76wa93h8lgrhf6ac0"; + libraryHaskellDepends = [ base generics-sop records-sop vinyl ]; 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 + aeson base generics-sop hspec hspec-core QuickCheck records-sop + text vinyl ]; - description = "Extensible Records"; - license = stdenv.lib.licenses.mit; + 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,33 +247045,67 @@ 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 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 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; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "warp-dynamic" = callPackage @@ -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 { - pname = "yam-datasource"; - version = "0.5.11"; - sha256 = "170xpd1kw403g9zds795zbxkaz0qy7lfgzppx4q0ri42ky59z8pl"; - 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-datasource_0_5_13" = 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.13"; - sha256 = "0vbw575g7qdha9siiyrnv3kpjw6ysz09m4qady90s9j75ymzdgnm"; + 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-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,36 +254618,8 @@ self: { }: mkDerivation { pname = "yesod-auth"; - version = "1.6.5"; - sha256 = "1crpqcx8zynwmas4ja5yv1jg4xvcv0hw7h11d5m8vld4fcs9dpdr"; - 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; - }) {}; - - "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"; + version = "1.6.7"; + sha256 = "0p9c26ic45bmsjvfb7kam87ja2vbd4m7qm27znvfrn9wvijhjzp9"; libraryHaskellDepends = [ aeson authenticate base base16-bytestring base64-bytestring binary blaze-builder blaze-html blaze-markup bytestring conduit @@ -236608,7 +254631,6 @@ self: { ]; description = "Authentication for Yesod"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "yesod-auth-account" = callPackage @@ -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,62 +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 - }: - mkDerivation { - pname = "yesod-core"; - version = "1.6.11"; - sha256 = "1cpl8g2sdvv751vvs68169w9nki43h6rmj2i2wqkfzijwgd8djwr"; - 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; - }) {}; - - "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 + , 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.12"; - sha256 = "1zyvjbphzkhch4wv8lj019dd3jnyicdj514fhy1ggwqkff3kyblj"; + 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 @@ -237212,7 +255219,6 @@ self: { ]; description = "Creation of type-safe, RESTful web applications"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "yesod-crud" = callPackage @@ -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 9f18db1e6e95289d7d760d9e41bbef198bd0051d..aebab7b6f040eb51a2b16db4c9bb28a405947d8f 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 b4cd7fee311b2bffe28eeacccbd46d1943a110e7..a4c040673487e1a53b41e55a9f9e5a84d970c057 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 b7b057f2dc202d44189ef62726fb3852b5a5fdb1..8b667a1e66931abe6505b68ad8ea338b2651bc6f 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 712bd53092f9b7534450aecb6c1f611084d4311b..0000000000000000000000000000000000000000 --- 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 e5ad00ee009fab31737796b5ca0f94bd9c28570c..0000000000000000000000000000000000000000 --- 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 b715140be0a534102504cc3540eee18f4d643838..0000000000000000000000000000000000000000 --- 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 ede2bce125705462b0f3e8f8a90bcd96f6a64d6c..0000000000000000000000000000000000000000 --- 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 ebfca8a2f65578a25d1142a1ddb80dc7487882f6..0000000000000000000000000000000000000000 --- 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 e72bb793da735ffb4ebe991e7659ae02a4b5510f..0000000000000000000000000000000000000000 --- 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 86cac15c2464ff4ab513bd2f6e863592dd3fd259..0000000000000000000000000000000000000000 --- 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 1e9ac5aa66a432a817d417d95a2236d7f825455b..0000000000000000000000000000000000000000 --- 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 9b7b7cfb8f966913efd5add83eda898fa507e841..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..ebadd215cb761a83130250c6fed69f797267da6e --- /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 0000000000000000000000000000000000000000..4b4f370b17f224d38f9c40f8669611b31fad9648 --- /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 3917c2f0afd72187337cc74033ae40fffe3da636..0000000000000000000000000000000000000000 --- 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 d942662294c21de4d592f4b023394931ad234ae1..44c184a5624ac77cafbe625c02f00ec69c8556df 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 5e1288685a7ea6f8f8c02b49da19afb403fceae5..ac0555636be0b104ba72e6edbc7ec33ea3251b40 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 535f549a5ebeda139e4798a130a67743ac703f0c..882058bb1856f8e3a2eeb4013156353213966c95 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 f395bcd95d7c5db39d856845fe74b7e873073cca..4e1d2f9c82ebc49307d10399838b5498006443c4 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 b0306040d730b55fa1b9b2dc51c8e3037cda5a03..e4a1fbae562c05cdb355f477eb904a3948a998cf 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 8aa413b51c315cc57f6d30b945ee629d821b8092..650d843be84316319a8fd1faae86fa84ad937733 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 cc88b32119e75c020422e295940a1bd04b054055..d53337aca1ad01f9a9b6b2a032816e6239e4f384 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 85794b09ae0b8d13e5d2bf115312c16bbbdc9992..744106bce5d058cbefa2fadc2df4a79996ca537e 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 b597ba6fe7892f0cf335cebb52af92c2cb69d203..918c577356cd8359ed51f30a964d3497b3d88163 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 f850a9f57b8080b67566084165db1c68f6474f84..5dcfa42c92fc8140151181d13b78675ddb8bf948 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 57ced325aad0969b41348a704983988b93d52124..369d84708dc4f49e760f831b8fa5366a8ce36b01 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 6018d92bbcab21f510e78f07413e2af4ff2c4f7f..b5a7c2b467ef0377964d6644b02fc7b474db1b77 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 bc2d0e5be5a8c85f2612d0dd0fe09c88018df19a..ab8e616ac6d5fc1c58766f4d82435f783aa2384d 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 fa8996f0fb56788ac50e04033a28717fd7b135bd..02ac6bfbcde7309db60da99e8eaa19c6ef1966f6 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 f3b253bfd22015c71691b31e54e3af18609c44b9..f968e04bbe99a7e1c60a8a369a59d72ae3227a89 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 258aebe81727dd4f7edaf4e4aee779e0f36bfa2f..7c7cd9abb7e98714f1f37da9bad0c8ef379e84bf 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 9ddd9062acd9d86918153381fa1e464f648d9a0b..0000000000000000000000000000000000000000 --- 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 40136fd22de85a6b86336601b74518b373e6ba9e..e240e1907e06133de3f64688d12289b2e2381415 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 0000000000000000000000000000000000000000..41601eeaa1183f37c8f6fe33885a4c2551961fbf --- /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 844d6eeb4fb9d6fdb839bd45bf4a510ea7929040..b7e98af21097f2ae953ada223e72d98a403bd99c 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 714924514edb7ea94ca4f001f08fe07ee553f762..c263551de2dae5ad1bb7da54e164a207a9ddf659 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 e0d4ecbc95ac9fa8e6bdc4cbe48f7749440b9064..25a3f662565cc46ce9d7ac9ea1f19532eeeafca6 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 c408d21d9b318d9a5b2d0c3f2807abdc7628fbb7..016e175d6b56906ff3c84ea14e67e8005365661d 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 28166dfc0b0a4951793a78706a1e699e8a5882f7..e21bf6dafbff59613b3315981eb88295d3b3a2bf 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 0000000000000000000000000000000000000000..a8c05513c5a6fe2a70ebc5c9a73cf9837368e9d3 --- /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 bc0b728ecce4b0c6be4b83d2b12892b444a9b7e3..3f1c21cc88199a71ce2dcdee06f4fcaa3fe4b105 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 0000000000000000000000000000000000000000..54ee243cb33e9a166ab0be3f01c681950c07809c --- /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 857a1e5cd8df456bf14c398a1c98574ec40e6a3e..744a0f76ff09212dcdd13a273ee3d0675c253654 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 5481c4e7d05af636a9f0d794366aa7cadc4a5a8a..71542046af91bcc6822c8db63870ec21a22ae952 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 f60e5d2861404428748317285dc86e89acd93e4d..7f15c2b31845e3fa6915cdc366d31766d9796976 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 dc04e72c7411ca9310f66a85b01e4dac9859ee26..bdd138418969cbab439d8e0fedbca96bfe515818 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 fd270dedefcc1e52cc26a4c6fbdd7ed14f1ce65a..158987d4e0efc5a838cddafdf633b0b6748bf228 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 433271d9c85e07b3ead15991f2f6480fa37c0609..24266d59676506d34379b7de0941b9a0ff75bad5 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 1943b10bdcafe0c58ff99c3f845c428131c55cea..fce94ecc846f45769fadbd2063853dccdfa65082 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 0000000000000000000000000000000000000000..8b9b853fb00dbb31ea59f55af7e5299ac96fc271 --- /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 02ce07bdf471961b161cc19f5449a6f4b5dfcd10..a6acd603c8154b030353c0dcadad302762fa3d05 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 3bec73ea0369a0013e4247ec9ff7e053cefe141e..0d3fe100329cc66cb531c2db02ff4a9e41ec5596 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 11feb1170c2ce79de526abfcccd7411430841876..791ac6dd3381da5369157fb566391a2efd69a4e3 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 0000000000000000000000000000000000000000..197127d8b6d4de563066dd770959bf9c5cf3e418 --- /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 704e3eb4031a5031e6a7ac854dbaa9837f35af06..91b4c0b9a9e62cd6e6a9530cd42b63995aac66f7 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 21a7cfba4064a325bf99d7fb89c28868dbe5fa83..4ab9427934d74e9327bb7b2d0e41584bf82d90cf 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 cfefa8c95dc52fb9b0a75fcdfe9c6470bbef8b73..6c4a9f20fa3eca116501b4055b2573379cf21c64 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 e7bcef7bc3e0ec5971e3b39727bb1cb909dc793f..0e1734565f2fb0fcc852417fc75d502c3b373dde 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 03c836d9251a075316504f8f79cea468b3bcc301..a9922a3876575c0f4d5e0eae8f4d454334f5e5f1 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 284773fe660fdf2573e62c1aa664641ab2ac625e..3ef239e89a9a1b9fdb3dd46e10ceedb0eb305884 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 0000000000000000000000000000000000000000..0b6778f6a90bae9dbf9c72b9511b57d7f2384d99 --- /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 884225b6483ea7656a70c9a48a47bf515cfbc0f5..7f39259c298e75611724041a08ff48118363a474 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 b2948b392d5e2742faf7900ea512616e7ac7a417..0000000000000000000000000000000000000000 --- 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 e89a2cbece6d10230acc15ae83926b5c389f45de..0000000000000000000000000000000000000000 --- 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 + -- 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 = { - ${deps_dirs} + ${lib.concatStringsSep "\n, " externalDepsDirs} } - rocks_trees = { + 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 7aa41e95cc9b7368f54ca941466bad9a07d72cf4..0ac1fa30e2f8b30c518dc84c3791dcece331a32b 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 0000000000000000000000000000000000000000..fb0021cb709a47a3f196b6d95951423245693c2f --- /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" <