From d3b0f178ef74b3d69c48c72d7d03509b06746a2a Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 14 Dec 2018 04:50:21 +0100 Subject: [PATCH 001/125] crosvm: init at 77.12371.0.0-rc1 Co-Authored-By: hyperfekt --- .../crosvm/default-seccomp-policy-dir.patch | 15 ++++ .../virtualization/crosvm/default.nix | 83 ++++++++++++++++++ .../virtualization/crosvm/update.py | 85 +++++++++++++++++++ .../virtualization/crosvm/upstream-info.json | 19 +++++ pkgs/top-level/all-packages.nix | 2 + 5 files changed, 204 insertions(+) create mode 100644 pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.patch create mode 100644 pkgs/applications/virtualization/crosvm/default.nix create mode 100755 pkgs/applications/virtualization/crosvm/update.py create mode 100644 pkgs/applications/virtualization/crosvm/upstream-info.json diff --git a/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.patch b/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.patch new file mode 100644 index 00000000000..46b091b3a35 --- /dev/null +++ b/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.patch @@ -0,0 +1,15 @@ +diff --git a/src/main.rs b/src/main.rs +index 81f20a7..481ebd7 100644 +--- a/src/main.rs ++++ b/src/main.rs +@@ -158,7 +158,9 @@ impl Default for Config { + wayland_dmabuf: false, + shared_dirs: Vec::new(), + sandbox: !cfg!(feature = "default-no-sandbox"), +- seccomp_policy_dir: PathBuf::from(SECCOMP_POLICY_DIR), ++ seccomp_policy_dir: PathBuf::from( ++ option_env!("DEFAULT_SECCOMP_POLICY_DIR").unwrap_or(SECCOMP_POLICY_DIR), ++ ), + seccomp_log_failures: false, + cras_audio: false, + cras_capture: false, diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix new file mode 100644 index 00000000000..106b39b0336 --- /dev/null +++ b/pkgs/applications/virtualization/crosvm/default.nix @@ -0,0 +1,83 @@ +{ stdenv, rustPlatform, fetchgit, runCommand, symlinkJoin +, pkgconfig, minijail, dtc, libusb1, libcap +}: + +let + + upstreamInfo = with builtins; fromJSON (readFile ./upstream-info.json); + + arch = with stdenv.hostPlatform; + if isAarch64 then "arm" + else if isx86_64 then "x86_64" + else throw "no seccomp policy files available for host platform"; + + # used to turn symlinks into real files because write permissions are necessary for the vendoring process + delink = src: runCommand "${src.name}-delinked" { + preferLocalBuild = true; + allowSubstitutes = false; + } '' + cp -prL --reflink=auto ${src} $out + ''; + + # used to place subtrees into the location they have in the Chromium monorepo + move = src: target: runCommand "moved-${src.name}" { + preferLocalBuild = true; + allowSubstitutes = false; + } '' + mkdir -p $(dirname $out/${target}) + ln -s ${src} $out/${target} + ''; + + # used to check out subtrees from the Chromium monorepo + chromiumSource = name: subtrees: delink (symlinkJoin { + inherit name; + paths = stdenv.lib.mapAttrsToList ( + location: { url, rev, sha256, fetchSubmodules, ... }: + move (fetchgit { + inherit url rev sha256 fetchSubmodules; + }) location) subtrees; + }); + +in + + rustPlatform.buildRustPackage rec { + pname = "crosvm"; + inherit (upstreamInfo) version; + + src = chromiumSource "${pname}-sources" upstreamInfo.components; + + sourceRoot = "${src.name}/chromiumos/platform/crosvm"; + + patches = [ + ./default-seccomp-policy-dir.patch + ]; + + cargoSha256 = "16cfp79c13ng5jjcrvz00h3cg7cc9ywhjiq02vsm757knn9jgr1v"; + + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ dtc libcap libusb1 minijail ]; + + postPatch = '' + sed -i "s|/usr/share/policy/crosvm/|$out/share/policy/|g" \ + seccomp/*/*.policy + ''; + + preBuild = '' + export DEFAULT_SECCOMP_POLICY_DIR=$out/share/policy + ''; + + postInstall = '' + mkdir -p $out/share/policy/ + cp seccomp/${arch}/* $out/share/policy/ + ''; + + passthru.updateScript = ./update.py; + + meta = with stdenv.lib; { + description = "A secure virtual machine monitor for KVM"; + homepage = "https://chromium.googlesource.com/chromiumos/platform/crosvm/"; + license = licenses.bsd3; + platforms = [ "aarch64-linux" "x86_64-linux" ]; + }; + } diff --git a/pkgs/applications/virtualization/crosvm/update.py b/pkgs/applications/virtualization/crosvm/update.py new file mode 100755 index 00000000000..d00bffce3b8 --- /dev/null +++ b/pkgs/applications/virtualization/crosvm/update.py @@ -0,0 +1,85 @@ +#! /usr/bin/env nix-shell +#! nix-shell -p python3 -p nix-prefetch-git -i python + +import base64 +import csv +import json +import re +import subprocess +import xml.etree.ElementTree as ElementTree +from codecs import iterdecode +from operator import itemgetter +from os.path import dirname, splitext +from urllib.request import urlopen + +# ChromiumOS components required to build crosvm. +components = ['chromiumos/platform/crosvm', 'chromiumos/third_party/adhd'] + +git_root = 'https://chromium.googlesource.com/' +manifest_versions = f'{git_root}chromiumos/manifest-versions' +buildspecs_url = f'{manifest_versions}/+/refs/heads/master/paladin/buildspecs/' + +# CrOS version numbers look like this: +# [.].. +# +# As far as I can tell, branches are where internal Google +# modifications are added to turn Chromium OS into Chrome OS, and +# branch branches are used for fixes for specific devices. So for +# Chromium OS they will always be 0. This is a best guess, and is not +# documented. +with urlopen('https://cros-omahaproxy.appspot.com/all') as resp: + versions = csv.DictReader(iterdecode(resp, 'utf-8')) + stables = filter(lambda v: v['track'] == 'stable-channel', versions) + stable = sorted(stables, key=itemgetter('chrome_version'), reverse=True)[0] + +chrome_major_version = re.match(r'\d+', stable['chrome_version'])[0] +chromeos_tip_build = re.match(r'\d+', stable['chromeos_version'])[0] + +# Find the most recent buildspec for the stable Chrome version and +# Chromium OS build number. Its branch build and branch branch build +# numbers will (almost?) certainly be 0. It will then end with an rc +# number -- presumably these are release candidates, one of which +# becomes the final release. Presumably the one with the highest rc +# number. +with urlopen(f'{buildspecs_url}{chrome_major_version}/?format=TEXT') as resp: + listing = base64.decodebytes(resp.read()).decode('utf-8') + buildspecs = [(line.split('\t', 1)[1]) for line in listing.splitlines()] + buildspecs = [s for s in buildspecs if s.startswith(chromeos_tip_build)] + buildspecs.sort(reverse=True) + buildspec = splitext(buildspecs[0])[0] + +revisions = {} + +# Read the buildspec, and extract the git revisions for each component. +with urlopen(f'{buildspecs_url}{chrome_major_version}/{buildspec}.xml?format=TEXT') as resp: + xml = base64.decodebytes(resp.read()).decode('utf-8') + root = ElementTree.fromstring(xml) + for project in root.findall('project'): + revisions[project.get('name')] = project.get('revision') + +# Initialize the data that will be output from this script. Leave the +# rc number in buildspec so nobody else is subject to the same level +# of confusion I have been. +data = {'version': f'{chrome_major_version}.{buildspec}', 'components': {}} + +# Fill in the 'components' dictionary with the output from +# nix-prefetch-git, which can be passed straight to fetchGit when +# imported by Nix. +for component in components: + argv = ['nix-prefetch-git', + '--url', git_root + component, + '--rev', revisions[component]] + + output = subprocess.check_output(argv) + data['components'][component] = json.loads(output.decode('utf-8')) + +# Find the path to crosvm's default.nix, so the srcs data can be +# written into the same directory. +argv = ['nix-instantiate', '--eval', '--json', '-A', 'crosvm.meta.position'] +position = json.loads(subprocess.check_output(argv).decode('utf-8')) +filename = re.match(r'[^:]*', position)[0] + +# Finally, write the output. +with open(dirname(filename) + '/upstream-info.json', 'w') as out: + json.dump(data, out, indent=2) + out.write('\n') diff --git a/pkgs/applications/virtualization/crosvm/upstream-info.json b/pkgs/applications/virtualization/crosvm/upstream-info.json new file mode 100644 index 00000000000..01921f9460a --- /dev/null +++ b/pkgs/applications/virtualization/crosvm/upstream-info.json @@ -0,0 +1,19 @@ +{ + "version": "77.12371.0.0-rc1", + "components": { + "chromiumos/platform/crosvm": { + "url": "https://chromium.googlesource.com/chromiumos/platform/crosvm", + "rev": "f5285c647acacb4f25ef8cf9334254b976e71686", + "date": "2019-07-25T22:15:48+00:00", + "sha256": "1ccjd540xmpad082w9ri13q78wkg95xxmq38b8ybcrj4f7lsxm6w", + "fetchSubmodules": false + }, + "chromiumos/third_party/adhd": { + "url": "https://chromium.googlesource.com/chromiumos/third_party/adhd", + "rev": "a1c0d93d991daffb042b979ac807bbe9c1f9a3ee", + "date": "2019-07-25T20:38:50-07:00", + "sha256": "11bijqd876adarq96syywn6znfbiflqssgb2j4w032iw2vfnnsyy", + "fetchSubmodules": false + } + } +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 292f3596213..e51c7b9ff56 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1319,6 +1319,8 @@ in crip = callPackage ../applications/audio/crip { }; + crosvm = callPackage ../applications/virtualization/crosvm { }; + crunch = callPackage ../tools/security/crunch { }; crudini = callPackage ../tools/misc/crudini { }; From 59a5ba4cbee8d98438fbb4b5f22b0e359e9057b1 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 2 Nov 2019 14:03:09 +0100 Subject: [PATCH 002/125] minijail: android-9.0.0_r3 -> android-10.0.0-r9 --- pkgs/tools/system/minijail/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/tools/system/minijail/default.nix index 74f0a84716a..af9e06e9d1a 100644 --- a/pkgs/tools/system/minijail/default.nix +++ b/pkgs/tools/system/minijail/default.nix @@ -1,14 +1,13 @@ { stdenv, fetchgit, libcap }: stdenv.mkDerivation rec { - shortname = "minijail"; - name = "${shortname}-${version}"; - version = "android-9.0.0_r3"; + pname = "minijail"; + version = "android-10.0.0_r9"; src = fetchgit { url = "https://android.googlesource.com/platform/external/minijail"; rev = version; - sha256 = "1g1g52s3q61amcnx8cv1332sbixpck1bmjzgsrjiw5ix7chrzkp2"; + sha256 = "0gcfsyim1krrddcklydqfxl8mamaxgail2xl5qp9yclq60km8f22"; }; buildInputs = [ libcap ]; From fe16f7d7f91317e087e96089c2a2b9bfe0ab50d0 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 24 Nov 2019 19:58:19 +0000 Subject: [PATCH 003/125] fetchFromGitiles: init This has the same motivation as fetchFromGitHub/fetchFromGitLab -- it's cheaper to download a tarball of a single revision than it is to download a whole history. I could have gone with domain/group/repo, like fetchFromGitLab, but it would have made implementation more difficult, and this syntax means it's a drop-in replacement for fetchgit, so I decided it wasn't worth it. --- doc/builders/fetchers.xml | 11 +++++++++++ pkgs/build-support/fetchgitiles/default.nix | 10 ++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 23 insertions(+) create mode 100644 pkgs/build-support/fetchgitiles/default.nix diff --git a/doc/builders/fetchers.xml b/doc/builders/fetchers.xml index ff398833491..f07c310dcdf 100644 --- a/doc/builders/fetchers.xml +++ b/doc/builders/fetchers.xml @@ -105,6 +105,17 @@ stdenv.mkDerivation { + + + fetchFromGitiles + + + + This is used with Gitiles repositories. The arguments expected + are similar to fetchgit. + + + fetchFromBitbucket diff --git a/pkgs/build-support/fetchgitiles/default.nix b/pkgs/build-support/fetchgitiles/default.nix new file mode 100644 index 00000000000..827680992d6 --- /dev/null +++ b/pkgs/build-support/fetchgitiles/default.nix @@ -0,0 +1,10 @@ +{ fetchzip, lib }: + +{ url, rev, name ? "source", ... } @ args: + +fetchzip ({ + inherit name; + url = "${url}/+archive/${rev}.tar.gz"; + stripRoot = false; + meta.homepage = url; +} // removeAttrs args [ "url" "rev" ]) // { inherit rev; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1730e1436cc..856b4a85b73 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -358,6 +358,8 @@ in fetchFromGitLab = callPackage ../build-support/fetchgitlab {}; + fetchFromGitiles = callPackage ../build-support/fetchgitiles {}; + fetchFromRepoOrCz = callPackage ../build-support/fetchrepoorcz {}; fetchNuGet = callPackage ../build-support/fetchnuget { }; From a8e63e4f74bfd96ec7a840c6d4d7be098a1ea1d8 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 2 Dec 2019 22:29:40 +0000 Subject: [PATCH 004/125] treewide: fetchgit -> fetchFromGitiles This is only the easy cases -- some fetchgit uses that point to Gitiles instances are in generated code, where the generating code would have to know in advance if it was fetching from Gitiles or not. I don't think this is worth it. --- .../misc/redis-desktop-manager/default.nix | 11 ++++++----- pkgs/development/python-modules/gyp/default.nix | 6 +++--- .../linux/chromium-xorg-conf/default.nix | 4 ++-- pkgs/tools/security/chaps/default.nix | 16 +++++++++------- pkgs/tools/system/minijail/default.nix | 4 ++-- pkgs/tools/system/vboot_reference/default.nix | 6 +++--- 6 files changed, 25 insertions(+), 22 deletions(-) diff --git a/pkgs/applications/misc/redis-desktop-manager/default.nix b/pkgs/applications/misc/redis-desktop-manager/default.nix index 25f9c6ed4c7..71d79b88f44 100644 --- a/pkgs/applications/misc/redis-desktop-manager/default.nix +++ b/pkgs/applications/misc/redis-desktop-manager/default.nix @@ -1,11 +1,11 @@ -{ stdenv, lib, fetchgit, pkgconfig, libssh2 +{ stdenv, lib, fetchFromGitHub, fetchFromGitiles, pkgconfig, libssh2 , qtbase, qtdeclarative, qtgraphicaleffects, qtimageformats, qtquickcontrols , qtsvg, qttools, qtquick1, qtcharts , qmake }: let - breakpad_lss = fetchgit { + breakpad_lss = fetchFromGitiles { url = "https://chromium.googlesource.com/linux-syscall-support"; rev = "08056836f2b4a5747daff75435d10d649bed22f6"; sha256 = "1ryshs2nyxwa0kn3rlbnd5b3fhna9vqm560yviddcfgdm2jyg0hz"; @@ -17,10 +17,11 @@ stdenv.mkDerivation rec { pname = "redis-desktop-manager"; version = "0.9.1"; - src = fetchgit { - url = "https://github.com/uglide/RedisDesktopManager.git"; + src = fetchFromGitHub { + owner = "uglide"; + repo = "RedisDesktopManager"; fetchSubmodules = true; - rev = "refs/tags/${version}"; + rev = version; sha256 = "0yd4i944d4blw8jky0nxl7sfkkj975q4d328rdcbhizwvf6dx81f"; }; diff --git a/pkgs/development/python-modules/gyp/default.nix b/pkgs/development/python-modules/gyp/default.nix index 3cd89a7d0e1..db828eb222d 100644 --- a/pkgs/development/python-modules/gyp/default.nix +++ b/pkgs/development/python-modules/gyp/default.nix @@ -1,6 +1,6 @@ { stdenv , buildPythonPackage -, fetchgit +, fetchFromGitiles , isPy3k }: @@ -9,8 +9,8 @@ buildPythonPackage { version = "2015-06-11"; disabled = isPy3k; - src = fetchgit { - url = "https://chromium.googlesource.com/external/gyp.git"; + src = fetchFromGitiles { + url = "https://chromium.googlesource.com/external/gyp"; rev = "fdc7b812f99e48c00e9a487bd56751bbeae07043"; sha256 = "1imgxsl4mr1662vsj2mlnpvvrbz71yk00w8p85vi5bkgmc6awgiz"; }; diff --git a/pkgs/os-specific/linux/chromium-xorg-conf/default.nix b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix index 58038923890..d9608650ed9 100644 --- a/pkgs/os-specific/linux/chromium-xorg-conf/default.nix +++ b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix @@ -1,6 +1,6 @@ -{fetchgit }: +{ fetchFromGitiles }: -fetchgit { +fetchFromGitiles { name = "chromium-xorg-conf"; url = "https://chromium.googlesource.com/chromiumos/platform/xorg-conf"; rev = "26fb9d57e195c7e467616b35b17e2b5d279c1514"; diff --git a/pkgs/tools/security/chaps/default.nix b/pkgs/tools/security/chaps/default.nix index e81567c3ed8..c8ee9506968 100644 --- a/pkgs/tools/security/chaps/default.nix +++ b/pkgs/tools/security/chaps/default.nix @@ -1,9 +1,10 @@ -{ stdenv, fetchgit, fetchurl, trousers, leveldb, unzip, scons, pkgconfig -, glib, dbus_cplusplus, dbus, protobuf, openssl, snappy, pam }: +{ stdenv, fetchFromGitiles, fetchFromGitHub, fetchurl, trousers, leveldb, unzip +, scons, pkgconfig, glib, dbus_cplusplus, dbus, protobuf, openssl, snappy, pam +}: let - src_chromebase = fetchgit { - url = "https://chromium.googlesource.com/chromium/src/base.git"; + src_chromebase = fetchFromGitiles { + url = "https://chromium.googlesource.com/chromium/src/base"; rev = "2dfe404711e15e24e79799516400c61b2719d7af"; sha256 = "2bd93a3ace4b6767db2c1bd1e16f426c97b8d2133a9cb15f8372b2516cfa65c5"; }; @@ -13,7 +14,7 @@ let sha256 = "0nq98cpnv2jsx2byp4ilam6kydcnziflkc16ikydajmp4mcvpz16"; }; - src_platform2 = fetchgit { + src_platform2 = fetchFromGitiles { url = "https://chromium.googlesource.com/chromiumos/platform2"; rev = "e999e989eaa71c3db7314fc7b4e20829b2b5473b"; sha256 = "15n1bsv6r7cny7arx0hdb223xzzbk7vkxg2r7xajhl4nsj39adjh"; @@ -25,8 +26,9 @@ stdenv.mkDerivation rec { name = "chaps-0.42-6812"; version = "0.42-6812"; - src = fetchgit { - url = "https://github.com/google/chaps-linux"; + src = fetchFromGitHub { + owner = "google"; + repo = "chaps-linux"; rev = "989aadc45cdb216ca35b0c97d13fc691576fa1d7"; sha256 = "0chk6pnn365d5kcz6vfqx1d0383ksk97icc0lzg0vvb0kvyj0ff1"; }; diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/tools/system/minijail/default.nix index 74f0a84716a..3291efa9618 100644 --- a/pkgs/tools/system/minijail/default.nix +++ b/pkgs/tools/system/minijail/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchgit, libcap }: +{ stdenv, fetchFromGitiles, libcap }: stdenv.mkDerivation rec { shortname = "minijail"; name = "${shortname}-${version}"; version = "android-9.0.0_r3"; - src = fetchgit { + src = fetchFromGitiles { url = "https://android.googlesource.com/platform/external/minijail"; rev = version; sha256 = "1g1g52s3q61amcnx8cv1332sbixpck1bmjzgsrjiw5ix7chrzkp2"; diff --git a/pkgs/tools/system/vboot_reference/default.nix b/pkgs/tools/system/vboot_reference/default.nix index 0bf8a7e85dc..bce6d0c4185 100644 --- a/pkgs/tools/system/vboot_reference/default.nix +++ b/pkgs/tools/system/vboot_reference/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, pkgconfig, libuuid, openssl, libyaml, lzma }: +{ stdenv, fetchFromGitiles, pkgconfig, libuuid, openssl, libyaml, lzma }: stdenv.mkDerivation rec { version = "20180311"; @@ -6,8 +6,8 @@ stdenv.mkDerivation rec { pname = "vboot_reference"; - src = fetchgit { - url = https://chromium.googlesource.com/chromiumos/platform/vboot_reference; + src = fetchFromGitiles { + url = "https://chromium.googlesource.com/chromiumos/platform/vboot_reference"; rev = checkout; sha256 = "1zja4ma6flch08h5j2l1hqnxmw2xwylidnddxxd5y2x05dai9ddj"; }; From fa0fe1d8c93463b29649eed0957994e01c33d502 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 2 Dec 2019 16:43:40 +0000 Subject: [PATCH 005/125] minijail: install .pc files and scoped_minijail.h This matches the behaviour of the Chromium OS ebuild for this package: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/cd6d6815b1604105cb6b8c40b2e0c3f15f401e3b/chromeos-base/minijail/minijail-10-r38.ebuild#47 --- pkgs/tools/system/minijail/default.nix | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/tools/system/minijail/default.nix index 74f0a84716a..abf065eb531 100644 --- a/pkgs/tools/system/minijail/default.nix +++ b/pkgs/tools/system/minijail/default.nix @@ -20,13 +20,20 @@ stdenv.mkDerivation rec { sed -i '/#include / d' signal_handler.c ''; + postPatch = '' + patchShebangs platform2_preinstall.sh + ''; + + postBuild = '' + ./platform2_preinstall.sh ${version} $out/include/chromeos + ''; + installPhase = '' - mkdir -p $out/lib + mkdir -p $out/lib/pkgconfig $out/include/chromeos $out/bin cp -v *.so $out/lib - mkdir -p $out/include - cp -v libminijail.h $out/include - mkdir -p $out/bin - cp minijail0 $out/bin + cp -v *.pc $out/lib/pkgconfig + cp -v libminijail.h scoped_minijail.h $out/include/chromeos + cp -v minijail0 $out/bin ''; meta = { From 09f5d77faa3b8a01eed80c49ba3b716dc08fef88 Mon Sep 17 00:00:00 2001 From: gnidorah Date: Fri, 6 Dec 2019 23:43:40 +0300 Subject: [PATCH 006/125] mame: 0.215 -> 0.216 --- pkgs/misc/emulators/mame/default.nix | 39 ++++++++++++++++++-------- pkgs/misc/emulators/mame/emuopts.patch | 29 +++++++++++++++++++ 2 files changed, 56 insertions(+), 12 deletions(-) create mode 100644 pkgs/misc/emulators/mame/emuopts.patch diff --git a/pkgs/misc/emulators/mame/default.nix b/pkgs/misc/emulators/mame/default.nix index 499d7dd6c4a..d98232b1058 100644 --- a/pkgs/misc/emulators/mame/default.nix +++ b/pkgs/misc/emulators/mame/default.nix @@ -1,9 +1,9 @@ -{ stdenv, mkDerivation, fetchFromGitHub, makeDesktopItem +{ stdenv, mkDerivation, fetchFromGitHub, makeDesktopItem, makeWrapper , python, pkgconfig, SDL2, SDL2_ttf, alsaLib, which, qtbase, libXinerama }: let majorVersion = "0"; - minorVersion = "215"; + minorVersion = "216"; desktopItem = makeDesktopItem { name = "MAME"; @@ -12,6 +12,8 @@ let genericName = "MAME is a multi-purpose emulation framework"; categories = "System;Emulator;"; }; + + dest = "$out/opt/mame"; in mkDerivation { pname = "mame"; version = "${majorVersion}.${minorVersion}"; @@ -20,7 +22,7 @@ in mkDerivation { owner = "mamedev"; repo = "mame"; rev = "mame${majorVersion}${minorVersion}"; - sha256 = "1phz846p3zzgzrbfiq2vn79iqar2dbf7iv6wfkrp32sdkkvp7l3h"; + sha256 = "0dmmw08pxxznvadrc51zg27jc9fjh688355w8kxkmi7k8qa367r0"; }; hardeningDisable = [ "fortify" ]; @@ -28,22 +30,35 @@ in mkDerivation { makeFlags = [ "TOOLS=1" ]; + dontWrapQtApps = true; + buildInputs = [ SDL2 SDL2_ttf alsaLib qtbase libXinerama ]; - nativeBuildInputs = [ python pkgconfig which ]; + nativeBuildInputs = [ python pkgconfig which makeWrapper ]; + + # by default MAME assumes that paths with stock resources + # are relative and that you run MAME changing to + # install directory, so we add absolute paths here + patches = [ ./emuopts.patch ]; + + postPatch = '' + substituteInPlace src/emu/emuopts.cpp \ + --subst-var-by mame ${dest} + ''; installPhase = '' - dest=$out/opt/mame - - make -f dist.mak PTR64=${if stdenv.is64bit then "1" else "0"} - mkdir -p $dest - mv build/release/${if stdenv.is64bit then "x64" else "x32"}/Release/mame/* $dest + make -f dist.mak PTR64=${stdenv.lib.optionalString stdenv.is64bit "1"} + mkdir -p ${dest} + mv build/release/*/Release/mame/* ${dest} mkdir -p $out/bin - find $dest -maxdepth 1 -executable -type f -exec mv -t $out/bin {} \; + find ${dest} -maxdepth 1 -executable -type f -exec mv -t $out/bin {} \; + install -Dm755 src/osd/sdl/taputil.sh $out/bin/taputil.sh mkdir -p $out/share/man/man{1,6} - mv $dest/docs/man/*.1 $out/share/man/man1 - mv $dest/docs/man/*.6 $out/share/man/man6 + mv ${dest}/docs/man/*.1 $out/share/man/man1 + mv ${dest}/docs/man/*.6 $out/share/man/man6 + + mv artwork plugins samples ${dest} mkdir -p $out/share ln -s ${desktopItem}/share/applications $out/share diff --git a/pkgs/misc/emulators/mame/emuopts.patch b/pkgs/misc/emulators/mame/emuopts.patch new file mode 100644 index 00000000000..b85291f52f7 --- /dev/null +++ b/pkgs/misc/emulators/mame/emuopts.patch @@ -0,0 +1,29 @@ +diff --git a/src/emu/emuopts.cpp b/src/emu/emuopts.cpp +index c42fcef848..d1bddae060 100644 +--- a/src/emu/emuopts.cpp ++++ b/src/emu/emuopts.cpp +@@ -36,16 +36,16 @@ const options_entry emu_options::s_option_entries[] = + { nullptr, nullptr, OPTION_HEADER, "CORE SEARCH PATH OPTIONS" }, + { OPTION_HOMEPATH, ".", OPTION_STRING, "path to base folder for plugin data (read/write)" }, + { OPTION_MEDIAPATH ";rp;biospath;bp", "roms", OPTION_STRING, "path to ROM sets and hard disk images" }, +- { OPTION_HASHPATH ";hash_directory;hash", "hash", OPTION_STRING, "path to software definition files" }, +- { OPTION_SAMPLEPATH ";sp", "samples", OPTION_STRING, "path to audio sample sets" }, +- { OPTION_ARTPATH, "artwork", OPTION_STRING, "path to artwork files" }, +- { OPTION_CTRLRPATH, "ctrlr", OPTION_STRING, "path to controller definitions" }, +- { OPTION_INIPATH, ".;ini;ini/presets", OPTION_STRING, "path to ini files" }, +- { OPTION_FONTPATH, ".", OPTION_STRING, "path to font files" }, ++ { OPTION_HASHPATH ";hash_directory;hash", "hash;@mame@/hash", OPTION_STRING, "path to software definition files" }, ++ { OPTION_SAMPLEPATH ";sp", "samples;@mame@/samples", OPTION_STRING, "path to audio sample sets" }, ++ { OPTION_ARTPATH, "artwork;@mame@/artwork", OPTION_STRING, "path to artwork files" }, ++ { OPTION_CTRLRPATH, "ctrlr;@mame@/ctrlr", OPTION_STRING, "path to controller definitions" }, ++ { OPTION_INIPATH, ".;ini;ini/presets;@mame@/ini/presets", OPTION_STRING, "path to ini files" }, ++ { OPTION_FONTPATH, ".;@mame@", OPTION_STRING, "path to font files" }, + { OPTION_CHEATPATH, "cheat", OPTION_STRING, "path to cheat files" }, + { OPTION_CROSSHAIRPATH, "crosshair", OPTION_STRING, "path to crosshair files" }, +- { OPTION_PLUGINSPATH, "plugins", OPTION_STRING, "path to plugin files" }, +- { OPTION_LANGUAGEPATH, "language", OPTION_STRING, "path to UI translation files" }, ++ { OPTION_PLUGINSPATH, "plugins;@mame@/plugins", OPTION_STRING, "path to plugin files" }, ++ { OPTION_LANGUAGEPATH, "language;@mame@/language", OPTION_STRING, "path to UI translation files" }, + { OPTION_SWPATH, "software", OPTION_STRING, "path to loose software" }, + + // output directory options From 1e97dbb405282f07f2c46ab108b7ec238f39ceb0 Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Dec 2019 14:35:18 -0800 Subject: [PATCH 007/125] gnomeExtensions.workspace-matrix: Init at 3.0.0 --- .../extensions/workspace-matrix/default.nix | 34 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 35 insertions(+) create mode 100644 pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix diff --git a/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix b/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix new file mode 100644 index 00000000000..ca4b72111c6 --- /dev/null +++ b/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, findutils, glib }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-workspace-matrix"; + version = "3.0.0"; + + src = fetchFromGitHub { + owner = "mzur"; + repo = "gnome-shell-wsmatrix"; + rev = "v${version}"; + sha256 = "1fgyzmd16kklcca7600bwg8w8pbb4klmapqsvmahlwa99vmkhfkn"; + }; + + uuid = "wsmatrix@martin.zurowietz.de"; + + nativeBuildInputs = [ + findutils + glib + ]; + + buildFlags = "schemas"; + + installPhase = '' + mkdir -p $out/share/gnome-shell/extensions + cp -r ${uuid} $out/share/gnome-shell/extensions + ''; + + meta = with stdenv.lib; { + description = "Arrange workspaces in a two dimensional grid with workspace thumbnails"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ chkno ]; + homepage = https://github.com/mzur/gnome-shell-wsmatrix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 48b2c6ddbb1..263ddc7a091 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23395,6 +23395,7 @@ in timepp = callPackage ../desktops/gnome-3/extensions/timepp { }; topicons-plus = callPackage ../desktops/gnome-3/extensions/topicons-plus { }; window-corner-preview = callPackage ../desktops/gnome-3/extensions/window-corner-preview { }; + workspace-matrix = callPackage ../desktops/gnome-3/extensions/workspace-matrix { }; nohotcorner = throw "gnomeExtensions.nohotcorner removed since 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks."; mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md"; From 492de5c32e6a5c8a348c05659665dd70a288d533 Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Dec 2019 14:41:45 -0800 Subject: [PATCH 008/125] gnomeExtensions.workspace-grid: Remove workspace-matrix largely replaces workspace-grid [1]. Also, workspace-grid.nix was accidentally dropped from top-level/all-packages.nix in the Gnome 3.18 -> 3.20 bump in 5a245c24b0188c6fff933497545f6e84d9b024c0, so this file has been unreferenced for three years. [1] https://github.com/zakkak/workspace-grid/issues/120#issuecomment-488802454 --- .../gnome-3/extensions/workspace-grid.nix | 30 ------------------- 1 file changed, 30 deletions(-) delete mode 100644 pkgs/desktops/gnome-3/extensions/workspace-grid.nix diff --git a/pkgs/desktops/gnome-3/extensions/workspace-grid.nix b/pkgs/desktops/gnome-3/extensions/workspace-grid.nix deleted file mode 100644 index 811e9911f62..00000000000 --- a/pkgs/desktops/gnome-3/extensions/workspace-grid.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchFromGitHub, glib }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-workspace-grid"; - version = "0f3a430e7d04bb5465a17c1225aab0f574426d6b"; - - src = fetchFromGitHub { - owner = "zakkak"; - repo = "workspace-grid-gnome-shell-extension"; - rev = version; - sha256 = "0503b7lmydrbblfvf9b56pv5hpmykzgyc6v8y99rckg58h2jhs69"; - }; - - buildInputs = [ - glib - ]; - - installPhase = '' - cp -r ${uuid} $out - ''; - - uuid = "workspace-grid@mathematical.coffee.gmail.com"; - - meta = with stdenv.lib; { - description = "Arranges workspaces in a configurable grid"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ aneeshusa ]; - homepage = https://github.com/zakkak/workspace-grid-gnome-shell-extension; - }; -} From 0a05392468b925b50051edc0d1d4b755fb4188e3 Mon Sep 17 00:00:00 2001 From: pacien Date: Mon, 9 Dec 2019 18:07:41 +0100 Subject: [PATCH 009/125] riot-web: 1.5.5 -> 1.5.6 --- .../networking/instant-messengers/riot/riot-web.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix index 93c3d837b05..917a363ef1a 100644 --- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix +++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "riot-web"; - version = "1.5.5"; + version = "1.5.6"; src = fetchurl { url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz"; - sha256 = "0isln25sl5jvvlqvh822w73a4i82x75g1ywf3p9n5m1a5sr9f537"; + sha256 = "063ynbil038y201skyldj2ysr0hwgwq981w1iw104xd17x31zmn0"; }; installPhase = let From f98d4960d83b782c5d83fc28c34b2da75bf5b1f9 Mon Sep 17 00:00:00 2001 From: pacien Date: Mon, 9 Dec 2019 18:07:50 +0100 Subject: [PATCH 010/125] riot-desktop: 1.5.5 -> 1.5.6 --- .../instant-messengers/riot/riot-desktop-package.json | 2 +- .../networking/instant-messengers/riot/riot-desktop.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json index 3338f6159d9..c49934b96f7 100644 --- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json +++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "src/electron-main.js", - "version": "1.5.5", + "version": "1.5.6", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "dependencies": { diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix index c3fe4b9dd33..9b6f591bd42 100644 --- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix +++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix @@ -6,12 +6,12 @@ let executableName = "riot-desktop"; - version = "1.5.5"; + version = "1.5.6"; riot-web-src = fetchFromGitHub { owner = "vector-im"; repo = "riot-web"; rev = "v${version}"; - sha256 = "18xhqniwxp1sv49qcd9ah8nyy2n2yliy3wg613raxjl16qvvzxmc"; + sha256 = "148rg6wc84xy53bj16v5riw78s999ridid59x6v9jas827l0bdpk"; }; in mkYarnPackage rec { From 258c1a4d5f51c12172e6545d95deab2d5c730c19 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 9 Dec 2019 09:31:37 -0800 Subject: [PATCH 011/125] randomx: 1.1.6 -> 1.1.7 --- pkgs/development/libraries/randomx/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/randomx/default.nix b/pkgs/development/libraries/randomx/default.nix index 79ce9e41324..9e6cdfecb95 100644 --- a/pkgs/development/libraries/randomx/default.nix +++ b/pkgs/development/libraries/randomx/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "randomX"; - version = "1.1.6"; + version = "1.1.7"; nativeBuildInputs = [ cmake ]; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { owner = "tevador"; repo = pname; rev = "v${version}"; - sha256 = "1qd0rbzgxdy87wwy0n6ca29bcq25j5ndnfgmx8iyf225m4rcwngf"; + sha256 = "1d42dw4zrd7mzfqs6gwk27jj6lsh6pwv85p1ckx9dxy8mw3m52ah"; }; meta = with stdenv.lib; { From 735fc5b773b4969712d3ed512cdc765d6cec37b6 Mon Sep 17 00:00:00 2001 From: pacien Date: Mon, 9 Dec 2019 19:17:06 +0100 Subject: [PATCH 012/125] gscan2pdf: 2.5.6 -> 2.6.2 --- pkgs/applications/graphics/gscan2pdf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/applications/graphics/gscan2pdf/default.nix index b0e76d23dac..fc867fed7c2 100644 --- a/pkgs/applications/graphics/gscan2pdf/default.nix +++ b/pkgs/applications/graphics/gscan2pdf/default.nix @@ -10,11 +10,11 @@ with stdenv.lib; perlPackages.buildPerlPackage rec { pname = "gscan2pdf"; - version = "2.5.6"; + version = "2.6.2"; src = fetchurl { url = "mirror://sourceforge/gscan2pdf/${version}/${pname}-${version}.tar.xz"; - sha256 = "0wp81nsi5jfypabwmjqiamxr739jq5ij79n5fzn5pbw1hg5gcmfz"; + sha256 = "0z35lglf4anfczizynjp8sd1jpix5mkmm1nh39n1v94l7ahjxsww"; }; nativeBuildInputs = [ wrapGAppsHook ]; From 52d15ab28b3044ac7adf9acb222a5455b8b0158d Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Mon, 9 Dec 2019 14:19:15 -0500 Subject: [PATCH 013/125] libminc: 2018-01-17 -> 2.4.03 and disable broken checkPhase on OSX --- pkgs/development/libraries/libminc/default.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/libminc/default.nix b/pkgs/development/libraries/libminc/default.nix index aea7a5959fa..53b6af40b51 100644 --- a/pkgs/development/libraries/libminc/default.nix +++ b/pkgs/development/libraries/libminc/default.nix @@ -1,17 +1,16 @@ { stdenv, fetchFromGitHub, cmake, zlib, netcdf, nifticlib, hdf5 }: stdenv.mkDerivation rec { - pname = "libminc"; - name = "${pname}-2018-01-17"; + pname = "libminc"; + version = "2.4.03"; owner = "BIC-MNI"; - # current master is significantly ahead of most recent release, so use Git version: src = fetchFromGitHub { inherit owner; repo = pname; - rev = "a9cbe1353eae9791b7d5b03af16e0f86922ce40b"; - sha256 = "0mn4n3ihzcr1jw2g1vy6c8p4lkc88jwljk04argmj7k4djrgpxpa"; + rev = "release-${version}"; + sha256 = "0kpmqs9df836ywsqj749qbsfavf5bnldblxrmnmxqq9pywc8yfrm"; }; postPatch = '' @@ -27,7 +26,7 @@ stdenv.mkDerivation rec { "-DLIBMINC_USE_SYSTEM_NIFTI=ON" ]; - doCheck = true; + doCheck = !stdenv.isDarwin; checkPhase = '' export LD_LIBRARY_PATH="$(pwd)" # see #22060 ctest -E 'ezminc_rw_test|minc_conversion' --output-on-failure From f167ab402a913dbbe732be6546e90ba7aafeb31e Mon Sep 17 00:00:00 2001 From: Jason Felice Date: Mon, 9 Dec 2019 14:47:12 -0500 Subject: [PATCH 014/125] tmuxPlugins.ctrlw: 0.1.0 -> 0.1.1 --- pkgs/misc/tmux-plugins/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix index 4b93ec8dff9..0d10b44ab1e 100644 --- a/pkgs/misc/tmux-plugins/default.nix +++ b/pkgs/misc/tmux-plugins/default.nix @@ -95,8 +95,8 @@ in rec { pluginName = "ctrlw"; src = fetchgit { url = "https://github.com/eraserhd/tmux-ctrlw"; - rev = "2354b5d56828813d0f7a4b228ca74b6134c2695f"; - sha256 = "00hy1axmki8h2285mivsj923z327xkq89wfl2x4dxc71xjhdl216"; + rev = "b456977125c640cd587b786c6a79cb5c7b0f900d"; + sha256 = "1kv5pqfjczd6z7i9jf6j5xmcai50l9bn5p2p1w1l5fi6cj8cz1k1"; }; }; From f5d56c4053311b98d023d7bcc8a17947ee101a85 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 9 Dec 2019 15:27:53 -0800 Subject: [PATCH 015/125] usb-modeswitch: 2.5.2 -> 2.6.0 --- pkgs/development/tools/misc/usb-modeswitch/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/usb-modeswitch/default.nix b/pkgs/development/tools/misc/usb-modeswitch/default.nix index 7c119c92943..a0e1b8eb8ce 100644 --- a/pkgs/development/tools/misc/usb-modeswitch/default.nix +++ b/pkgs/development/tools/misc/usb-modeswitch/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "usb-modeswitch"; - version = "2.5.2"; + version = "2.6.0"; src = fetchurl { url = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2"; - sha256 = "19ifi80g9ns5dmspchjvfj4ykxssq9yrci8m227dgb3yr04srzxb"; + sha256 = "18wbbxc5cfsmikba0msdvd5qlaga27b32nhrzicyd9mdddp265f2"; }; makeFlags = [ From 088885d416ca7fe5ee9205b86e05325313b84215 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 9 Dec 2019 15:30:38 -0800 Subject: [PATCH 016/125] usb-modeswitch-data: 20170806 -> 20191128 --- pkgs/development/tools/misc/usb-modeswitch/data.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/usb-modeswitch/data.nix b/pkgs/development/tools/misc/usb-modeswitch/data.nix index fb43ff61a81..d2b80011dea 100644 --- a/pkgs/development/tools/misc/usb-modeswitch/data.nix +++ b/pkgs/development/tools/misc/usb-modeswitch/data.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "usb-modeswitch-data"; - version = "20170806"; + version = "20191128"; src = fetchurl { url = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2"; - sha256 = "0b1wari3aza6qjggqd0hk2zsh93k1q8scgmwh6f8wr0flpr3whff"; + sha256 = "1ygahl3r26r38ai8yyblq9nhf3v5i6n6r6672p5wf88wg5h9n0rz"; }; inherit (usb-modeswitch) makeFlags; From 9299ee088c50fb77e7996bd0380b1b7ecfcd3e0c Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Tue, 10 Dec 2019 01:20:47 +0200 Subject: [PATCH 017/125] fusuma: 0.10.2 -> 1.3.0 --- pkgs/tools/inputmethods/fusuma/Gemfile.lock | 4 ++-- pkgs/tools/inputmethods/fusuma/default.nix | 6 +++--- pkgs/tools/inputmethods/fusuma/gemset.nix | 6 ++++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/inputmethods/fusuma/Gemfile.lock b/pkgs/tools/inputmethods/fusuma/Gemfile.lock index 4038b50b44f..c35e7658d63 100644 --- a/pkgs/tools/inputmethods/fusuma/Gemfile.lock +++ b/pkgs/tools/inputmethods/fusuma/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - fusuma (0.10.2) + fusuma (1.3.0) PLATFORMS ruby @@ -10,4 +10,4 @@ DEPENDENCIES fusuma BUNDLED WITH - 1.16.3 + 1.17.3 diff --git a/pkgs/tools/inputmethods/fusuma/default.nix b/pkgs/tools/inputmethods/fusuma/default.nix index b410a21cd6b..53a24968750 100644 --- a/pkgs/tools/inputmethods/fusuma/default.nix +++ b/pkgs/tools/inputmethods/fusuma/default.nix @@ -16,9 +16,9 @@ bundlerApp { meta = with lib; { description = "Multitouch gestures with libinput driver on X11, Linux"; - homepage = https://github.com/iberianpig/fusuma; - license = licenses.mit; + homepage = "https://github.com/iberianpig/fusuma"; + license = licenses.mit; maintainers = with maintainers; [ jfrankenau nicknovitski ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/tools/inputmethods/fusuma/gemset.nix b/pkgs/tools/inputmethods/fusuma/gemset.nix index 2edf9c0886f..2dd9af421ba 100644 --- a/pkgs/tools/inputmethods/fusuma/gemset.nix +++ b/pkgs/tools/inputmethods/fusuma/gemset.nix @@ -1,10 +1,12 @@ { fusuma = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hj64kafxj29gk53vj2syhs3vdywl3h9cpiknaqqm4srjx9g04a0"; + sha256 = "150jc8jyqj3w4k13lf1ihqmm2sld1yawp4jwnf43jixnc9rmzx6f"; type = "gem"; }; - version = "0.10.2"; + version = "1.3.0"; }; } \ No newline at end of file From af4f2e366f4826f9d19c1360d35d30d427194fb0 Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Tue, 10 Dec 2019 01:48:54 +0200 Subject: [PATCH 018/125] fusuma: add filalex77 to maintainers --- pkgs/tools/inputmethods/fusuma/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/inputmethods/fusuma/default.nix b/pkgs/tools/inputmethods/fusuma/default.nix index 53a24968750..a8901dfb0e4 100644 --- a/pkgs/tools/inputmethods/fusuma/default.nix +++ b/pkgs/tools/inputmethods/fusuma/default.nix @@ -18,7 +18,7 @@ bundlerApp { description = "Multitouch gestures with libinput driver on X11, Linux"; homepage = "https://github.com/iberianpig/fusuma"; license = licenses.mit; - maintainers = with maintainers; [ jfrankenau nicknovitski ]; + maintainers = with maintainers; [ jfrankenau nicknovitski filalex77 ]; platforms = platforms.linux; }; } From cc54e5a6850d60e76a205093c0e171e41837a2b0 Mon Sep 17 00:00:00 2001 From: gnidorah Date: Tue, 10 Dec 2019 19:53:31 +0300 Subject: [PATCH 019/125] nixos/mame: init --- nixos/modules/module-list.nix | 1 + nixos/modules/services/misc/mame.nix | 67 ++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 nixos/modules/services/misc/mame.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 076e1654818..453acfa0581 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -445,6 +445,7 @@ ./services/misc/logkeys.nix ./services/misc/leaps.nix ./services/misc/lidarr.nix + ./services/misc/mame.nix ./services/misc/mathics.nix ./services/misc/matrix-synapse.nix ./services/misc/mbpfan.nix diff --git a/nixos/modules/services/misc/mame.nix b/nixos/modules/services/misc/mame.nix new file mode 100644 index 00000000000..c5d5e9e4837 --- /dev/null +++ b/nixos/modules/services/misc/mame.nix @@ -0,0 +1,67 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.mame; + mame = "mame${lib.optionalString pkgs.stdenv.is64bit "64"}"; +in +{ + options = { + services.mame = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to setup TUN/TAP Ethernet interface for MAME emulator. + ''; + }; + user = mkOption { + type = types.str; + description = '' + User from which you run MAME binary. + ''; + }; + hostAddr = mkOption { + type = types.str; + description = '' + IP address of the host system. Usually an address of the main network + adapter or the adapter through which you get an internet connection. + ''; + example = "192.168.31.156"; + }; + emuAddr = mkOption { + type = types.str; + description = '' + IP address of the guest system. The same you set inside guest OS under + MAME. Should be on the same subnet as . + ''; + example = "192.168.31.155"; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.mame ]; + + security.wrappers."${mame}" = { + source = "${pkgs.mame}/bin/${mame}"; + capabilities = "cap_net_admin,cap_net_raw+eip"; + }; + + systemd.services.mame = { + description = "MAME TUN/TAP Ethernet interface"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + path = [ pkgs.iproute ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = "${pkgs.mame}/bin/taputil.sh -c ${cfg.user} ${cfg.emuAddr} ${cfg.hostAddr} -"; + ExecStop = "${pkgs.mame}/bin/taputil.sh -d ${cfg.user}"; + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ gnidorah ]; +} From bb7cb579c7cfb160c42d491484f6f223c53e4728 Mon Sep 17 00:00:00 2001 From: WilliButz Date: Wed, 11 Dec 2019 17:26:26 +0100 Subject: [PATCH 020/125] wt3: 3.4.2 -> 3.5.0 --- pkgs/development/libraries/wt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/wt/default.nix b/pkgs/development/libraries/wt/default.nix index 74792f8f34c..fe611be0449 100644 --- a/pkgs/development/libraries/wt/default.nix +++ b/pkgs/development/libraries/wt/default.nix @@ -49,8 +49,8 @@ let }; in { wt3 = generic { - version = "3.4.2"; - sha256 = "03mwr4yv3705y74pdh19lmh8szad6gk2x2m23f4pr0wrmqg73307"; + version = "3.5.0"; + sha256 = "1xcwzldbval5zrf7f3n2gkpscagg51cw2jp6p3q1yh6bi59haida"; }; wt4 = generic { From d2dad1b10898e907dfdf58ddbb8baeecbd886d56 Mon Sep 17 00:00:00 2001 From: WilliButz Date: Wed, 11 Dec 2019 17:26:56 +0100 Subject: [PATCH 021/125] wt4: 4.1.2 -> 4.2.0 --- pkgs/development/libraries/wt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/wt/default.nix b/pkgs/development/libraries/wt/default.nix index fe611be0449..7c819487a33 100644 --- a/pkgs/development/libraries/wt/default.nix +++ b/pkgs/development/libraries/wt/default.nix @@ -54,7 +54,7 @@ in { }; wt4 = generic { - version = "4.1.2"; - sha256 = "06bnadpgflg8inikzynnz4l4r6w1bphjwlva4pzf51w648vpkknl"; + version = "4.2.0"; + sha256 = "0zrrdjz0sa8hrmybjp4aap1lcqcqvsicd7dj49zj1m5k8gnfpm4v"; }; } From b3fd4fc029d682f29ea4f0ebe104b5f3010a999a Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 12 Dec 2019 05:59:46 -0500 Subject: [PATCH 022/125] libgpod: drop pygobject2 Multi-output as well. --- pkgs/development/libraries/libgpod/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix index c41f0a60d06..063588e9f1e 100644 --- a/pkgs/development/libraries/libgpod/default.nix +++ b/pkgs/development/libraries/libgpod/default.nix @@ -1,18 +1,20 @@ -{stdenv, lib, fetchurl, gettext, perlPackages, intltool, pkgconfig, glib, +{ stdenv, lib, fetchurl, gettext, perlPackages, intltool, pkgconfig, glib, libxml2, sqlite, zlib, sg3_utils, gdk-pixbuf, taglib, - libimobiledevice, python3Packages, mutagen, + libimobiledevice, mutagen, monoSupport ? false, mono, gtk-sharp-2_0 }: -let - inherit (python3Packages) python pygobject2; -in stdenv.mkDerivation rec { + +stdenv.mkDerivation rec { name = "libgpod-0.8.3"; + src = fetchurl { url = "mirror://sourceforge/gtkpod/${name}.tar.bz2"; sha256 = "0pcmgv1ra0ymv73mlj4qxzgyir026z9jpl5s5bkg35afs1cpk2k3"; }; + outputs = [ "out" "dev" ]; + preConfigure = "configureFlagsArray=( --with-udev-dir=$out/lib/udev )"; configureFlags = [ @@ -23,7 +25,7 @@ in stdenv.mkDerivation rec { dontStrip = true; propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils - gdk-pixbuf taglib libimobiledevice python pygobject2 mutagen ]; + gdk-pixbuf taglib libimobiledevice mutagen ]; nativeBuildInputs = [ gettext intltool pkgconfig ] ++ (with perlPackages; [ perl XMLParser ]) From d206f319081d4f8113802c6b65f60ed64904908a Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 12 Dec 2019 06:02:24 -0500 Subject: [PATCH 023/125] gpodder: drop ipod support Upstream claims it doesn't work https://github.com/gpodder/gpodder/issues/706. --- pkgs/applications/audio/gpodder/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix index 246cba590f4..b972aae7de8 100644 --- a/pkgs/applications/audio/gpodder/default.nix +++ b/pkgs/applications/audio/gpodder/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, python3, python3Packages, intltool , glibcLocales, gnome3, gtk3, wrapGAppsHook -, ipodSupport ? false, libgpod, gobject-introspection +, gobject-introspection }: python3Packages.buildPythonApplication rec { @@ -50,7 +50,7 @@ python3Packages.buildPythonApplication rec { podcastparser html5lib gtk3 - ] ++ stdenv.lib.optional ipodSupport libgpod; + ]; makeFlags = [ "PREFIX=$(out)" From 727f2e9a3e1da1e6f63aaabd607c66d9adf82ce3 Mon Sep 17 00:00:00 2001 From: WilliButz Date: Thu, 12 Dec 2019 23:14:20 +0100 Subject: [PATCH 024/125] nixos/oxidized: specify PID file in service --- nixos/modules/services/admin/oxidized.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/admin/oxidized.nix b/nixos/modules/services/admin/oxidized.nix index da81be3f23e..885eaed1de6 100644 --- a/nixos/modules/services/admin/oxidized.nix +++ b/nixos/modules/services/admin/oxidized.nix @@ -111,6 +111,7 @@ in Restart = "always"; WorkingDirectory = cfg.dataDir; KillSignal = "SIGKILL"; + PIDFile = "${cfg.dataDir}.config/oxidized/pid"; }; }; }; From 1e89cf04c6aa9a3abd70f77631ac020a1ce6546e Mon Sep 17 00:00:00 2001 From: Giacomo Longo Date: Fri, 13 Dec 2019 22:37:30 +0100 Subject: [PATCH 025/125] kubernetes-helm: Add shell completion --- pkgs/applications/networking/cluster/helm/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix index afb1e3857c8..45b6e9dcf33 100644 --- a/pkgs/applications/networking/cluster/helm/default.nix +++ b/pkgs/applications/networking/cluster/helm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildGoModule, fetchFromGitHub }: +{ stdenv, buildGoModule, fetchFromGitHub, installShellFiles }: buildGoModule rec { pname = "helm"; @@ -16,6 +16,13 @@ buildGoModule rec { subPackages = [ "cmd/helm" ]; buildFlagsArray = [ "-ldflags=-w -s -X helm.sh/helm/v3/internal/version.gitCommit=v${version}" ]; + nativeBuildInputs = [ installShellFiles ]; + postInstall = '' + $out/bin/helm completion bash > helm.bash + $out/bin/helm completion zsh > helm.zsh + installShellCompletion helm.{bash,zsh} + ''; + meta = with stdenv.lib; { homepage = https://github.com/kubernetes/helm; description = "A package manager for kubernetes"; From d362df6682d3506e17c069f95cb39b10e516d123 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Sat, 12 Jan 2019 08:00:31 +0100 Subject: [PATCH 026/125] nixos/display-manager: extraSessionFilePackages -> sessionPackages --- nixos/modules/programs/sway.nix | 2 +- nixos/modules/services/x11/desktop-managers/default.nix | 2 +- nixos/modules/services/x11/desktop-managers/gnome3.nix | 4 ++-- nixos/modules/services/x11/desktop-managers/pantheon.nix | 2 +- .../services/x11/desktop-managers/surf-display.nix | 2 +- nixos/modules/services/x11/display-managers/default.nix | 9 +++++---- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix index 9a15c773463..f5c66cbd663 100644 --- a/nixos/modules/programs/sway.nix +++ b/nixos/modules/programs/sway.nix @@ -88,7 +88,7 @@ in { fonts.enableDefaultFonts = mkDefault true; programs.dconf.enable = mkDefault true; # To make a Sway session available if a display manager like SDDM is enabled: - services.xserver.displayManager.extraSessionFilePackages = [ swayJoined ]; + services.xserver.displayManager.sessionPackages = [ swayJoined ]; }; meta.maintainers = with lib.maintainers; [ gnidorah primeos colemickens ]; diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 671a959cdde..ed2b09cb21c 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -101,7 +101,7 @@ in These are the known valid session names: ${concatMapStringsSep "\n " (w: "services.xserver.desktopManager.default = \"${w.name}\";") cfg.session.list} It's also possible the default can be found in one of these packages: - ${concatMapStringsSep "\n " (p: p.name) config.services.xserver.displayManager.extraSessionFilePackages} + ${concatMapStringsSep "\n " (p: p.name) config.services.xserver.displayManager.sessionPackages} '' defaultDM; }; diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 6725595e1cf..6d9bd284bc7 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -144,7 +144,7 @@ in services.gnome3.core-shell.enable = true; services.gnome3.core-utilities.enable = mkDefault true; - services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ]; + services.xserver.displayManager.sessionPackages = [ pkgs.gnome3.gnome-session ]; environment.extraInit = '' ${concatMapStrings (p: '' @@ -171,7 +171,7 @@ in }) (mkIf flashbackEnabled { - services.xserver.displayManager.extraSessionFilePackages = map + services.xserver.displayManager.sessionPackages = map (wm: pkgs.gnome3.gnome-flashback.mkSessionForWm { inherit (wm) wmName wmLabel wmCommand; }) (optional cfg.flashback.enableMetacity { diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 99db5b17b64..614f4638cf5 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -69,7 +69,7 @@ in config = mkIf cfg.enable { - services.xserver.displayManager.extraSessionFilePackages = [ pkgs.pantheon.elementary-session-settings ]; + services.xserver.displayManager.sessionPackages = [ pkgs.pantheon.elementary-session-settings ]; # Ensure lightdm is used when Pantheon is enabled # Without it screen locking will be nonfunctional because of the use of lightlocker diff --git a/nixos/modules/services/x11/desktop-managers/surf-display.nix b/nixos/modules/services/x11/desktop-managers/surf-display.nix index 140dde828da..9aeb0bbd2a8 100644 --- a/nixos/modules/services/x11/desktop-managers/surf-display.nix +++ b/nixos/modules/services/x11/desktop-managers/surf-display.nix @@ -118,7 +118,7 @@ in { }; config = mkIf cfg.enable { - services.xserver.displayManager.extraSessionFilePackages = [ + services.xserver.displayManager.sessionPackages = [ pkgs.surf-display ]; diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index c252c3c90c9..4a75787f715 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -194,14 +194,15 @@ let if test -d ${pkg}/share/xsessions; then ${xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions fi - '') cfg.displayManager.extraSessionFilePackages} + '') cfg.displayManager.sessionPackages} + ${concatMapStrings (pkg: '' if test -d ${pkg}/share/wayland-sessions; then mkdir -p "$out/share/wayland-sessions" ${xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions fi - '') cfg.displayManager.extraSessionFilePackages} + '') cfg.displayManager.sessionPackages} ''; in @@ -261,11 +262,11 @@ in ''; }; - extraSessionFilePackages = mkOption { + sessionPackages = mkOption { type = types.listOf types.package; default = []; description = '' - A list of packages containing xsession files to be passed to the display manager. + A list of packages containing x11 or wayland session files to be passed to the display manager. ''; }; From dd7144b8601958562d78f795abcab4668404d15d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Sat, 12 Jan 2019 08:33:05 +0100 Subject: [PATCH 027/125] nixos/sessionPackages: provide session names in passthru We want access to the valid session names at evaluation time. --- nixos/modules/programs/sway.nix | 1 + .../services/x11/display-managers/default.nix | 15 ++++++++++++++- .../gnome-3/core/gnome-session/default.nix | 1 + .../gnome-3/misc/gnome-flashback/default.nix | 2 ++ .../elementary-session-settings/default.nix | 1 + pkgs/desktops/surf-display/default.nix | 4 ++++ 6 files changed, 23 insertions(+), 1 deletion(-) diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix index f5c66cbd663..d685a525932 100644 --- a/nixos/modules/programs/sway.nix +++ b/nixos/modules/programs/sway.nix @@ -24,6 +24,7 @@ let swayJoined = pkgs.symlinkJoin { name = "sway-joined"; paths = [ swayWrapped swayPackage ]; + passthru.providedSessions = [ "sway" ]; }; in { options.programs.sway = { diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 4a75787f715..4dc06b30c7a 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -263,7 +263,20 @@ in }; sessionPackages = mkOption { - type = types.listOf types.package; + type = with types; listOf (package // { + description = "package with provided sessions"; + check = p: assertMsg + (package.check p && p ? providedSessions + && p.providedSessions != [] && all isString p.providedSessions) + '' + Package, '${p.name}', did not specify any session names, as strings, in + 'passthru.providedSessions'. This is required when used as a session package. + + The session names can be looked up in: + ${p}/share/xsessions + ${p}/share/wayland-sessions + ''; + }); default = []; description = '' A list of packages containing x11 or wayland session files to be passed to the display manager. diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix index 8aaf68ea1e3..d63435ce2e9 100644 --- a/pkgs/desktops/gnome-3/core/gnome-session/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-session/default.nix @@ -55,6 +55,7 @@ stdenv.mkDerivation rec { packageName = "gnome-session"; attrPath = "gnome3.gnome-session"; }; + providedSessions = [ "gnome" "gnome-xorg" ]; }; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix index 808d36dab95..c1791ee5bbd 100644 --- a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix +++ b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix @@ -141,6 +141,8 @@ let Type=Application DesktopNames=GNOME-Flashback;GNOME; ''; + } // { + providedSessions = [ "gnome-flashback-${wmName}" ]; }; mkSystemdTargetForWm = { wmName }: diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix index ab7333212a0..07c9e724fc6 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix @@ -131,6 +131,7 @@ stdenv.mkDerivation rec { inherit repoName; attrPath = pname; }; + providedSessions = [ "pantheon" ]; }; meta = with stdenv.lib; { diff --git a/pkgs/desktops/surf-display/default.nix b/pkgs/desktops/surf-display/default.nix index 47b7e117206..dd064486647 100644 --- a/pkgs/desktops/surf-display/default.nix +++ b/pkgs/desktops/surf-display/default.nix @@ -43,6 +43,10 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=${placeholder "out"}" ]; + passthru = { + providedSessions = [ "surf-display" ]; + }; + meta = with stdenv.lib; { description = "Kiosk browser session manager based on the surf browser"; homepage = "https://code.it-zukunft-schule.de/cgit/surf-display/"; From 58e5290fcee60178973f4cc21011fbbf03497410 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Sat, 12 Jan 2019 08:43:24 +0100 Subject: [PATCH 028/125] nixos/displayManager: check for provided sessions in mkDesktops --- .../services/x11/display-managers/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 4dc06b30c7a..f55bfbfd0c1 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -191,13 +191,18 @@ let '') names} ${concatMapStrings (pkg: '' + for n in ${concatStringsSep " " pkg.providedSessions}; do + if ! test -f ${pkg}/share/wayland-sessions/$n.desktop -o \ + -f ${pkg}/share/xsessions/$n.desktop; then + echo "Couldn't find provided session name, $n.desktop, in session package ${pkg.name}:" + echo " ${pkg}" + return 1 + fi + done + if test -d ${pkg}/share/xsessions; then ${xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions fi - '') cfg.displayManager.sessionPackages} - - - ${concatMapStrings (pkg: '' if test -d ${pkg}/share/wayland-sessions; then mkdir -p "$out/share/wayland-sessions" ${xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions From d25365c3c13f2fcc4e5574f01106c061c493e63e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Sat, 12 Jan 2019 10:31:37 +0100 Subject: [PATCH 029/125] nixos/displayManager: introduce defaultSession There's two ways of providing graphical sessions now: - `displayManager.session` via. `desktopManager.session` and `windowManager.session` - `displayManager.sessionPackages` `sessionPackages` doesn't make a distinction between desktop and window managers. This makes selecting a session provided by a package using `desktopManager.default` nonsensical. We therefor introduce `displayManager.defaultSession` which can select a session from either `displayManager.session` or `displayManager.sessionPackages`. It will default to `desktopManager.default + windowManager.default` as before. If the dm default is "none" it will select the first provided session from `sessionPackages`. --- .../services/x11/desktop-managers/default.nix | 12 +++---- .../x11/desktop-managers/pantheon.nix | 4 +-- .../services/x11/display-managers/default.nix | 31 +++++++++++++++++++ .../services/x11/display-managers/lightdm.nix | 8 ++--- .../services/x11/display-managers/sddm.nix | 8 ++--- nixos/tests/gnome3-xorg.nix | 2 +- 6 files changed, 44 insertions(+), 21 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index ed2b09cb21c..7240358c361 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -96,13 +96,13 @@ in else if any (w: w.name == defaultDM) cfg.session.list then defaultDM else - builtins.trace '' - Default desktop manager (${defaultDM}) not found at evaluation time. - These are the known valid session names: + throw '' + Default desktop manager (${defaultDM}) not found. + Probably you want to change + services.xserver.desktopManager.default = "${defaultDM}"; + to one of ${concatMapStringsSep "\n " (w: "services.xserver.desktopManager.default = \"${w.name}\";") cfg.session.list} - It's also possible the default can be found in one of these packages: - ${concatMapStringsSep "\n " (p: p.name) config.services.xserver.displayManager.sessionPackages} - '' defaultDM; + ''; }; }; diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 614f4638cf5..3722bf365ba 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -81,9 +81,7 @@ in services.xserver.displayManager.lightdm.greeters.pantheon.enable = mkDefault true; - # If not set manually Pantheon session cannot be started - # Known issue of https://github.com/NixOS/nixpkgs/pull/43992 - services.xserver.desktopManager.default = mkForce "pantheon"; + services.xserver.displayManager.defaultSession = "pantheon"; services.xserver.displayManager.sessionCommands = '' if test "$XDG_CURRENT_DESKTOP" = "Pantheon"; then diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index f55bfbfd0c1..1a46e7c02e5 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -327,6 +327,37 @@ in }; }; + defaultSession = mkOption { + type = with types; str // { + description = "session name"; + check = d: let + sessionNames = cfg.displayManager.session.names ++ + (concatMap (p: p.providedSessions) cfg.displayManager.sessionPackages); + in + assertMsg (str.check d && (d == "none" || (elem d sessionNames))) '' + Default graphical session, '${d}', not found. + Valid names for 'services.xserver.displayManager.defaultSession' are: + ${concatStringsSep "\n " sessionNames} + ''; + }; + default = let + dmDefault = cfg.desktopManager.default; + wmDefault = cfg.windowManager.default; + defaultPackage = + if cfg.displayManager.sessionPackages != [] then + (head (head cfg.displayManager.sessionPackages).providedSessions) + else + null; + defaultDmWm = dmDefault + optionalString (wmDefault != "none") ("+" + wmDefault); + in + if defaultDmWm == "none" && isString defaultPackage then + defaultPackage + else + defaultDmWm; + example = "gnome"; + description = "Default graphical session (only effective for LightDM and SDDM)."; + }; + job = { preStart = mkOption { diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index cf4c05acbcc..71cd6079ea1 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -9,9 +9,8 @@ let xEnv = config.systemd.services.display-manager.environment; cfg = dmcfg.lightdm; - dmDefault = xcfg.desktopManager.default; - wmDefault = xcfg.windowManager.default; - hasDefaultUserSession = dmDefault != "none" || wmDefault != "none"; + defaultSessionName = dmcfg.defaultSession; + hasDefaultUserSession = defaultSessionName != "none"; inherit (pkgs) lightdm writeScript writeText; @@ -71,7 +70,6 @@ let ${cfg.extraSeatDefaults} ''; - defaultSessionName = dmDefault + optionalString (wmDefault != "none") ("+" + wmDefault); in { # Note: the order in which lightdm greeter modules are imported @@ -199,7 +197,7 @@ in LightDM auto-login requires services.xserver.displayManager.lightdm.autoLogin.user to be set ''; } - { assertion = cfg.autoLogin.enable -> dmDefault != "none" || wmDefault != "none"; + { assertion = cfg.autoLogin.enable -> hasDefaultUserSession; message = '' LightDM auto-login requires that services.xserver.desktopManager.default and services.xserver.windowManager.default are set to valid values. The current diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index 24e120c4f2c..b51582d2ca5 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -71,11 +71,7 @@ let ${cfg.extraConfig} ''; - defaultSessionName = - let - dm = xcfg.desktopManager.default; - wm = xcfg.windowManager.default; - in dm + optionalString (wm != "none") ("+" + wm); + defaultSessionName = dmcfg.defaultSession; in { @@ -210,7 +206,7 @@ in SDDM auto-login requires services.xserver.displayManager.sddm.autoLogin.user to be set ''; } - { assertion = cfg.autoLogin.enable -> elem defaultSessionName dmcfg.session.names; + { assertion = cfg.autoLogin.enable -> defaultSessionName != "none"; message = '' SDDM auto-login requires that services.xserver.desktopManager.default and services.xserver.windowManager.default are set to valid values. The current diff --git a/nixos/tests/gnome3-xorg.nix b/nixos/tests/gnome3-xorg.nix index eb4c376319b..aa03501f6a5 100644 --- a/nixos/tests/gnome3-xorg.nix +++ b/nixos/tests/gnome3-xorg.nix @@ -16,7 +16,7 @@ import ./make-test.nix ({ pkgs, ...} : { 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"; + services.xserver.displayManager.defaultSession = "gnome-xorg"; virtualisation.memorySize = 1024; }; From 53ef29c1380424e4e697725c4f3df30f9acacebc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Mon, 14 Jan 2019 14:17:40 +0100 Subject: [PATCH 030/125] nixos/lightdm: enable wayland sessions Note: can't launch gnome on wayland due to duplicate entry names: https://github.com/CanonicalLtd/lightdm/issues/16 --- nixos/modules/services/x11/display-managers/lightdm.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index 71cd6079ea1..a8642fec271 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -44,7 +44,7 @@ let greeter-user = ${config.users.users.lightdm.name} greeters-directory = ${cfg.greeter.package} ''} - sessions-directory = ${dmcfg.session.desktops}/share/xsessions + sessions-directory = ${dmcfg.session.desktops}/share/xsessions:${dmcfg.session.desktops}/share/wayland-sessions ${cfg.extraConfig} [Seat:*] From 8dc5ff7dcfd1c58c32004ffae25e6d31ed83d86c Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Tue, 10 Dec 2019 15:10:30 +0100 Subject: [PATCH 031/125] nixos/displayManager: deprecate separate options for default wm/dm The upstream session files display managers use have no concept of sessions being composed from desktop manager and window manager. To be able to set upstream session files as default session, we need a single option. Having two different ways to set default session would be confusing, though, so we decided to deprecate the old method. We also created separate script for each session, just like we already had a separate desktop file for each one, and started using displayManager.sessionPackages mechanism to make the session handling more uniform. --- nixos/doc/manual/configuration/x-windows.xml | 3 +- nixos/doc/manual/configuration/xfce.xml | 5 +- nixos/doc/manual/release-notes/rl-2003.xml | 13 + nixos/lib/testing-python.nix | 3 +- nixos/lib/testing.nix | 3 +- .../services/x11/desktop-managers/default.nix | 23 +- .../x11/desktop-managers/pantheon.nix | 2 + .../display-managers/account-service-util.nix | 39 +++ .../services/x11/display-managers/default.nix | 231 ++++++++++-------- .../services/x11/display-managers/gdm.nix | 62 ++--- .../lightdm-greeters/mini.nix | 5 +- .../services/x11/display-managers/lightdm.nix | 33 ++- .../services/x11/display-managers/sddm.nix | 16 +- .../services/x11/window-managers/default.nix | 15 +- nixos/tests/common/x11.nix | 8 +- nixos/tests/i3wm.nix | 2 +- nixos/tests/lightdm.nix | 3 +- nixos/tests/plasma5.nix | 2 +- nixos/tests/sddm.nix | 6 +- nixos/tests/xmonad.nix | 4 +- 20 files changed, 254 insertions(+), 224 deletions(-) create mode 100644 nixos/modules/services/x11/display-managers/account-service-util.nix diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml index 9206f43ea39..55ad9fe6e65 100644 --- a/nixos/doc/manual/configuration/x-windows.xml +++ b/nixos/doc/manual/configuration/x-windows.xml @@ -83,8 +83,7 @@ desktop environment. If you wanted no desktop environment and i3 as your your window manager, you'd define: - = "none"; - = "i3"; + = "none+i3"; And, finally, to enable auto-login for a user johndoe: diff --git a/nixos/doc/manual/configuration/xfce.xml b/nixos/doc/manual/configuration/xfce.xml index 6ac99c6b2be..027828bb936 100644 --- a/nixos/doc/manual/configuration/xfce.xml +++ b/nixos/doc/manual/configuration/xfce.xml @@ -7,9 +7,8 @@ To enable the Xfce Desktop Environment, set -services.xserver.desktopManager = { - xfce.enable = true; - default = "xfce"; + = true; + = "xfce"; }; diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml index 579b8d53744..fd9b2b49b8c 100644 --- a/nixos/doc/manual/release-notes/rl-2003.xml +++ b/nixos/doc/manual/release-notes/rl-2003.xml @@ -55,6 +55,19 @@ and adding a option which prints all options and their values. + + + and options were replaced by a single option to improve support for upstream session files. If you used something like: + +services.xserver.desktopManager.default = "xfce"; +services.xserver.windowManager.default = "icewm"; + + you should change it to: + +services.xserver.displayManager.defaultSession = "xfce+icewm"; + + + diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix index d567d268765..c4eb9328b1d 100644 --- a/nixos/lib/testing-python.nix +++ b/nixos/lib/testing-python.nix @@ -262,9 +262,8 @@ in rec { virtualisation.memorySize = 1024; services.xserver.enable = true; services.xserver.displayManager.auto.enable = true; - services.xserver.windowManager.default = "icewm"; + services.xserver.displayManager.defaultSession = "none+icewm"; services.xserver.windowManager.icewm.enable = true; - services.xserver.desktopManager.default = "none"; }; in runInMachine ({ diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix index a5f060a8d8e..ae8ecd6270c 100644 --- a/nixos/lib/testing.nix +++ b/nixos/lib/testing.nix @@ -249,9 +249,8 @@ in rec { virtualisation.memorySize = 1024; services.xserver.enable = true; services.xserver.displayManager.auto.enable = true; - services.xserver.windowManager.default = "icewm"; + services.xserver.displayManager.defaultSession = "none+icewm"; services.xserver.windowManager.icewm.enable = true; - services.xserver.desktopManager.default = "none"; }; in runInMachine ({ diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 7240358c361..534551c0c4a 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -86,23 +86,14 @@ in }; default = mkOption { - type = types.str; - default = ""; + type = types.nullOr types.str; + default = null; example = "none"; - description = "Default desktop manager loaded if none have been chosen."; - apply = defaultDM: - if defaultDM == "" && cfg.session.list != [] then - (head cfg.session.list).name - else if any (w: w.name == defaultDM) cfg.session.list then - defaultDM - else - throw '' - Default desktop manager (${defaultDM}) not found. - Probably you want to change - services.xserver.desktopManager.default = "${defaultDM}"; - to one of - ${concatMapStringsSep "\n " (w: "services.xserver.desktopManager.default = \"${w.name}\";") cfg.session.list} - ''; + description = '' + Deprecated, please use instead. + + Default desktop manager loaded if none have been chosen. + ''; }; }; diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 3722bf365ba..e07d5b5eaad 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -81,6 +81,8 @@ in services.xserver.displayManager.lightdm.greeters.pantheon.enable = mkDefault true; + # Without this, Elementary LightDM greeter will pre-select non-existent `default` session + # https://github.com/elementary/greeter/issues/368 services.xserver.displayManager.defaultSession = "pantheon"; services.xserver.displayManager.sessionCommands = '' diff --git a/nixos/modules/services/x11/display-managers/account-service-util.nix b/nixos/modules/services/x11/display-managers/account-service-util.nix new file mode 100644 index 00000000000..1dbe703b566 --- /dev/null +++ b/nixos/modules/services/x11/display-managers/account-service-util.nix @@ -0,0 +1,39 @@ +{ accountsservice +, glib +, gobject-introspection +, python3 +, wrapGAppsHook +}: + +python3.pkgs.buildPythonApplication { + name = "set-session"; + + format = "other"; + + src = ./set-session.py; + + dontUnpack = true; + + strictDeps = false; + + nativeBuildInputs = [ + wrapGAppsHook + gobject-introspection + ]; + + buildInputs = [ + accountsservice + glib + ]; + + propagatedBuildInputs = with python3.pkgs; [ + pygobject3 + ordered-set + ]; + + installPhase = '' + mkdir -p $out/bin + cp $src $out/bin/set-session + chmod +x $out/bin/set-session + ''; +} diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 1a46e7c02e5..2d809b5cc9f 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -27,16 +27,7 @@ let Xft.hintstyle: hintslight ''; - mkCases = session: - concatStrings ( - mapAttrsToList (name: starts: '' - (${name}) - ${concatMapStringsSep "\n " (n: n.start) starts} - ;; - '') (lib.groupBy (n: n.name) session) - ); - - # file provided by services.xserver.displayManager.session.wrapper + # file provided by services.xserver.displayManager.sessionData.wrapper xsessionWrapper = pkgs.writeScript "xsession-wrapper" '' #! ${pkgs.bash}/bin/bash @@ -116,79 +107,19 @@ let # Run the supplied session command. Remove any double quotes with eval. eval exec "$@" else - # Fall back to the default window/desktopManager - exec ${cfg.displayManager.session.script} + # TODO: Do we need this? Should not the session always exist? + echo "error: unknown session $1" 1>&2 + exit 1 fi ''; - # file provided by services.xserver.displayManager.session.script - xsession = wm: dm: pkgs.writeScript "xsession" - '' - #! ${pkgs.bash}/bin/bash - - # Legacy session script used to construct .desktop files from - # `services.xserver.displayManager.session` entries. Called from - # `sessionWrapper`. - - # Expected parameters: - # $1 = + - - # The first argument of this script is the session type. - sessionType="$1" - if [ "$sessionType" = default ]; then sessionType=""; fi - - # The session type is "+", so - # extract those (see: - # http://wiki.bash-hackers.org/syntax/pe#substring_removal). - windowManager="''${sessionType##*+}" - : ''${windowManager:=${cfg.windowManager.default}} - desktopManager="''${sessionType%%+*}" - : ''${desktopManager:=${cfg.desktopManager.default}} - - # Start the window manager. - case "$windowManager" in - ${mkCases wm} - (*) echo "$0: Window manager '$windowManager' not found.";; - esac - - # Start the desktop manager. - case "$desktopManager" in - ${mkCases dm} - (*) echo "$0: Desktop manager '$desktopManager' not found.";; - esac - - ${optionalString cfg.updateDbusEnvironment '' - ${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all - ''} - - test -n "$waitPID" && wait "$waitPID" - - ${config.systemd.package}/bin/systemctl --user stop graphical-session.target - - exit 0 - ''; - - # Desktop Entry Specification: - # - https://standards.freedesktop.org/desktop-entry-spec/latest/ - # - https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html - mkDesktops = names: pkgs.runCommand "desktops" + installedSessions = pkgs.runCommand "desktops" { # trivial derivation preferLocalBuild = true; allowSubstitutes = false; } '' - mkdir -p "$out/share/xsessions" - ${concatMapStrings (n: '' - cat - > "$out/share/xsessions/${n}.desktop" << EODESKTOP - [Desktop Entry] - Version=1.0 - Type=XSession - TryExec=${cfg.displayManager.session.script} - Exec=${cfg.displayManager.session.script} "${n}" - Name=${n} - Comment= - EODESKTOP - '') names} + mkdir -p "$out/share/"{xsessions,wayland-sessions} ${concatMapStrings (pkg: '' for n in ${concatStringsSep " " pkg.providedSessions}; do @@ -204,12 +135,16 @@ let ${xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions fi if test -d ${pkg}/share/wayland-sessions; then - mkdir -p "$out/share/wayland-sessions" ${xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions fi '') cfg.displayManager.sessionPackages} ''; + dmDefault = cfg.desktopManager.default; + wmDefault = cfg.windowManager.default; + + defaultSessionFromLegacyOptions = concatStringsSep "+" (filter (s: s != null) ([ dmDefault ] ++ optional (wmDefault != "none") wmDefault)); + in { @@ -315,47 +250,48 @@ in inside the display manager with the desktop manager name followed by the window manager name. ''; - apply = list: rec { - wm = filter (s: s.manage == "window") list; - dm = filter (s: s.manage == "desktop") list; - names = flip concatMap dm - (d: map (w: d.name + optionalString (w.name != "none") ("+" + w.name)) - (filter (w: d.name != "none" || w.name != "none") wm)); - desktops = mkDesktops names; - script = xsession wm dm; + }; + + sessionData = mkOption { + description = "Data exported for display managers’ convenience"; + internal = true; + default = {}; + apply = val: { wrapper = xsessionWrapper; + desktops = installedSessions; + sessionNames = concatMap (p: p.providedSessions) cfg.displayManager.sessionPackages; + # We do not want to force users to set defaultSession when they have only single DE. + autologinSession = + if cfg.displayManager.defaultSession != null then + cfg.displayManager.defaultSession + else if cfg.displayManager.sessionData.sessionNames != [] then + head cfg.displayManager.sessionData.sessionNames + else + null; }; }; defaultSession = mkOption { - type = with types; str // { + type = with types; nullOr str // { description = "session name"; - check = d: let - sessionNames = cfg.displayManager.session.names ++ - (concatMap (p: p.providedSessions) cfg.displayManager.sessionPackages); - in - assertMsg (str.check d && (d == "none" || (elem d sessionNames))) '' + check = d: + assertMsg (d != null -> (str.check d && elem d cfg.displayManager.sessionData.sessionNames)) '' Default graphical session, '${d}', not found. Valid names for 'services.xserver.displayManager.defaultSession' are: - ${concatStringsSep "\n " sessionNames} + ${concatStringsSep "\n " cfg.displayManager.sessionData.sessionNames} ''; }; - default = let - dmDefault = cfg.desktopManager.default; - wmDefault = cfg.windowManager.default; - defaultPackage = - if cfg.displayManager.sessionPackages != [] then - (head (head cfg.displayManager.sessionPackages).providedSessions) - else - null; - defaultDmWm = dmDefault + optionalString (wmDefault != "none") ("+" + wmDefault); - in - if defaultDmWm == "none" && isString defaultPackage then - defaultPackage - else - defaultDmWm; + default = + if dmDefault != null || wmDefault != null then + defaultSessionFromLegacyOptions + else + null; example = "gnome"; - description = "Default graphical session (only effective for LightDM and SDDM)."; + description = '' + Graphical session to pre-select in the session chooser (only effective for GDM and LightDM). + + On GDM, LightDM and SDDM, it will also be used as a session for auto-login. + ''; }; job = { @@ -406,6 +342,27 @@ in }; config = { + assertions = [ + { + assertion = cfg.desktopManager.default != null || cfg.windowManager.default != null -> cfg.displayManager.defaultSession == defaultSessionFromLegacyOptions; + message = "You cannot use both services.xserver.displayManager.defaultSession option and legacy options (services.xserver.desktopManager.default and services.xserver.windowManager.default)."; + } + ]; + + warnings = + mkIf (dmDefault != null || wmDefault != null) [ + '' + The following options are deprecated: + ${concatStringsSep "\n " (map ({c, t}: t) (filter ({c, t}: c != null) [ + { c = dmDefault; t = "- services.xserver.desktopManager.default"; } + { c = wmDefault; t = "- services.xserver.windowManager.default"; } + ]))} + Please use + services.xserver.displayManager.defaultSession = "${concatStringsSep "+" (filter (s: s != null) [ dmDefault wmDefault ])}"; + instead. + '' + ]; + services.xserver.displayManager.xserverBin = "${xorg.xorgserver.out}/bin/X"; systemd.user.targets.graphical-session = { @@ -414,6 +371,67 @@ in StopWhenUnneeded = false; }; }; + + # Create desktop files and scripts for starting sessions for WMs/DMs + # that do not have upstream session files (those defined using services.{display,desktop,window}Manager.session options). + services.xserver.displayManager.sessionPackages = + let + dms = filter (s: s.manage == "desktop") cfg.displayManager.session; + wms = filter (s: s.manage == "window") cfg.displayManager.session; + + # Script responsible for starting the window manager and the desktop manager. + xsession = wm: dm: pkgs.writeScript "xsession" '' + #! ${pkgs.bash}/bin/bash + + # Legacy session script used to construct .desktop files from + # `services.xserver.displayManager.session` entries. Called from + # `sessionWrapper`. + + # Start the window manager. + ${wm.start} + + # Start the desktop manager. + ${dm.start} + + ${optionalString cfg.updateDbusEnvironment '' + ${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all + ''} + + test -n "$waitPID" && wait "$waitPID" + + ${config.systemd.package}/bin/systemctl --user stop graphical-session.target + + exit 0 + ''; + in + # We will generate every possible pair of WM and DM. + concatLists ( + crossLists + (dm: wm: let + sessionName = "${dm.name}${optionalString (wm.name != "none") ("+" + wm.name)}"; + script = xsession dm wm; + in + optional (dm.name != "none" || wm.name != "none") + (pkgs.writeTextFile { + name = "${sessionName}-xsession"; + destination = "/share/xsessions/${sessionName}.desktop"; + # Desktop Entry Specification: + # - https://standards.freedesktop.org/desktop-entry-spec/latest/ + # - https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html + text = '' + [Desktop Entry] + Version=1.0 + Type=XSession + TryExec=${script} + Exec=${script} + Name=${sessionName} + ''; + } // { + providedSessions = [ sessionName ]; + }) + ) + [dms wms] + ); }; imports = [ @@ -421,6 +439,7 @@ in "The option is no longer necessary because all display managers have already delegated lid management to systemd.") (mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "xserver" "displayManager" "job" "logToFile" ]) (mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "xserver" "displayManager" "job" "logToJournal" ]) + (mkRenamedOptionModule [ "services" "xserver" "displayManager" "extraSessionFilesPackages" ] [ "services" "xserver" "displayManager" "sessionPackages" ]) ]; } diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix index 095569fa08a..6630f012f04 100644 --- a/nixos/modules/services/x11/display-managers/gdm.nix +++ b/nixos/modules/services/x11/display-managers/gdm.nix @@ -31,44 +31,9 @@ let load-module module-position-event-sounds ''; - dmDefault = config.services.xserver.desktopManager.default; - wmDefault = config.services.xserver.windowManager.default; - hasDefaultUserSession = dmDefault != "none" || wmDefault != "none"; - defaultSessionName = dmDefault + optionalString (wmDefault != "none") ("+" + wmDefault); - - setSessionScript = pkgs.python3.pkgs.buildPythonApplication { - name = "set-session"; - - format = "other"; - - src = ./set-session.py; - - dontUnpack = true; - - strictDeps = false; - - nativeBuildInputs = with pkgs; [ - wrapGAppsHook - gobject-introspection - ]; - - buildInputs = with pkgs; [ - accountsservice - glib - ]; - - propagatedBuildInputs = with pkgs.python3.pkgs; [ - pygobject3 - ordered-set - ]; - - installPhase = '' - mkdir -p $out/bin - cp $src $out/bin/set-session - chmod +x $out/bin/set-session - ''; - }; + defaultSessionName = config.services.xserver.displayManager.defaultSession; + setSessionScript = pkgs.callPackage ./account-service-util.nix { }; in { @@ -186,7 +151,7 @@ in environment = { GDM_X_SERVER_EXTRA_ARGS = toString (filter (arg: arg != "-terminate") cfg.xserverArgs); - XDG_DATA_DIRS = "${cfg.session.desktops}/share/"; + XDG_DATA_DIRS = "${cfg.sessionData.desktops}/share/"; } // optionalAttrs (xSessionWrapper != null) { # Make GDM use this wrapper before running the session, which runs the # configured setupCommands. This relies on a patched GDM which supports @@ -204,16 +169,19 @@ in cat - > /run/gdm/.config/gnome-initial-setup-done <<- EOF yes EOF - '' - # TODO: Make setSessionScript aware of previously used sessions - # + optionalString hasDefaultUserSession '' - # ${setSessionScript}/bin/set-session ${defaultSessionName} - # '' - ; + '' + optionalString (defaultSessionName != null) '' + # Set default session in session chooser to a specified values – basically ignore session history. + ${setSessionScript}/bin/set-session ${cfg.sessionData.autologinSession} + ''; }; - # Because sd_login_monitor_new requires /run/systemd/machines - systemd.services.display-manager.wants = [ "systemd-machined.service" ]; + systemd.services.display-manager.wants = [ + # Because sd_login_monitor_new requires /run/systemd/machines + "systemd-machined.service" + # setSessionScript wants AccountsService + "accounts-daemon.service" + ]; + systemd.services.display-manager.after = [ "rc-local.service" "systemd-machined.service" @@ -329,7 +297,7 @@ in ${optionalString cfg.gdm.debug "Enable=true"} ''; - environment.etc."gdm/Xsession".source = config.services.xserver.displayManager.session.wrapper; + environment.etc."gdm/Xsession".source = config.services.xserver.displayManager.sessionData.wrapper; # GDM LFS PAM modules, adapted somehow to NixOS security.pam.services = { diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix index fa9445af32e..0025f9b3603 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix @@ -53,9 +53,8 @@ in Whether to enable lightdm-mini-greeter as the lightdm greeter. Note that this greeter starts only the default X session. - You can configure the default X session by - and - . + You can configure the default X session using + . ''; }; diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index a8642fec271..f7face0adb7 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -8,9 +8,9 @@ let dmcfg = xcfg.displayManager; xEnv = config.systemd.services.display-manager.environment; cfg = dmcfg.lightdm; + sessionData = dmcfg.sessionData; - defaultSessionName = dmcfg.defaultSession; - hasDefaultUserSession = defaultSessionName != "none"; + setSessionScript = pkgs.callPackage ./account-service-util.nix { }; inherit (pkgs) lightdm writeScript writeText; @@ -44,22 +44,19 @@ let greeter-user = ${config.users.users.lightdm.name} greeters-directory = ${cfg.greeter.package} ''} - sessions-directory = ${dmcfg.session.desktops}/share/xsessions:${dmcfg.session.desktops}/share/wayland-sessions + sessions-directory = ${dmcfg.sessionData.desktops}/share/xsessions:${dmcfg.sessionData.desktops}/share/wayland-sessions ${cfg.extraConfig} [Seat:*] xserver-command = ${xserverWrapper} - session-wrapper = ${dmcfg.session.wrapper} + session-wrapper = ${dmcfg.sessionData.wrapper} ${optionalString cfg.greeter.enable '' greeter-session = ${cfg.greeter.name} ''} ${optionalString cfg.autoLogin.enable '' autologin-user = ${cfg.autoLogin.user} autologin-user-timeout = ${toString cfg.autoLogin.timeout} - autologin-session = ${defaultSessionName} - ''} - ${optionalString hasDefaultUserSession '' - user-session=${defaultSessionName} + autologin-session = ${sessionData.autologinSession} ''} ${optionalString (dmcfg.setupCommands != "") '' display-setup-script=${pkgs.writeScript "lightdm-display-setup" '' @@ -197,11 +194,9 @@ in LightDM auto-login requires services.xserver.displayManager.lightdm.autoLogin.user to be set ''; } - { assertion = cfg.autoLogin.enable -> hasDefaultUserSession; + { assertion = cfg.autoLogin.enable -> sessionData.autologinSession != null; message = '' - LightDM auto-login requires that services.xserver.desktopManager.default and - services.xserver.windowManager.default are set to valid values. The current - default session: ${defaultSessionName} is not valid. + LightDM auto-login requires that services.xserver.displayManager.defaultSession is set. ''; } { assertion = !cfg.greeter.enable -> (cfg.autoLogin.enable && cfg.autoLogin.timeout == 0); @@ -212,6 +207,20 @@ in } ]; + # Set default session in session chooser to a specified values – basically ignore session history. + # Auto-login is already covered by a config value. + services.xserver.displayManager.job.preStart = optionalString (!cfg.autoLogin.enable && dmcfg.defaultSession != null) '' + ${setSessionScript}/bin/set-session ${dmcfg.defaultSession} + ''; + + # setSessionScript needs session-files in XDG_DATA_DIRS + services.xserver.displayManager.job.environment.XDG_DATA_DIRS = "${dmcfg.sessionData.desktops}/share/"; + + # setSessionScript wants AccountsService + systemd.services.display-manager.wants = [ + "accounts-daemon.service" + ]; + # lightdm relaunches itself via just `lightdm`, so needs to be on the PATH services.xserver.displayManager.job.execCmd = '' export PATH=${lightdm}/sbin:$PATH diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index b51582d2ca5..4224c557ed6 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -50,8 +50,8 @@ let MinimumVT=${toString (if xcfg.tty != null then xcfg.tty else 7)} ServerPath=${xserverWrapper} XephyrPath=${pkgs.xorg.xorgserver.out}/bin/Xephyr - SessionCommand=${dmcfg.session.wrapper} - SessionDir=${dmcfg.session.desktops}/share/xsessions + SessionCommand=${dmcfg.sessionData.wrapper} + SessionDir=${dmcfg.sessionData.desktops}/share/xsessions XauthPath=${pkgs.xorg.xauth}/bin/xauth DisplayCommand=${Xsetup} DisplayStopCommand=${Xstop} @@ -59,19 +59,19 @@ let [Wayland] EnableHidpi=${if cfg.enableHidpi then "true" else "false"} - SessionDir=${dmcfg.session.desktops}/share/wayland-sessions + SessionDir=${dmcfg.sessionData.desktops}/share/wayland-sessions ${optionalString cfg.autoLogin.enable '' [Autologin] User=${cfg.autoLogin.user} - Session=${defaultSessionName}.desktop + Session=${autoLoginSessionName}.desktop Relogin=${boolToString cfg.autoLogin.relogin} ''} ${cfg.extraConfig} ''; - defaultSessionName = dmcfg.defaultSession; + autoLoginSessionName = dmcfg.sessionData.autologinSession; in { @@ -206,11 +206,9 @@ in SDDM auto-login requires services.xserver.displayManager.sddm.autoLogin.user to be set ''; } - { assertion = cfg.autoLogin.enable -> defaultSessionName != "none"; + { assertion = cfg.autoLogin.enable -> autoLoginSessionName != null; message = '' - SDDM auto-login requires that services.xserver.desktopManager.default and - services.xserver.windowManager.default are set to valid values. The current - default session: ${defaultSessionName} is not valid. + SDDM auto-login requires that services.xserver.displayManager.defaultSession is set. ''; } ]; diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix index c17f3830d0e..04a9fc46628 100644 --- a/nixos/modules/services/x11/window-managers/default.nix +++ b/nixos/modules/services/x11/window-managers/default.nix @@ -59,15 +59,14 @@ in }; default = mkOption { - type = types.str; - default = "none"; + type = types.nullOr types.str; + default = null; example = "wmii"; - description = "Default window manager loaded if none have been chosen."; - apply = defaultWM: - if any (w: w.name == defaultWM) cfg.session then - defaultWM - else - throw "Default window manager (${defaultWM}) not found."; + description = '' + Deprecated, please use instead. + + Default window manager loaded if none have been chosen. + ''; }; }; diff --git a/nixos/tests/common/x11.nix b/nixos/tests/common/x11.nix index c5a7c165d12..5ad0ac20fac 100644 --- a/nixos/tests/common/x11.nix +++ b/nixos/tests/common/x11.nix @@ -1,12 +1,12 @@ +{ lib, ... }: + { services.xserver.enable = true; # Automatically log in. services.xserver.displayManager.auto.enable = true; # Use IceWM as the window manager. - services.xserver.windowManager.default = "icewm"; - services.xserver.windowManager.icewm.enable = true; - # Don't use a desktop manager. - services.xserver.desktopManager.default = "none"; + services.xserver.displayManager.defaultSession = lib.mkDefault "none+icewm"; + services.xserver.windowManager.icewm.enable = true; } diff --git a/nixos/tests/i3wm.nix b/nixos/tests/i3wm.nix index 8afa845f1e2..126178d1187 100644 --- a/nixos/tests/i3wm.nix +++ b/nixos/tests/i3wm.nix @@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { machine = { lib, ... }: { imports = [ ./common/x11.nix ./common/user-account.nix ]; services.xserver.displayManager.auto.user = "alice"; - services.xserver.windowManager.default = lib.mkForce "i3"; + services.xserver.displayManager.defaultSession = lib.mkForce "none+i3"; services.xserver.windowManager.i3.enable = true; }; diff --git a/nixos/tests/lightdm.nix b/nixos/tests/lightdm.nix index ef30f7741e2..46c2ed7ccc5 100644 --- a/nixos/tests/lightdm.nix +++ b/nixos/tests/lightdm.nix @@ -8,9 +8,8 @@ import ./make-test-python.nix ({ pkgs, ...} : { imports = [ ./common/user-account.nix ]; services.xserver.enable = true; services.xserver.displayManager.lightdm.enable = true; - services.xserver.windowManager.default = "icewm"; + services.xserver.displayManager.defaultSession = "none+icewm"; services.xserver.windowManager.icewm.enable = true; - services.xserver.desktopManager.default = "none"; }; enableOCR = true; diff --git a/nixos/tests/plasma5.nix b/nixos/tests/plasma5.nix index 6884f17aabb..2eccfdf47f5 100644 --- a/nixos/tests/plasma5.nix +++ b/nixos/tests/plasma5.nix @@ -12,8 +12,8 @@ import ./make-test-python.nix ({ pkgs, ...} : imports = [ ./common/user-account.nix ]; services.xserver.enable = true; services.xserver.displayManager.sddm.enable = true; + services.xserver.displayManager.defaultSession = "plasma5"; services.xserver.desktopManager.plasma5.enable = true; - services.xserver.desktopManager.default = "plasma5"; services.xserver.displayManager.sddm.autoLogin = { enable = true; user = "alice"; diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix index 4bdcd701dcf..a145705250f 100644 --- a/nixos/tests/sddm.nix +++ b/nixos/tests/sddm.nix @@ -16,9 +16,8 @@ let imports = [ ./common/user-account.nix ]; services.xserver.enable = true; services.xserver.displayManager.sddm.enable = true; - services.xserver.windowManager.default = "icewm"; + services.xserver.displayManager.defaultSession = "none+icewm"; services.xserver.windowManager.icewm.enable = true; - services.xserver.desktopManager.default = "none"; }; enableOCR = true; @@ -52,9 +51,8 @@ let user = "alice"; }; }; - services.xserver.windowManager.default = "icewm"; + services.xserver.displayManager.defaultSession = "none+icewm"; services.xserver.windowManager.icewm.enable = true; - services.xserver.desktopManager.default = "none"; }; testScript = { nodes, ... }: let diff --git a/nixos/tests/xmonad.nix b/nixos/tests/xmonad.nix index ab3888ca43f..ef711f8dcf6 100644 --- a/nixos/tests/xmonad.nix +++ b/nixos/tests/xmonad.nix @@ -4,10 +4,10 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ nequissimus ]; }; - machine = { lib, pkgs, ... }: { + machine = { pkgs, ... }: { imports = [ ./common/x11.nix ./common/user-account.nix ]; services.xserver.displayManager.auto.user = "alice"; - services.xserver.windowManager.default = lib.mkForce "xmonad"; + services.xserver.displayManager.defaultSession = "none+xmonad"; services.xserver.windowManager.xmonad = { enable = true; enableContribAndExtras = true; From 69b1b0cff0533a81328ae0e07cecd26c038d5057 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:16:00 +0100 Subject: [PATCH 032/125] nixosTests.systemd-timesyncd: Port tests to python --- nixos/tests/systemd-timesyncd.nix | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/nixos/tests/systemd-timesyncd.nix b/nixos/tests/systemd-timesyncd.nix index d12b8eb2bf7..ad5b9a47383 100644 --- a/nixos/tests/systemd-timesyncd.nix +++ b/nixos/tests/systemd-timesyncd.nix @@ -1,7 +1,7 @@ # 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 +import ./make-test-python.nix (let common = { lib, ... }: { # override the `false` value from the qemu-vm base profile services.timesyncd.enable = lib.mkForce true; @@ -25,28 +25,28 @@ in { }; testScript = '' - startAll; - $current->succeed('systemctl status systemd-timesyncd.service'); + start_all() + 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'); + 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'); + pre1909.succeed("systemctl status systemd-timesyncd.service") # the path should be gone after the migration - $pre1909->succeed('test ! -e /var/lib/private/systemd/timesync'); + 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'); + 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'); + pre1909.shutdown() + pre1909.start() + pre1909.succeed("systemctl status systemd-timesyncd.service") ''; }) From aeeabe0b89d60bda9d35e84c643ccb62ebcd7ae0 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:22:35 +0100 Subject: [PATCH 033/125] nixosTests.switch-test: Port tests to python --- nixos/tests/switch-test.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/nixos/tests/switch-test.nix b/nixos/tests/switch-test.nix index 0dba3697980..7076bd77b77 100644 --- a/nixos/tests/switch-test.nix +++ b/nixos/tests/switch-test.nix @@ -1,6 +1,6 @@ # Test configuration switching. -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "switch-test"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ gleber ]; @@ -28,7 +28,11 @@ import ./make-test.nix ({ pkgs, ...} : { exec env -i "$@" | tee /dev/stderr ''; in '' - $machine->succeed("${stderrRunner} ${originalSystem}/bin/switch-to-configuration test"); - $machine->succeed("${stderrRunner} ${otherSystem}/bin/switch-to-configuration test"); + machine.succeed( + "${stderrRunner} ${originalSystem}/bin/switch-to-configuration test" + ) + machine.succeed( + "${stderrRunner} ${otherSystem}/bin/switch-to-configuration test" + ) ''; }) From bcf6aa5519c041301042abf38aeff6127b7c4567 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:24:45 +0100 Subject: [PATCH 034/125] nixosTests.sonarr: Port tests to python --- nixos/tests/sonarr.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/tests/sonarr.nix b/nixos/tests/sonarr.nix index 3e84445099a..764a4d05b38 100644 --- a/nixos/tests/sonarr.nix +++ b/nixos/tests/sonarr.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ lib, ... }: +import ./make-test-python.nix ({ lib, ... }: with lib; @@ -11,8 +11,8 @@ with lib; { services.sonarr.enable = true; }; testScript = '' - $machine->waitForUnit('sonarr.service'); - $machine->waitForOpenPort('8989'); - $machine->succeed("curl --fail http://localhost:8989/"); + machine.wait_for_unit("sonarr.service") + machine.wait_for_open_port("8989") + machine.succeed("curl --fail http://localhost:8989/") ''; }) From e1e3df423ae9ad52520c681004f9045873ea55f4 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sun, 15 Dec 2019 17:59:43 +0000 Subject: [PATCH 035/125] allowInsecureDefaultPredicate: fix to use getName this allows correct operation with packages only having pname and version specified, resolving issue #73737 --- pkgs/stdenv/generic/check-meta.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index 6bd6a9bf41e..21ae809a222 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -67,7 +67,7 @@ let isUnfree (lib.lists.toList attrs.meta.license) && !allowUnfreePredicate attrs; - allowInsecureDefaultPredicate = x: builtins.elem x.name (config.permittedInsecurePackages or []); + allowInsecureDefaultPredicate = x: builtins.elem (getName x) (config.permittedInsecurePackages or []); allowInsecurePredicate = x: (config.allowInsecurePredicate or allowInsecureDefaultPredicate) x; hasAllowedInsecure = attrs: From e96802ccb22f110fe9e93783856b2aef10b14608 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:29:20 +0100 Subject: [PATCH 036/125] nixosTests.quagga: Port tests to python --- nixos/tests/quagga.nix | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/nixos/tests/quagga.nix b/nixos/tests/quagga.nix index 6aee7ea57f0..04590aa0eb3 100644 --- a/nixos/tests/quagga.nix +++ b/nixos/tests/quagga.nix @@ -5,7 +5,7 @@ # # All interfaces are in OSPF Area 0. -import ./make-test.nix ({ pkgs, ... }: +import ./make-test-python.nix ({ pkgs, ... }: let ifAddr = node: iface: (pkgs.lib.head node.config.networking.interfaces.${iface}.ipv4.addresses).address; @@ -74,23 +74,23 @@ import ./make-test.nix ({ pkgs, ... }: testScript = { ... }: '' - startAll; + start_all() # Wait for the networking to start on all machines - $_->waitForUnit("network.target") foreach values %vms; + for machine in client, router1, router2, server: + machine.wait_for_unit("network.target") - # Wait for OSPF to form adjacencies - for my $gw ($router1, $router2) { - $gw->waitForUnit("ospfd"); - $gw->waitUntilSucceeds("vtysh -c 'show ip ospf neighbor' | grep Full"); - $gw->waitUntilSucceeds("vtysh -c 'show ip route' | grep '^O>'"); - } + with subtest("Wait for OSPF to form adjacencies"): + for gw in router1, router2: + gw.wait_for_unit("ospfd") + gw.wait_until_succeeds("vtysh -c 'show ip ospf neighbor' | grep Full") + gw.wait_until_succeeds("vtysh -c 'show ip route' | grep '^O>'") - # Test ICMP. - $client->succeed("ping -c 3 server >&2"); + with subtest("Test ICMP"): + client.wait_until_succeeds("ping -c 3 server >&2") - # Test whether HTTP works. - $server->waitForUnit("httpd"); - $client->succeed("curl --fail http://server/ >&2"); + with subtest("Test whether HTTP works"): + server.wait_for_unit("httpd") + client.succeed("curl --fail http://server/ >&2") ''; }) From d029e28b78ec535cfd37a9d26d18e7b248077c79 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:32:18 +0100 Subject: [PATCH 037/125] nixosTests.postgis: Port tests to python --- nixos/tests/postgis.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/tests/postgis.nix b/nixos/tests/postgis.nix index 294eb50b5fe..84bbb0bc8ec 100644 --- a/nixos/tests/postgis.nix +++ b/nixos/tests/postgis.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "postgis"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ lsix ]; @@ -20,10 +20,10 @@ import ./make-test.nix ({ pkgs, ...} : { }; testScript = '' - startAll; - $master->waitForUnit("postgresql"); - $master->sleep(10); # Hopefully this is long enough!! - $master->succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis;'"); - $master->succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis_topology;'"); + start_all() + master.wait_for_unit("postgresql") + master.sleep(10) # Hopefully this is long enough!! + master.succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis;'") + master.succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis_topology;'") ''; }) From 1bf1ec35bca08d05b06bf6c627b2a1205bdca2ad Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:41:38 +0100 Subject: [PATCH 038/125] nixosTests.php-pcre: Port tests to python --- nixos/tests/php-pcre.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/nixos/tests/php-pcre.nix b/nixos/tests/php-pcre.nix index ae44aec7944..d5c22e0582a 100644 --- a/nixos/tests/php-pcre.nix +++ b/nixos/tests/php-pcre.nix @@ -1,7 +1,7 @@ let testString = "can-use-subgroups"; in -import ./make-test.nix ({ ...}: { +import ./make-test-python.nix ({ ...}: { name = "php-httpd-pcre-jit-test"; machine = { lib, pkgs, ... }: { time.timeZone = "UTC"; @@ -31,9 +31,10 @@ import ./make-test.nix ({ ...}: { }; testScript = { ... }: '' - $machine->waitForUnit('httpd.service'); + machine.wait_for_unit("httpd.service") # Ensure php evaluation by matching on the var_dump syntax - $machine->succeed('curl -vvv -s http://127.0.0.1:80/index.php \ - | grep "string(${toString (builtins.stringLength testString)}) \"${testString}\""'); + assert 'string(${toString (builtins.stringLength testString)}) "${testString}"' in machine.succeed( + "curl -vvv -s http://127.0.0.1:80/index.php" + ) ''; }) From a20683acbef60c0590e6ac6332f7512c6b0284e8 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:48:18 +0100 Subject: [PATCH 039/125] nixosTests.pgmanage: Port tests to python --- nixos/tests/pgmanage.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/nixos/tests/pgmanage.nix b/nixos/tests/pgmanage.nix index bacaf3f4158..4f5dbed24a9 100644 --- a/nixos/tests/pgmanage.nix +++ b/nixos/tests/pgmanage.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... } : +import ./make-test-python.nix ({ pkgs, ... } : let role = "test"; password = "secret"; @@ -29,11 +29,13 @@ in }; testScript = '' - startAll; - $one->waitForUnit("default.target"); - $one->requireActiveUnit("pgmanage.service"); + start_all() + one.wait_for_unit("default.target") + one.require_unit_state("pgmanage.service", "active") # Test if we can log in. - $one->waitUntilSucceeds("curl 'http://localhost:8080/pgmanage/auth' --data 'action=login&connname=${conn}&username=${role}&password=${password}' --fail"); + one.wait_until_succeeds( + "curl 'http://localhost:8080/pgmanage/auth' --data 'action=login&connname=${conn}&username=${role}&password=${password}' --fail" + ) ''; }) From d58814ac5a3e49ae4dd5182d9ae73bbe5e607c1e Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:50:50 +0100 Subject: [PATCH 040/125] nixosTests.peerflix: Port tests to python --- nixos/tests/peerflix.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/tests/peerflix.nix b/nixos/tests/peerflix.nix index fae37fedaac..37628604d49 100644 --- a/nixos/tests/peerflix.nix +++ b/nixos/tests/peerflix.nix @@ -1,6 +1,6 @@ # This test runs peerflix and checks if peerflix starts -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "peerflix"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ offline ]; @@ -15,9 +15,9 @@ import ./make-test.nix ({ pkgs, ...} : { }; testScript = '' - startAll; + start_all() - $peerflix->waitForUnit("peerflix.service"); - $peerflix->waitUntilSucceeds("curl localhost:9000"); + peerflix.wait_for_unit("peerflix.service") + peerflix.wait_until_succeeds("curl localhost:9000") ''; }) From d76ab647e67a39d9caa681b1724ea4d6318082cd Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:53:26 +0100 Subject: [PATCH 041/125] nixosTests.pdns-recursor: Port tests not python --- nixos/tests/pdns-recursor.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/tests/pdns-recursor.nix b/nixos/tests/pdns-recursor.nix index bf6e6093d69..de1b60e0b1c 100644 --- a/nixos/tests/pdns-recursor.nix +++ b/nixos/tests/pdns-recursor.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... }: { +import ./make-test-python.nix ({ pkgs, ... }: { name = "powerdns"; nodes.server = { ... }: { @@ -6,7 +6,7 @@ import ./make-test.nix ({ pkgs, ... }: { }; testScript = '' - $server->waitForUnit("pdns-recursor"); - $server->waitForOpenPort("53"); + server.wait_for_unit("pdns-recursor") + server.wait_for_open_port("53") ''; }) From 229a0afb28b9648e5ad30a3d3dfaca485b20c4ec Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 19:05:01 +0100 Subject: [PATCH 042/125] nixosTests.paperless: Port tests to python --- nixos/tests/paperless.nix | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/nixos/tests/paperless.nix b/nixos/tests/paperless.nix index 860ad0a6218..355e7041d3f 100644 --- a/nixos/tests/paperless.nix +++ b/nixos/tests/paperless.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ lib, ... } : { +import ./make-test-python.nix ({ lib, ... } : { name = "paperless"; meta = with lib.maintainers; { maintainers = [ earvstedt ]; @@ -13,17 +13,24 @@ import ./make-test.nix ({ lib, ... } : { }; 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.wait_for_unit("paperless-consumer.service") - $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; + # 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" + ) + + with subtest("Service gets ready"): + machine.wait_for_unit("paperless-server.service") + # Wait until server accepts connections + machine.wait_until_succeeds("curl -s localhost:28981") + + with subtest("Test document is consumed"): + machine.wait_until_succeeds( + "(($(curl -s localhost:28981/api/documents/ | jq .count) == 1))" + ) + assert "2005-10-16" in machine.succeed( + "curl -s localhost:28981/api/documents/ | jq '.results | .[0] | .created'" + ) ''; }) From 73d577b0fd554c4fc615be5a934666277d73bc39 Mon Sep 17 00:00:00 2001 From: Kevin Rauscher Date: Sun, 15 Dec 2019 21:12:56 +0100 Subject: [PATCH 043/125] mopidy-iris: 3.42.2 -> 3.43.0 --- pkgs/applications/audio/mopidy/iris.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix index 37e233b5e9e..88cdde2ceb2 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.42.2"; + version = "3.43.0"; src = pythonPackages.fetchPypi { inherit pname version; - sha256 = "1v1dy857kxxn1si0x7p3qz63l1af5pln1jji1f7fis6id8iy7wfm"; + sha256 = "1qg9xyjf27dp0810h4kdliyfb8r3kvi37lq8r93d01xwfphdzs05"; }; propagatedBuildInputs = [ From 23d164edb4999c7e77951bdb21b162bb940b7e3c Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 15:10:09 +0100 Subject: [PATCH 044/125] nixosTests.wireguard.namespaces: Port test to python --- nixos/tests/wireguard/namespaces.nix | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/nixos/tests/wireguard/namespaces.nix b/nixos/tests/wireguard/namespaces.nix index 94f993d9475..c8a4e3bb52a 100644 --- a/nixos/tests/wireguard/namespaces.nix +++ b/nixos/tests/wireguard/namespaces.nix @@ -13,7 +13,7 @@ let in -import ../make-test.nix ({ pkgs, ...} : { +import ../make-test-python.nix ({ pkgs, ...} : { name = "wireguard-with-namespaces"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ asymmetric ]; @@ -65,16 +65,14 @@ import ../make-test.nix ({ pkgs, ...} : { }; testScript = '' - startAll(); + start_all() - $peer0->waitForUnit("wireguard-wg0.service"); - $peer1->waitForUnit("wireguard-wg0.service"); - $peer2->waitForUnit("wireguard-wg0.service"); - $peer3->waitForUnit("wireguard-wg0.service"); + for machine in peer0, peer1, peer2, peer3: + machine.wait_for_unit("wireguard-wg0.service") - $peer0->succeed("ip -n ${socketNamespace} link show wg0"); - $peer1->succeed("ip -n ${interfaceNamespace} link show wg0"); - $peer2->succeed("ip -n ${interfaceNamespace} link show wg0"); - $peer3->succeed("ip link show wg0"); + peer0.succeed("ip -n ${socketNamespace} link show wg0") + peer1.succeed("ip -n ${interfaceNamespace} link show wg0") + peer2.succeed("ip -n ${interfaceNamespace} link show wg0") + peer3.succeed("ip link show wg0") ''; }) From 1f2030fdcb2ae86a821d44a40509b0c479c06055 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 15:21:38 +0100 Subject: [PATCH 045/125] nixosTests.mailcatcher: Port tests to python --- nixos/tests/mailcatcher.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/nixos/tests/mailcatcher.nix b/nixos/tests/mailcatcher.nix index eb5b606ecc8..2ef38544fe0 100644 --- a/nixos/tests/mailcatcher.nix +++ b/nixos/tests/mailcatcher.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ lib, ... }: +import ./make-test-python.nix ({ lib, ... }: { name = "mailcatcher"; @@ -16,11 +16,15 @@ import ./make-test.nix ({ lib, ... }: }; testScript = '' - startAll; + start_all() - $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; + machine.wait_for_unit("mailcatcher.service") + machine.wait_for_open_port("1025") + machine.succeed( + 'echo "this is the body of the email" | mail -s "subject" root@example.org' + ) + assert "this is the body of the email" in machine.succeed( + "curl http://localhost:1080/messages/1.source" + ) ''; }) From 40ed6896e361a648aff34bfe5c70b61cbbf12d6b Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 15:46:22 +0100 Subject: [PATCH 046/125] nixosTests.lidarr: Port tests to python --- nixos/tests/lidarr.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/nixos/tests/lidarr.nix b/nixos/tests/lidarr.nix index 85fcbd21d8c..d3f83e5d914 100644 --- a/nixos/tests/lidarr.nix +++ b/nixos/tests/lidarr.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ lib, ... }: +import ./make-test-python.nix ({ lib, ... }: with lib; @@ -11,8 +11,10 @@ with lib; { services.lidarr.enable = true; }; testScript = '' - $machine->waitForUnit('lidarr.service'); - $machine->waitForOpenPort('8686'); - $machine->succeed("curl --fail http://localhost:8686/"); + start_all() + + machine.wait_for_unit("lidarr.service") + machine.wait_for_open_port("8686") + machine.succeed("curl --fail http://localhost:8686/") ''; }) From 0de0b6a281501c55fff1d20b567bfa4fbf65e408 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 15:50:13 +0100 Subject: [PATCH 047/125] nixosTests.leaps: Port tests to python --- nixos/tests/leaps.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/nixos/tests/leaps.nix b/nixos/tests/leaps.nix index 6163fed56b6..65b475d734e 100644 --- a/nixos/tests/leaps.nix +++ b/nixos/tests/leaps.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... }: +import ./make-test-python.nix ({ pkgs, ... }: { name = "leaps"; @@ -22,9 +22,11 @@ import ./make-test.nix ({ pkgs, ... }: testScript = '' - startAll; - $server->waitForOpenPort(6666); - $client->waitForUnit("network.target"); - $client->succeed("${pkgs.curl}/bin/curl http://server:6666/leaps/ | grep -i 'leaps'"); + start_all() + server.wait_for_open_port(6666) + client.wait_for_unit("network.target") + assert "leaps" in client.succeed( + "${pkgs.curl}/bin/curl http://server:6666/leaps/" + ) ''; }) From 9fbb427f6799d5fe180f5fbd07f6d93da55508c4 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 17:01:03 +0100 Subject: [PATCH 048/125] nixosTests.haproxy: Port tests to python --- nixos/tests/haproxy.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/nixos/tests/haproxy.nix b/nixos/tests/haproxy.nix index 72e77a68193..b6fed3e2108 100644 --- a/nixos/tests/haproxy.nix +++ b/nixos/tests/haproxy.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ...}: { +import ./make-test-python.nix ({ pkgs, ...}: { name = "haproxy"; nodes = { machine = { ... }: { @@ -33,11 +33,13 @@ import ./make-test.nix ({ pkgs, ...}: { }; }; testScript = '' - startAll; - $machine->waitForUnit('multi-user.target'); - $machine->waitForUnit('haproxy.service'); - $machine->waitForUnit('httpd.service'); - $machine->succeed('curl -k http://localhost:80/index.txt | grep "We are all good!"'); - $machine->succeed('curl -k http://localhost:80/metrics | grep haproxy_process_pool_allocated_bytes'); + start_all() + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("haproxy.service") + machine.wait_for_unit("httpd.service") + assert "We are all good!" in machine.succeed("curl -k http://localhost:80/index.txt") + assert "haproxy_process_pool_allocated_bytes" in machine.succeed( + "curl -k http://localhost:80/metrics" + ) ''; }) From a6ac3fd89fb8dde42ae0fafa08aa27445c260054 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 17:02:22 +0100 Subject: [PATCH 049/125] nixosTests.initrd-network: Port tests to python --- nixos/tests/initrd-network.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/tests/initrd-network.nix b/nixos/tests/initrd-network.nix index ed9b82e2da7..4796ff9b7c8 100644 --- a/nixos/tests/initrd-network.nix +++ b/nixos/tests/initrd-network.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "initrd-network"; meta.maintainers = [ pkgs.stdenv.lib.maintainers.eelco ]; @@ -15,8 +15,8 @@ import ./make-test.nix ({ pkgs, ...} : { testScript = '' - startAll; - $machine->waitForUnit("multi-user.target"); - $machine->succeed("ip link >&2"); + start_all() + machine.wait_for_unit("multi-user.target") + machine.succeed("ip link >&2") ''; }) From 03aa4ac48fdf0da89090ae1a11c1b2f67c412808 Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Mon, 16 Dec 2019 14:05:23 +0200 Subject: [PATCH 050/125] coredns: 1.3.1 -> 1.6.6 --- pkgs/servers/dns/coredns/default.nix | 14 ++--- pkgs/servers/dns/coredns/deps.nix | 84 ---------------------------- 2 files changed, 7 insertions(+), 91 deletions(-) delete mode 100644 pkgs/servers/dns/coredns/deps.nix diff --git a/pkgs/servers/dns/coredns/default.nix b/pkgs/servers/dns/coredns/default.nix index def78223f12..2c8506ac9d2 100644 --- a/pkgs/servers/dns/coredns/default.nix +++ b/pkgs/servers/dns/coredns/default.nix @@ -1,8 +1,8 @@ -{ stdenv, buildGoPackage, fetchFromGitHub }: +{ stdenv, buildGoModule, fetchFromGitHub }: -buildGoPackage rec { +buildGoModule rec { pname = "coredns"; - version = "1.3.1"; + version = "1.6.6"; goPackagePath = "github.com/coredns/coredns"; @@ -10,15 +10,15 @@ buildGoPackage rec { owner = "coredns"; repo = "coredns"; rev = "v${version}"; - sha256 = "0aflm0c3qcjcq4dy7yx9f5xlvdm4k0b2awsp3qvbfgyp74by0584"; + sha256 = "1x8sgchp0kkk5xdharjrq29qxgv1mdzrw3f12s2kchgqf1m6r0sx"; }; - goDeps = ./deps.nix; + modSha256 = "10ljggg1g5x00gpgzc5m29n1k5akf0s0g3hkdh8adcbrcz0pgr5c"; meta = with stdenv.lib; { - homepage = https://coredns.io; + homepage = "https://coredns.io"; description = "A DNS server that runs middleware"; license = licenses.asl20; - maintainers = [ maintainers.rushmorem maintainers.rtreffer maintainers.deltaevo ]; + maintainers = with maintainers; [ rushmorem rtreffer deltaevo ]; }; } diff --git a/pkgs/servers/dns/coredns/deps.nix b/pkgs/servers/dns/coredns/deps.nix deleted file mode 100644 index 4dd8228c8a6..00000000000 --- a/pkgs/servers/dns/coredns/deps.nix +++ /dev/null @@ -1,84 +0,0 @@ -[ - { - goPackagePath = "github.com/mholt/caddy"; - fetch = { - type = "git"; - url = "https://github.com/mholt/caddy"; - rev = "v0.11.1"; - sha256 = "0v35d3dy0f88wgk1vzznbx7p15vjjf7xm3qfi2c3192rsxgzvy0l"; - }; - } - { - goPackagePath = "github.com/miekg/dns"; - fetch = { - type = "git"; - url = "https://github.com/miekg/dns"; - rev = "v1.1.3"; - sha256 = "1xs1k9jm9f04y8callww9x4s0jrxmsn7882iyy4br8sbpl3wzkw4"; - }; - } - { - goPackagePath = "github.com/prometheus/client_golang"; - fetch = { - type = "git"; - url = "https://github.com/prometheus/client_golang"; - rev = "v0.9.1"; - sha256 = "01gnylazia30pcp069xcng482gwmm3xcx5zgrlwdkhic1lyb6i9l"; - }; - } - # client_golang dependencies - { - goPackagePath = "github.com/beorn7/perks"; - fetch = { - type = "git"; - url = "https://github.com/beorn7/perks"; - rev = "3a771d992973f24aa725d07868b467d1ddfceafb"; - sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3"; - }; - } - { - goPackagePath = "github.com/golang/protobuf"; - fetch = { - type = "git"; - url = "https://github.com/golang/protobuf"; - rev = "347cf4a86c1cb8d262994d8ef5924d4576c5b331"; - sha256 = "0c5j5c2dnj1452653c8nnpx4jwijwafi1p8685g7ddm6kng9q1wz"; - }; - } - { - goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; - fetch = { - type = "git"; - url = "https://github.com/matttproud/golang_protobuf_extensions"; - rev = "c182affec369e30f25d3eb8cd8a478dee585ae7d"; - sha256 = "1xqsf9vpcrd4hp95rl6kgmjvkv1df4aicfw4l5vfcxcwxknfx2xs"; - }; - } - { - goPackagePath = "github.com/prometheus/client_model"; - fetch = { - type = "git"; - url = "https://github.com/prometheus/client_model"; - rev = "56726106282f1985ea77d5305743db7231b0c0a8"; - sha256 = "19y4qs9mkxiiab5sh3b7cccjpl3xbp6sy8812ig9f1zg8vzkzj7j"; - }; - } - { - goPackagePath = "github.com/prometheus/common"; - fetch = { - type = "git"; - url = "https://github.com/prometheus/common"; - rev = "2998b132700a7d019ff618c06a234b47c1f3f681"; - sha256 = "131qmx0rs1nz0ci3qzkks4i6fdmr5c69i48h5cngjizlb9xxwir2"; - }; - } - { - goPackagePath = "github.com/prometheus/procfs"; - fetch = { - type = "git"; - url = "https://github.com/prometheus/procfs"; - rev = "bf6a532e95b1f7a62adf0ab5050a5bb2237ad2f4"; - sha256 = "0k65i2ikf3jp6863mpc1raf928i78r8jd7zn9djx6f4izls6l6j1"; - }; - } -] From cbffa52c9c954eedfaebd0be43f63e44d89312d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Mon, 16 Dec 2019 12:39:05 -0300 Subject: [PATCH 051/125] sierra-gtk-theme: 2019-05-07 -> 2019-12-16 --- pkgs/data/themes/sierra/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/themes/sierra/default.nix b/pkgs/data/themes/sierra/default.nix index e5b5ad8d611..0c9cef9e097 100644 --- a/pkgs/data/themes/sierra/default.nix +++ b/pkgs/data/themes/sierra/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "sierra-gtk-theme"; - version = "2019-05-07"; + version = "2019-12-16"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; rev = version; - sha256 = "0rm9lcwp89ljxqrya9bi882qcs339pc1l945cr1xq2rganqyk9cq"; + sha256 = "14hlz8kbrjypyd6wyrwmnj2wm9w3kc8y00ms35ard7x8lmhs56hr"; }; nativeBuildInputs = [ libxml2 ]; From 2318f7fc44918b79b233eccd9a8edb72d26e5604 Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Mon, 16 Dec 2019 18:22:31 +0200 Subject: [PATCH 052/125] hydroxide: init at 0.2.11 --- .../networking/hydroxide/default.nix | 33 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/applications/networking/hydroxide/default.nix diff --git a/pkgs/applications/networking/hydroxide/default.nix b/pkgs/applications/networking/hydroxide/default.nix new file mode 100644 index 00000000000..75c1cdaece9 --- /dev/null +++ b/pkgs/applications/networking/hydroxide/default.nix @@ -0,0 +1,33 @@ +{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: + +buildGoModule rec { + pname = "hydroxide"; + version = "0.2.11"; + + src = fetchFromGitHub { + owner = "emersion"; + repo = pname; + rev = "v${version}"; + sha256 = "0rn35iyli80kgj3yn93lrx0ybgc8fhvmkvx1d18ill7r4cmavand"; + }; + + modSha256 = "0b19rcif8yiyvhrsjd3q5nsvr580lklamlphx4dk47n456ckcqfp"; + + # FIXME: remove with next release + patches = [ + (fetchpatch { + url = "https://github.com/emersion/hydroxide/commit/80e0fa6f3e0154338fb0af8a82ca32ae6281dd15.patch"; + sha256 = "1xi0clzgz14a7sxnwr0li7sz9p05sfh3zh5iqg2qz5f415k9jknj"; + }) + ]; + + subPackages = [ "cmd/hydroxide" ]; + + meta = with lib; { + description = "A third-party, open-source ProtonMail bridge"; + homepage = "https://github.com/emersion/hydroxide"; + license = licenses.mit; + maintainers = with maintainers; [ filalex77 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f6b16b1ef32..689147f068e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19274,6 +19274,8 @@ in hydrogen = callPackage ../applications/audio/hydrogen { }; + hydroxide = callPackage ../applications/networking/hydroxide { }; + hyper = callPackage ../applications/misc/hyper { }; hyper-haskell-server-with-packages = callPackage ../development/tools/haskell/hyper-haskell/server.nix { From 93a51b8d1e870b72cf33af90c01f21b54c183d87 Mon Sep 17 00:00:00 2001 From: Eduardo Quiros Date: Mon, 16 Dec 2019 11:29:24 -0600 Subject: [PATCH 053/125] croc: 6.4.6 -> 6.4.7 --- pkgs/tools/networking/croc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/croc/default.nix b/pkgs/tools/networking/croc/default.nix index 828d61ca43c..0a754140706 100644 --- a/pkgs/tools/networking/croc/default.nix +++ b/pkgs/tools/networking/croc/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "croc"; - version = "6.4.6"; + version = "6.4.7"; goPackagePath = "github.com/schollz/croc"; @@ -10,7 +10,7 @@ buildGoModule rec { owner = "schollz"; repo = pname; rev = "v${version}"; - sha256 = "13sgjyrabr34a6sz8lzc21zvv5wc5lkgwbx0ar8afmikkrpdypln"; + sha256 = "1i8g90sr5rk7flfxvmxca6z5vp9wh8zraf2lfz618s5axds3kb50"; }; modSha256 = "1w84xqnn9fnkakak6j069app4ybbxpwq79g8qypwvmqg5bhvzywg"; From f6d75f550ebcea9145b5b63473ce2652e580a44e Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Mon, 16 Dec 2019 12:36:45 -0500 Subject: [PATCH 054/125] dockerTools.buildLayeredImage: tweak formatting on contentsEnv --- pkgs/build-support/docker/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 2a25ac04d40..0781c7dd4f1 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -536,7 +536,12 @@ rec { }: let baseName = baseNameOf name; - contentsEnv = symlinkJoin { name = "bulk-layers"; paths = (if builtins.isList contents then contents else [ contents ]); }; + contentsEnv = symlinkJoin { + name = "bulk-layers"; + paths = if builtins.isList contents + then contents + else [ contents ]; + }; configJson = let pure = writeText "${baseName}-config.json" (builtins.toJSON { From aec80dddc0416722a421330316003f27cf0c566b Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Mon, 16 Dec 2019 12:47:47 -0500 Subject: [PATCH 055/125] dockerTools.buildLayeredImage: pass a list of closures to mkManyPureLayers so it can exclude the top-most level Before, every docker image had three extra layers: 1. A `closure` layer which is an internal implementation detail of calculating the closure of the container 2. a `name-config.json` layer which is the images' run-time configuration, and has no business being *in* the image as a layer. 3. a "bulk-layers" layer which is again and implementation detail around collecting the image's closure. None of these layers need to be in the final product. --- pkgs/build-support/docker/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 0781c7dd4f1..77edbb76601 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -290,7 +290,7 @@ rec { mkManyPureLayers = { name, # Files to add to the layer. - closure, + closures, configJson, # Docker has a 125-layer maximum, we pick 100 to ensure there is # plenty of room for extension. @@ -303,10 +303,12 @@ rec { isExecutable = true; src = ./store-path-to-layer.sh; }; + + overallClosure = writeText "closure" (lib.concatStringsSep " " closures); in runCommand "${name}-granular-docker-layers" { inherit maxLayers; - paths = referencesByPopularity closure; + paths = referencesByPopularity overallClosure; nativeBuildInputs = [ jshon rsync tarsum ]; enableParallelBuilding = true; } @@ -558,7 +560,7 @@ rec { bulkLayers = mkManyPureLayers { name = baseName; - closure = writeText "closure" "${contentsEnv} ${configJson}"; + closures = [ contentsEnv configJson ]; # One layer will be taken up by the customisationLayer, so # take up one less. maxLayers = maxLayers - 1; From 700f4c538885bb9c1290d1723ec5380c2fe6e910 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Mon, 16 Dec 2019 12:57:04 -0500 Subject: [PATCH 056/125] dockerTools.buildLayeredImage: prepare to exclude some paths Without changing behavior, since this code is fiddly, make it possible to add a filtering step before packaging individual paths. --- pkgs/build-support/docker/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 77edbb76601..eb3863bcfba 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -319,15 +319,20 @@ rec { | jshon -d config \ | jshon -s "1970-01-01T00:00:01Z" -i created > generic.json + # WARNING! # The following code is fiddly w.r.t. ensuring every layer is # created, and that no paths are missed. If you change the # following head and tail call lines, double-check that your # code behaves properly when the number of layers equals: # maxLayers-1, maxLayers, and maxLayers+1 - head -n $((maxLayers - 1)) $paths | cat -n | xargs -P$NIX_BUILD_CORES -n2 ${storePathToLayer} - if [ $(cat $paths | wc -l) -ge $maxLayers ]; then - tail -n+$maxLayers $paths | xargs ${storePathToLayer} $maxLayers + paths() { + cat $paths + } + + paths | head -n $((maxLayers - 1)) | cat -n | xargs -P$NIX_BUILD_CORES -n2 ${storePathToLayer} + if [ $(paths | wc -l) -ge $maxLayers ]; then + paths | tail -n+$maxLayers | xargs ${storePathToLayer} $maxLayers fi echo "Finished building layer '$name'" From 12e24163803c2bd0051d93fe2957351eb8046735 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Mon, 16 Dec 2019 12:58:27 -0500 Subject: [PATCH 057/125] dockerTools.buildLayeredImage: Exclude top level implementation detail layers --- pkgs/build-support/docker/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index eb3863bcfba..bdc4f6434ed 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -287,6 +287,12 @@ rec { # unless there are more paths than $maxLayers. In that case, create # $maxLayers-1 for the most popular layers, and smush the remainaing # store paths in to one final layer. + # + # NOTE: the `closures` parameter is a list of closures to include. + # The TOP LEVEL store paths themselves will never be present in the + # resulting image. At this time (2019-12-16) none of these layers + # are appropriate to include, as they are all created as + # implementation details of dockerTools. mkManyPureLayers = { name, # Files to add to the layer. @@ -327,7 +333,7 @@ rec { # code behaves properly when the number of layers equals: # maxLayers-1, maxLayers, and maxLayers+1 paths() { - cat $paths + cat $paths ${lib.concatMapStringsSep " " (path: "| grep -v ${path}") (closures ++ [ overallClosure ])} } paths | head -n $((maxLayers - 1)) | cat -n | xargs -P$NIX_BUILD_CORES -n2 ${storePathToLayer} From 6f942e765ab9fae805fa41f9e94bdafc634558b9 Mon Sep 17 00:00:00 2001 From: Puck Meerburg Date: Mon, 16 Dec 2019 19:48:05 +0000 Subject: [PATCH 058/125] cups-dymo: fix build --- pkgs/misc/cups/drivers/dymo/fix-includes.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/misc/cups/drivers/dymo/fix-includes.patch b/pkgs/misc/cups/drivers/dymo/fix-includes.patch index fa7df5591dd..55f71369a00 100644 --- a/pkgs/misc/cups/drivers/dymo/fix-includes.patch +++ b/pkgs/misc/cups/drivers/dymo/fix-includes.patch @@ -65,3 +65,16 @@ diff -rp dymo-cups-drivers-1.4.0.5/src/lw/CupsFilterLabelWriter.h dymo-cups-driv #include #include "LabelWriterDriver.h" #include "LabelWriterLanguageMonitor.h" +diff -rp dymo-cups-drivers-1.4.0.5/src/common/CupsPrintEnvironment.cpp dymo-cups-drivers-1.4.0.5-fix/src/common/CupsPrintEnvironment.cpp +*** dymo-cups-drivers-1.4.0.5/src/common/CupsPrintEnvironment.cpp 2019-12-16 19:37:23.429662838 +0000 +--- dymo-cups-drivers-1.4.0.5-fix/src/common/CupsPrintEnvironment.cpp 2019-12-16 19:41:48.506991614 +0000 +*************** +*** 23,28 **** +--- 23,29 ---- + #include "CupsPrintEnvironment.h" + #include + #include ++ #include + #include + + namespace DymoPrinterDriver From c68dad170f32ae1a4bbb33812d7ae8ab54002623 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Mon, 16 Dec 2019 15:25:06 -0500 Subject: [PATCH 059/125] python3Packages.aiokafka: init at 0.5.2 --- .../python-modules/aiokafka/default.nix | 49 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 51 insertions(+) create mode 100644 pkgs/development/python-modules/aiokafka/default.nix diff --git a/pkgs/development/python-modules/aiokafka/default.nix b/pkgs/development/python-modules/aiokafka/default.nix new file mode 100644 index 00000000000..b31f83dc136 --- /dev/null +++ b/pkgs/development/python-modules/aiokafka/default.nix @@ -0,0 +1,49 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, isPy27 +, kafka-python +, cython +, zlib +}: + +buildPythonPackage rec { + pname = "aiokafka"; + version = "0.5.2"; + + disabled = isPy27; + + src = fetchFromGitHub { + owner = "aio-libs"; + repo = "aiokafka"; + rev = "v${version}"; + sha256 = "062kqsq75fi5pbpqf2a8nxm43pxpr6bwplg6bp4nv2a68r850pki"; + }; + + nativeBuildInputs = [ + cython + ]; + + buildInputs = [ + zlib + ]; + + propagatedBuildInputs = [ + kafka-python + ]; + + postPatch = '' + substituteInPlace setup.py \ + --replace "kafka-python==1.4.6" "kafka-python" + ''; + + # checks require running kafka server + doCheck = false; + + meta = with lib; { + description = "Kafka integration with asyncio"; + homepage = https://aiokafka.readthedocs.org; + license = licenses.asl20; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index aa361904eb3..032fe94d773 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4338,6 +4338,8 @@ in { aioeventlet = callPackage ../development/python-modules/aioeventlet { }; + aiokafka = callPackage ../development/python-modules/aiokafka { }; + olefile = callPackage ../development/python-modules/olefile { }; requests-mock = callPackage ../development/python-modules/requests-mock { }; From b443abf91494fa416ac1af7c8a751a44349d6253 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sun, 15 Dec 2019 21:11:45 -0800 Subject: [PATCH 060/125] python3Packages.starfish: disable due to incompatible dependencies isn't compatible with latest python-dateutil or scikit-image --- pkgs/development/python-modules/starfish/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/starfish/default.nix b/pkgs/development/python-modules/starfish/default.nix index 25ce5a0f651..38934d9497a 100644 --- a/pkgs/development/python-modules/starfish/default.nix +++ b/pkgs/development/python-modules/starfish/default.nix @@ -85,5 +85,6 @@ buildPythonPackage rec { homepage = https://spacetx-starfish.readthedocs.io/en/latest/; license = licenses.mit; maintainers = [ maintainers.costrouc ]; + broken = true; # incompatible with latest python-dateutil, scikit-image }; } From 00c3761322ec4d2aa85e66f1c55452ded3f9e681 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Mon, 16 Dec 2019 23:02:26 +0100 Subject: [PATCH 061/125] ecl: fix build with libffi 3.3 The build was broken by the recent libffi update (53a04a2df0c0812fd983364184d519dc3356e7d2) because of this upstream change: https://github.com/libffi/libffi/commit/ef76205647bca77796882d31f6ab5e889f461f07 I have changed the usage of FFI_SYSV as gentoo suggests: https://wiki.gentoo.org/wiki/Libffi_3.3_porting_notes/FFI_SYSV I'm not entirely sure if that is the right call here, but I haven't noticed any regressions in my testing and its definitely better than a broken build. Upstream: https://gitlab.com/embeddable-common-lisp/ecl/issues/302 --- pkgs/development/compilers/ecl/16.1.2.nix | 1 + pkgs/development/compilers/ecl/default.nix | 4 ++++ .../compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch | 15 +++++++++++++++ .../compilers/ecl/libffi-3.3-abi.patch | 15 +++++++++++++++ 4 files changed, 35 insertions(+) create mode 100644 pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch create mode 100644 pkgs/development/compilers/ecl/libffi-3.3-abi.patch diff --git a/pkgs/development/compilers/ecl/16.1.2.nix b/pkgs/development/compilers/ecl/16.1.2.nix index bede9fa4aa6..a7b2aa6be74 100644 --- a/pkgs/development/compilers/ecl/16.1.2.nix +++ b/pkgs/development/compilers/ecl/16.1.2.nix @@ -61,6 +61,7 @@ stdenv.mkDerivation { url = "https://git.sagemath.org/sage.git/plain/build/pkgs/ecl/patches/16.1.2-getcwd.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba"; sha256 = "1fbi8gn7rv8nqff5mpaijsrch3k3z7qc5cn4h1vl8qrr8xwqlqhb"; }) + ./ecl-1.16.2-libffi-3.3-abi.patch ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix index 33ed690772e..375b38f1dc6 100644 --- a/pkgs/development/compilers/ecl/default.nix +++ b/pkgs/development/compilers/ecl/default.nix @@ -35,6 +35,10 @@ stdenv.mkDerivation { inherit (s) url sha256; }; + patches = [ + ./libffi-3.3-abi.patch + ]; + configureFlags = [ (if threadSupport then "--enable-threads" else "--disable-threads") "--with-gmp-prefix=${gmp.dev}" diff --git a/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch b/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch new file mode 100644 index 00000000000..28dd7d0805b --- /dev/null +++ b/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch @@ -0,0 +1,15 @@ +diff --git a/src/c/ffi.d b/src/c/ffi.d +index 8861303e..8a959c23 100644 +--- a/src/c/ffi.d ++++ b/src/c/ffi.d +@@ -145,8 +145,8 @@ static struct { + #elif defined(X86_WIN64) + {@':win64', FFI_WIN64}, + #elif defined(X86_ANY) || defined(X86) || defined(X86_64) +- {@':cdecl', FFI_SYSV}, +- {@':sysv', FFI_SYSV}, ++ {@':cdecl', FFI_UNIX64}, ++ {@':sysv', FFI_UNIX64}, + {@':unix64', FFI_UNIX64}, + #endif + }; diff --git a/pkgs/development/compilers/ecl/libffi-3.3-abi.patch b/pkgs/development/compilers/ecl/libffi-3.3-abi.patch new file mode 100644 index 00000000000..0a2b5f4dd56 --- /dev/null +++ b/pkgs/development/compilers/ecl/libffi-3.3-abi.patch @@ -0,0 +1,15 @@ +diff --git a/src/c/ffi.d b/src/c/ffi.d +index 8174977a..caa69f39 100644 +--- a/src/c/ffi.d ++++ b/src/c/ffi.d +@@ -133,8 +133,8 @@ static struct { + #elif defined(X86_WIN64) + {@':win64', FFI_WIN64}, + #elif defined(X86_ANY) || defined(X86) || defined(X86_64) +- {@':cdecl', FFI_SYSV}, +- {@':sysv', FFI_SYSV}, ++ {@':cdecl', FFI_UNIX64}, ++ {@':sysv', FFI_UNIX64}, + {@':unix64', FFI_UNIX64}, + #endif + }; From 21770f817cf3e755ebc8427a70ec9406b83fb801 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Mon, 16 Dec 2019 16:25:06 -0500 Subject: [PATCH 062/125] python3Packages.aiorun: init at 2019.11.1 --- .../python-modules/aiorun/default.nix | 45 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 47 insertions(+) create mode 100644 pkgs/development/python-modules/aiorun/default.nix diff --git a/pkgs/development/python-modules/aiorun/default.nix b/pkgs/development/python-modules/aiorun/default.nix new file mode 100644 index 00000000000..7e38bb76873 --- /dev/null +++ b/pkgs/development/python-modules/aiorun/default.nix @@ -0,0 +1,45 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, isPy27 +, pytest +, pytestcov +, uvloop +}: + +buildPythonPackage rec { + pname = "aiorun"; + version = "2019.11.1"; + format = "flit"; + + disabled = isPy27; + + src = fetchFromGitHub { + owner = "cjrh"; + repo = pname; + rev = "v${version}"; + sha256 = "04p3sci6af6qqfkcqamsqhmqqrigcwvl4bmx8yv5ppvkyq39pxi7"; + }; + + checkInputs = [ + pytest + pytestcov + uvloop + ]; + + # allow for writable directory for darwin + preBuild = '' + export HOME=$TMPDIR + ''; + + checkPhase = '' + pytest + ''; + + meta = with lib; { + description = "Boilerplate for asyncio applications"; + homepage = https://github.com/cjrh/aiorun; + license = licenses.asl20; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 032fe94d773..84490c93fdf 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -165,6 +165,8 @@ in { aioredis = callPackage ../development/python-modules/aioredis { }; + aiorun = callPackage ../development/python-modules/aiorun { }; + ansicolor = callPackage ../development/python-modules/ansicolor { }; ansiwrap = callPackage ../development/python-modules/ansiwrap { }; From ab9bdca0912da6b3c990b3f5e9333e9c40b59251 Mon Sep 17 00:00:00 2001 From: Lily Ballard Date: Mon, 16 Dec 2019 16:15:34 -0800 Subject: [PATCH 063/125] cocoapods-beta: 1.8.4 -> 1.9.0.beta.1 --- .../mobile/cocoapods/Gemfile-beta.lock | 27 +++++--- .../mobile/cocoapods/gemset-beta.nix | 62 ++++++++++++++----- 2 files changed, 64 insertions(+), 25 deletions(-) diff --git a/pkgs/development/mobile/cocoapods/Gemfile-beta.lock b/pkgs/development/mobile/cocoapods/Gemfile-beta.lock index 5b7288ad4f7..c077132a9f3 100644 --- a/pkgs/development/mobile/cocoapods/Gemfile-beta.lock +++ b/pkgs/development/mobile/cocoapods/Gemfile-beta.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.1) + CFPropertyList (3.0.2) activesupport (4.2.11.1) i18n (~> 0.7) minitest (~> 5.1) @@ -12,10 +12,10 @@ GEM json (>= 1.5.1) atomos (0.1.3) claide (1.0.3) - cocoapods (1.8.4) + cocoapods (1.9.0.beta.1) activesupport (>= 4.0.2, < 5) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.8.4) + cocoapods-core (= 1.9.0.beta.1) cocoapods-deintegrate (>= 1.0.3, < 2.0) cocoapods-downloader (>= 1.2.2, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -30,15 +30,17 @@ GEM molinillo (~> 0.6.6) nap (~> 1.0) ruby-macho (~> 1.4) - xcodeproj (>= 1.11.1, < 2.0) - cocoapods-core (1.8.4) + xcodeproj (>= 1.14.0, < 2.0) + cocoapods-core (1.9.0.beta.1) activesupport (>= 4.0.2, < 6) algoliasearch (~> 1.0) concurrent-ruby (~> 1.1) fuzzy_match (~> 2.0.4) nap (~> 1.0) + netrc (~> 0.11) + typhoeus (~> 1.0) cocoapods-deintegrate (1.0.4) - cocoapods-downloader (1.2.2) + cocoapods-downloader (1.3.0) cocoapods-plugins (1.0.0) nap cocoapods-search (1.0.0) @@ -50,23 +52,28 @@ GEM colored2 (3.1.2) concurrent-ruby (1.1.5) escape (0.0.4) + ethon (0.12.0) + ffi (>= 1.3.0) + ffi (1.11.3) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) httpclient (2.8.3) i18n (0.9.5) concurrent-ruby (~> 1.0) - json (2.2.0) - minitest (5.12.2) + json (2.3.0) + minitest (5.13.0) molinillo (0.6.6) nanaimo (0.2.6) nap (1.1.0) netrc (0.11.0) ruby-macho (1.4.0) thread_safe (0.3.6) + typhoeus (1.3.1) + ethon (>= 0.9.0) tzinfo (1.2.5) thread_safe (~> 0.1) - xcodeproj (1.13.0) + xcodeproj (1.14.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) @@ -80,4 +87,4 @@ DEPENDENCIES cocoapods (>= 1.7.0.beta.1)! BUNDLED WITH - 1.17.2 + 1.17.3 diff --git a/pkgs/development/mobile/cocoapods/gemset-beta.nix b/pkgs/development/mobile/cocoapods/gemset-beta.nix index b94bc461944..120680f658d 100644 --- a/pkgs/development/mobile/cocoapods/gemset-beta.nix +++ b/pkgs/development/mobile/cocoapods/gemset-beta.nix @@ -36,10 +36,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fr8sdzs2q1969zqh790w223hjidlwx4hfm4c91gj0va5j5pv3n8"; + sha256 = "1825ll26p28swjiw8n3x2pnh5ygsmg83spf82fnzcjn2p87vc5lf"; type = "gem"; }; - version = "3.0.1"; + version = "3.0.2"; }; claide = { groups = ["default"]; @@ -57,21 +57,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "007ssx75588ji2d8l8s6c95dng1c7b6yacng8nngpy7maijzjgzc"; + sha256 = "14447zrbg90gvjhfpwmjsfh4n7i9f0p1zd0jj3m2cx4y8102djiy"; type = "gem"; }; - version = "1.8.4"; + version = "1.9.0.beta.1"; }; cocoapods-core = { - dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap"]; + dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "typhoeus"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zcisqb404828n5d3lbk9y2yyx8v2yr6rk1l8y9a4i1hp743fiad"; + sha256 = "0nhrqwrvblpgf4k3cy0nyxfphyzw46zql1pdv1x7y42h4cn5z8qp"; type = "gem"; }; - version = "1.8.4"; + version = "1.9.0.beta.1"; }; cocoapods-deintegrate = { groups = ["default"]; @@ -88,10 +88,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09fd4zaqkz8vz3djplacngcs4n0j6j956wgq43s1y6bwl0zyjmd3"; + sha256 = "08vn0pgcyn6w6fq5xjd7szv2h9s5rzl17kyidnd7fl5qdmzc9c54"; type = "gem"; }; - version = "1.2.2"; + version = "1.3.0"; }; cocoapods-plugins = { dependencies = ["nap"]; @@ -175,6 +175,27 @@ }; version = "0.0.4"; }; + ethon = { + dependencies = ["ffi"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gggrgkcq839mamx7a8jbnp2h7x2ykfn34ixwskwb0lzx2ak17g9"; + type = "gem"; + }; + version = "0.12.0"; + }; + ffi = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd"; + type = "gem"; + }; + version = "1.11.3"; + }; fourflusher = { groups = ["default"]; platforms = []; @@ -231,20 +252,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx"; + sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn"; type = "gem"; }; - version = "2.2.0"; + version = "2.3.0"; }; minitest = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zjm24aiz42i9n37mcw8lydd7n0y7wfk27by06jx77ypcld3qvkw"; + sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi"; type = "gem"; }; - version = "5.12.2"; + version = "5.13.0"; }; molinillo = { groups = ["default"]; @@ -306,6 +327,17 @@ }; version = "0.3.6"; }; + typhoeus = { + dependencies = ["ethon"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cni8b1idcp0dk8kybmxydadhfpaj3lbs99w5kjibv8bsmip2zi5"; + type = "gem"; + }; + version = "1.3.1"; + }; tzinfo = { dependencies = ["thread_safe"]; groups = ["default"]; @@ -323,9 +355,9 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1c69yrhqd92q6nnpyhvnqyw9l7axnc91gnbd2gai8f5njdisd8wx"; + sha256 = "1h9iba53mrb663qdqzpfbdwkwzqv7hndd0df71yr2kj2hzwjmkvb"; type = "gem"; }; - version = "1.13.0"; + version = "1.14.0"; }; } \ No newline at end of file From c3f09c33ebb773a03efbf0f042340c318aebfbb8 Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Tue, 17 Dec 2019 11:20:32 +1100 Subject: [PATCH 064/125] strelka: fix broken build --- pkgs/applications/science/biology/strelka/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/science/biology/strelka/default.nix b/pkgs/applications/science/biology/strelka/default.nix index c791e8ef89b..cb83b19269b 100644 --- a/pkgs/applications/science/biology/strelka/default.nix +++ b/pkgs/applications/science/biology/strelka/default.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = [ zlib python2 ]; + NIX_CFLAGS_COMPILE = [ "-Wno-error=maybe-uninitialized" ]; + preConfigure = '' sed -i 's|/usr/bin/env python|${python2}/bin/python|' src/python/lib/makeRunScript.py patchShebangs . @@ -33,7 +35,6 @@ stdenv.mkDerivation rec { homepage = https://github.com/Illumina/strelka; maintainers = with maintainers; [ jbedo ]; platforms = [ "x86_64-linux" ]; - broken = true; }; } From 62e680cdcf40da86b1f47e7f59a2716820ff1e3c Mon Sep 17 00:00:00 2001 From: Burke Libbey Date: Mon, 16 Dec 2019 17:50:56 -0500 Subject: [PATCH 065/125] ruby-modules: parse build_flags correctly: In building a gem whose native extension is a Rakefile, the previous version of this code will call essentially `rake ""`, when it means to call `rake`. This change converts `""` into `[]` rather than `[""]`. --- pkgs/development/ruby-modules/gem/nix-bundle-install.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ruby-modules/gem/nix-bundle-install.rb b/pkgs/development/ruby-modules/gem/nix-bundle-install.rb index 142d2da9bee..0d501bd9add 100644 --- a/pkgs/development/ruby-modules/gem/nix-bundle-install.rb +++ b/pkgs/development/ruby-modules/gem/nix-bundle-install.rb @@ -5,6 +5,7 @@ require 'rubygems/command' require 'fileutils' require 'pathname' require 'tmpdir' +require 'shellwords' if defined?(Encoding.default_internal) Encoding.default_internal = Encoding::UTF_8 @@ -31,7 +32,7 @@ bin_dir = File.join(ENV["out"], "bin") type = ARGV[0] name = ARGV[1] version = ARGV[2] -build_flags = ARGV[3] +build_flags = Shellwords.split(ARGV[3]) if type == "git" uri = ARGV[4] REPO = ARGV[5] @@ -117,7 +118,7 @@ else source = Bundler::Source::Path.new(options) end spec = source.specs.search_all(name).first -Bundler.rubygems.with_build_args [build_flags] do +Bundler.rubygems.with_build_args build_flags do source.install(spec) end From 56a206efe92d6885962d4cbfc5dc3f46cf980d5b Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Mon, 16 Dec 2019 20:20:20 -0500 Subject: [PATCH 066/125] gauche: 0.9.8 -> 0.9.9 Release notes: https://practical-scheme.net/gauche/gmemo/?Release%200.9.9 --- pkgs/development/interpreters/gauche/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/gauche/default.nix b/pkgs/development/interpreters/gauche/default.nix index 71542046af9..9b38d1e4ad5 100644 --- a/pkgs/development/interpreters/gauche/default.nix +++ b/pkgs/development/interpreters/gauche/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "gauche"; - version = "0.9.8"; + version = "0.9.9"; src = fetchurl { url = "mirror://sourceforge/gauche/Gauche-${version}.tgz"; - sha256 = "0jxp1ladpy8kvfvk561c64spf1c3d6giqla6zscqkd6qa480vcry"; + sha256 = "1yzpszhw52vkpr65r5d4khf3489mnnvnw58dd2wsvvx7499k5aac"; }; nativeBuildInputs = [ pkgconfig texinfo ]; From 9b372dcf2a3757fae754ef69ca2949d53528e389 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Mon, 16 Dec 2019 13:24:22 -0500 Subject: [PATCH 067/125] pythonPackages.casbin: init at 0.8.3 --- .../python-modules/casbin/default.nix | 40 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 42 insertions(+) create mode 100644 pkgs/development/python-modules/casbin/default.nix diff --git a/pkgs/development/python-modules/casbin/default.nix b/pkgs/development/python-modules/casbin/default.nix new file mode 100644 index 00000000000..114625c397c --- /dev/null +++ b/pkgs/development/python-modules/casbin/default.nix @@ -0,0 +1,40 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, simpleeval +, isPy27 +, coveralls +}: + +buildPythonPackage rec { + pname = "casbin"; + version = "0.8.3"; + + disabled = isPy27; + + src = fetchFromGitHub { + owner = pname; + repo = "pycasbin"; + rev = "v${version}"; + sha256 = "1s89m62933m4wprsknwhabgg7irykrcimv80hh2zkyyslz5vbq71"; + }; + + propagatedBuildInputs = [ + simpleeval + ]; + + checkInputs = [ + coveralls + ]; + + checkPhase = '' + coverage run -m unittest discover -s tests -t tests + ''; + + meta = with lib; { + description = "An authorization library that supports access control models like ACL, RBAC, ABAC in Python"; + homepage = https://github.com/casbin/pycasbin; + license = licenses.asl20; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 84490c93fdf..dba6218ec5a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1908,6 +1908,8 @@ in { cartopy = callPackage ../development/python-modules/cartopy {}; + casbin = callPackage ../development/python-modules/casbin { }; + case = callPackage ../development/python-modules/case {}; cbor = callPackage ../development/python-modules/cbor {}; From ef3756ff1b33cbde63f852e5e9a7c12b5acdc071 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Mon, 16 Dec 2019 13:44:46 -0800 Subject: [PATCH 068/125] Revert "python: gym: 0.15.3 -> 0.15.4" 0.15.4 requires python-opencv, which isn't packaged yet, and is not trival to package This reverts commit 8ee4062480e78f17f47c0e9893c6e16fdff35b73. --- pkgs/development/python-modules/gym/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/gym/default.nix b/pkgs/development/python-modules/gym/default.nix index d90ded1fb5f..52171470c27 100644 --- a/pkgs/development/python-modules/gym/default.nix +++ b/pkgs/development/python-modules/gym/default.nix @@ -5,11 +5,11 @@ buildPythonPackage rec { pname = "gym"; - version = "0.15.4"; + version = "0.15.3"; src = fetchPypi { inherit pname version; - sha256 = "3b930cbe1c76bbd30455b5e82ba723dea94159a5f988e927f443324bf7cc7ddd"; + sha256 = "18381e13bbd1e2f206a1b88a2af4fb87affd7d06ee7955a6e5e6a79478a9adfc"; }; postPatch = '' From 586df03d5bda0007a27eb8ef6b04ac1d5802a47c Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 17 Dec 2019 01:24:24 -0500 Subject: [PATCH 069/125] remmina: 1.3.4 -> 1.3.7 According to the release notes this is a "This release is meant to prepare the stable release for January, before the freeze in Debian an Ubuntu ". Not sure what that means, but I expect a stable release in NixOS 20.03 for sure. https://gitlab.com/Remmina/Remmina/-/tags/v1.3.7 --- pkgs/applications/networking/remote/remmina/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix index adb70c3916f..5324ae86e52 100644 --- a/pkgs/applications/networking/remote/remmina/default.nix +++ b/pkgs/applications/networking/remote/remmina/default.nix @@ -4,7 +4,7 @@ , 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 +, openssl, gsettings-desktop-schemas, json-glib, libsodium, webkitgtk, harfbuzz # The themes here are soft dependencies; only icons are missing without them. , gnome3 }: @@ -13,13 +13,13 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "remmina"; - version = "1.3.4"; + version = "1.3.7"; src = fetchFromGitLab { owner = "Remmina"; repo = "Remmina"; rev = "v${version}"; - sha256 = "18p6v2lalpiba0r318grlc2bvqh2qlpjw811i0934g33faviyfj1"; + sha256 = "076vz6nzs8v4d44dklsfgmwyhp48c2iywixg032znz193anjcgqn"; }; nativeBuildInputs = [ cmake ninja pkgconfig wrapGAppsHook ]; @@ -30,7 +30,8 @@ stdenv.mkDerivation rec { pcre libdbusmenu-gtk3 libappindicator-gtk3 libvncserver libpthreadstubs libXdmcp libxkbcommon libsecret libsoup spice-protocol spice-gtk epoxy at-spi2-core - openssl gnome3.adwaita-icon-theme json-glib + openssl gnome3.adwaita-icon-theme json-glib libsodium webkitgtk + harfbuzz ]; cmakeFlags = [ From 67d1525945c0d14aaef11be7433f442f8edf6e76 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 17 Dec 2019 01:54:08 -0500 Subject: [PATCH 070/125] pantheon.granite: 5.2.5 -> 5.3.0 https://github.com/elementary/granite/releases/tag/5.3.0 --- pkgs/desktops/pantheon/granite/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/granite/default.nix b/pkgs/desktops/pantheon/granite/default.nix index ab673832857..1b73ac88df5 100644 --- a/pkgs/desktops/pantheon/granite/default.nix +++ b/pkgs/desktops/pantheon/granite/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "granite"; - version = "5.2.5"; + version = "5.3.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0z40vhcp2w8s8rnc56pzvjc4s77bln8k84rwwypivjmk3lhpw1vi"; + sha256 = "1gvrk8gh959bmq8w0kaym7sx13v763lk8x5hck00msgmyrsarfwa"; }; passthru = { From 563eea492b18743810cae04f766172e8ecf86bc8 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Mon, 16 Dec 2019 21:43:19 +0100 Subject: [PATCH 071/125] nixosTests.hadoop.hdfs: Port tests to python --- nixos/tests/hadoop/hdfs.nix | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/nixos/tests/hadoop/hdfs.nix b/nixos/tests/hadoop/hdfs.nix index e7d72a56e1e..85aaab34b15 100644 --- a/nixos/tests/hadoop/hdfs.nix +++ b/nixos/tests/hadoop/hdfs.nix @@ -1,4 +1,4 @@ -import ../make-test.nix ({...}: { +import ../make-test-python.nix ({...}: { nodes = { namenode = {pkgs, ...}: { services.hadoop = { @@ -35,20 +35,20 @@ import ../make-test.nix ({...}: { }; testScript = '' - startAll + start_all() - $namenode->waitForUnit("hdfs-namenode"); - $namenode->waitForUnit("network.target"); - $namenode->waitForOpenPort(8020); - $namenode->waitForOpenPort(9870); + namenode.wait_for_unit("hdfs-namenode") + namenode.wait_for_unit("network.target") + namenode.wait_for_open_port(8020) + namenode.wait_for_open_port(9870) - $datanode->waitForUnit("hdfs-datanode"); - $datanode->waitForUnit("network.target"); - $datanode->waitForOpenPort(9864); - $datanode->waitForOpenPort(9866); - $datanode->waitForOpenPort(9867); + datanode.wait_for_unit("hdfs-datanode") + datanode.wait_for_unit("network.target") + datanode.wait_for_open_port(9864) + datanode.wait_for_open_port(9866) + datanode.wait_for_open_port(9867) - $namenode->succeed("curl http://namenode:9870"); - $datanode->succeed("curl http://datanode:9864"); + namenode.succeed("curl http://namenode:9870") + datanode.succeed("curl http://datanode:9864") ''; }) From 5cb7b2cf60a674658ae4c8225bf1d0c11b7bdc2a Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Mon, 16 Dec 2019 21:45:46 +0100 Subject: [PATCH 072/125] nixosTests.hadoop.yarn: Port tests to python --- nixos/tests/hadoop/yarn.nix | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/nixos/tests/hadoop/yarn.nix b/nixos/tests/hadoop/yarn.nix index 031592301f1..2264ecaff15 100644 --- a/nixos/tests/hadoop/yarn.nix +++ b/nixos/tests/hadoop/yarn.nix @@ -1,4 +1,4 @@ -import ../make-test.nix ({...}: { +import ../make-test-python.nix ({...}: { nodes = { resourcemanager = {pkgs, ...}: { services.hadoop.package = pkgs.hadoop_3_1; @@ -28,19 +28,19 @@ import ../make-test.nix ({...}: { }; testScript = '' - startAll; + start_all() - $resourcemanager->waitForUnit("yarn-resourcemanager"); - $resourcemanager->waitForUnit("network.target"); - $resourcemanager->waitForOpenPort(8031); - $resourcemanager->waitForOpenPort(8088); + resourcemanager.wait_for_unit("yarn-resourcemanager") + resourcemanager.wait_for_unit("network.target") + resourcemanager.wait_for_open_port(8031) + resourcemanager.wait_for_open_port(8088) - $nodemanager->waitForUnit("yarn-nodemanager"); - $nodemanager->waitForUnit("network.target"); - $nodemanager->waitForOpenPort(8042); - $nodemanager->waitForOpenPort(8041); + nodemanager.wait_for_unit("yarn-nodemanager") + nodemanager.wait_for_unit("network.target") + nodemanager.wait_for_open_port(8042) + nodemanager.wait_for_open_port(8041) - $resourcemanager->succeed("curl http://localhost:8088"); - $nodemanager->succeed("curl http://localhost:8042"); + resourcemanager.succeed("curl http://localhost:8088") + nodemanager.succeed("curl http://localhost:8042") ''; }) From 05587aba8b0299efbb7e5ce525b5edbb0e5af0b2 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Mon, 16 Dec 2019 22:02:36 +0100 Subject: [PATCH 073/125] nixosTests.hitch: Port tests to python --- nixos/tests/hitch/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/tests/hitch/default.nix b/nixos/tests/hitch/default.nix index cb24c4dcffc..10612025641 100644 --- a/nixos/tests/hitch/default.nix +++ b/nixos/tests/hitch/default.nix @@ -1,4 +1,4 @@ -import ../make-test.nix ({ pkgs, ... }: +import ../make-test-python.nix ({ pkgs, ... }: { name = "hitch"; meta = with pkgs.stdenv.lib.maintainers; { @@ -23,11 +23,11 @@ import ../make-test.nix ({ pkgs, ... }: testScript = '' - startAll; + start_all() - $machine->waitForUnit('multi-user.target'); - $machine->waitForUnit('hitch.service'); - $machine->waitForOpenPort(443); - $machine->succeed('curl -k https://localhost:443/index.txt | grep "We are all good!"'); + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("hitch.service") + machine.wait_for_open_port(443) + assert "We are all good!" in machine.succeed("curl -k https://localhost:443/index.txt") ''; }) From 01591517053f759a2b5eccd43ecccea108aa0f06 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Tue, 17 Dec 2019 15:26:06 +0100 Subject: [PATCH 074/125] manual: specify interpreter in virtualenv shell Without this virtualenv might try to setup an environment for a different version of python then the one specified in the expression. --- doc/languages-frameworks/python.section.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index 1bedebd1190..9cb0e1eecc1 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -1034,7 +1034,10 @@ Create this `default.nix` file, together with a `requirements.txt` and simply ex ```nix with import {}; -with python27Packages; + +let + pythonPackages = python27Packages; +in stdenv.mkDerivation { name = "impurePythonEnv"; @@ -1044,9 +1047,8 @@ stdenv.mkDerivation { buildInputs = [ # these packages are required for virtualenv and pip to work: # - python27Full - python27Packages.virtualenv - python27Packages.pip + pythonPackages.virtualenv + pythonPackages.pip # the following packages are related to the dependencies of your python # project. # In this particular example the python modules listed in the @@ -1059,14 +1061,13 @@ stdenv.mkDerivation { libxml2 libxslt libzip - stdenv zlib ]; shellHook = '' # set SOURCE_DATE_EPOCH so that we can use python wheels SOURCE_DATE_EPOCH=$(date +%s) - virtualenv --no-setuptools venv + virtualenv --python=${pythonPackages.python.interpreter} --no-setuptools venv export PATH=$PWD/venv/bin:$PATH pip install -r requirements.txt ''; From a5dd19de79c0c0d173030a18a543580c5e644cfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Maret?= Date: Mon, 9 Dec 2019 21:13:39 +0100 Subject: [PATCH 075/125] sundials: replace liblapack by openblas --- pkgs/development/libraries/sundials/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix index 77a7764acb8..d19ecf34ab9 100644 --- a/pkgs/development/libraries/sundials/default.nix +++ b/pkgs/development/libraries/sundials/default.nix @@ -2,19 +2,17 @@ , cmake , fetchurl , python -, liblapack +, openblas , gfortran , lapackSupport ? true }: -let liblapackShared = liblapack.override { - shared = true; -}; +let openblas32 = openblas.override { blas64 = false; }; in stdenv.mkDerivation rec { pname = "sundials"; version = "5.0.0"; - buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran ]; + buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran openblas32 ]; nativeBuildInputs = [ cmake ]; src = fetchurl { @@ -40,7 +38,7 @@ in stdenv.mkDerivation rec { ] ++ stdenv.lib.optionals (lapackSupport) [ "-DSUNDIALS_INDEX_TYPE=int32_t" "-DLAPACK_ENABLE=ON" - "-DLAPACK_LIBRARIES=${liblapackShared}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary};${liblapackShared}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}" + "-DLAPACK_LIBRARIES=${openblas32}/lib/libopenblas${stdenv.hostPlatform.extensions.sharedLibrary}" ]; doCheck = true; From 7e929390ae464ba147c8d1e77d53c9fc62a6d5cf Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Tue, 17 Dec 2019 11:56:46 -0500 Subject: [PATCH 076/125] slack: add xdg_utils to the PATH Otherwise it cannot log in to new workspaces. --- .../networking/instant-messengers/slack/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix index da470c349ee..e501d3bcdbf 100644 --- a/pkgs/applications/networking/instant-messengers/slack/default.nix +++ b/pkgs/applications/networking/instant-messengers/slack/default.nix @@ -1,7 +1,7 @@ { 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, at-spi2-core, libuuid, nodePackages, libpulseaudio +at-spi2-atk, at-spi2-core, libuuid, nodePackages, libpulseaudio, xdg_utils }: let @@ -93,7 +93,8 @@ in stdenv.mkDerivation { # Replace the broken bin/slack symlink with a startup wrapper rm $out/bin/slack makeWrapper $out/lib/slack/slack $out/bin/slack \ - --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH + --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \ + --prefix PATH : ${xdg_utils}/bin # Fix the desktop link substituteInPlace $out/share/applications/slack.desktop \ From bc3fade573c8bfd49916b4afa3d00b37afe655ec Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sun, 15 Dec 2019 20:37:50 -0800 Subject: [PATCH 077/125] python3Packages.jaraco_text: 3.1 -> 3.2.0 --- .../python-modules/jaraco_text/default.nix | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/jaraco_text/default.nix b/pkgs/development/python-modules/jaraco_text/default.nix index 1d6ce78b685..9b3821edd7a 100644 --- a/pkgs/development/python-modules/jaraco_text/default.nix +++ b/pkgs/development/python-modules/jaraco_text/default.nix @@ -1,15 +1,31 @@ -{ buildPythonPackage, fetchPypi, setuptools_scm +{ lib, buildPythonPackage, fetchPypi, pythonOlder +, importlib-resources , jaraco_functools +, setuptools_scm }: buildPythonPackage rec { pname = "jaraco.text"; - version = "3.1"; + version = "3.2.0"; + src = fetchPypi { inherit pname version; - sha256 = "0c7effed0f269e8bdae3374a7545763e84c1e7f9777cf2dd2d49eef92eb0d7b7"; + sha256 = "1v0hz3h74m31jlbc5bxwkvrx1h2n7887bajrg1n1c3yc4q8qn1z5"; }; + + nativeBuildInputs =[ setuptools_scm ]; + propagatedBuildInputs = [ + jaraco_functools + ] ++ lib.optional (pythonOlder "3.7") [ importlib-resources ]; + + # no tests in pypi package doCheck = false; - buildInputs =[ setuptools_scm ]; - propagatedBuildInputs = [ jaraco_functools ]; + + meta = with lib; { + description = "Module for text manipulation"; + homepage = "https://github.com/jaraco/jaraco.text"; + license = licenses.mit; + maintainers = with maintainers; [ ]; + }; + } From f9b7209e2900d843d975e93092782c5ec454ee56 Mon Sep 17 00:00:00 2001 From: Serg Nesterov Date: Tue, 17 Dec 2019 20:38:08 +0300 Subject: [PATCH 078/125] restic: 0.9.5 -> 0.9.6 --- pkgs/tools/backup/restic/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/backup/restic/default.nix b/pkgs/tools/backup/restic/default.nix index b78fc9b61f7..26f05d41954 100644 --- a/pkgs/tools/backup/restic/default.nix +++ b/pkgs/tools/backup/restic/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { pname = "restic"; - version = "0.9.5"; + version = "0.9.6"; goPackagePath = "github.com/restic/restic"; @@ -10,7 +10,7 @@ buildGoPackage rec { owner = "restic"; repo = "restic"; rev = "v${version}"; - sha256 = "1bhn3xwlycpnjg2qbqblwxn3apj43lr5cakgkmrblk13yfwfv5xv"; + sha256 = "0lydll93n1lcn1fl669b9cikmzz9d6vfpc8ky3ng5fi8kj3v1dz7"; }; buildPhase = '' From a77524e2e38a30bdfaf16ba153700b28c2d70d7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20P=C3=A4ssler?= Date: Tue, 17 Dec 2019 23:27:58 +0100 Subject: [PATCH 079/125] dovecot_pigeonhole: 0.5.8 -> 0.5.9 Fixes build with dovecot 2.3.9+. --- pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix index 4184771f8a8..71a5c20dea3 100644 --- a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix +++ b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "dovecot-pigeonhole"; - version = "0.5.8"; + version = "0.5.9"; src = fetchurl { url = "https://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-${version}.tar.gz"; - sha256 = "08lhfl877xm790f1mqdhvz74xqr2kkl8wpz2m6p0j6hv1kan1f4g"; + sha256 = "01dxidrnmrr2gqggfsgkfxa6ynvyjyw13xw32gi86yqmwnm6inin"; }; buildInputs = [ dovecot openssl ]; From 8d5f5e7e3e73ff185b5cb88952cdafb81042c7f6 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Tue, 17 Dec 2019 23:36:44 +0100 Subject: [PATCH 080/125] signal-desktop: 1.29.0 -> 1.29.1 --- .../networking/instant-messengers/signal-desktop/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix index 6bbdb66d3a8..4a72c186dfa 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix @@ -59,7 +59,7 @@ let in stdenv.mkDerivation rec { pname = "signal-desktop"; - version = "1.29.0"; # Please backport all updates to the stable channel. + version = "1.29.1"; # Please backport all updates to the stable channel. # All releases have a limited lifetime and "expire" 90 days after the release. # When releases "expire" the application becomes unusable until an update is # applied. The expiration date for the current release can be extracted with: @@ -69,7 +69,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb"; - sha256 = "1zbj0z4bhmg6zf975bn67wpr1kdi0h05d90aniijnh5wqgnwhfqn"; + sha256 = "12n17d8b31si7gngvv8bhbcid46n18kznv875nyy34i6b97zavmh"; }; phases = [ "unpackPhase" "installPhase" ]; From 705cc5381725b2db19197f6a219d55c88525ee7f Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Wed, 18 Dec 2019 00:26:41 +0100 Subject: [PATCH 081/125] fsv: fix build with gettext 0.20 --- pkgs/applications/misc/fsv/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/applications/misc/fsv/default.nix b/pkgs/applications/misc/fsv/default.nix index 00e11858fb4..bbc78efe5cd 100644 --- a/pkgs/applications/misc/fsv/default.nix +++ b/pkgs/applications/misc/fsv/default.nix @@ -26,6 +26,11 @@ in stdenv.mkDerivation rec { sha256 = "0n09jd7yqj18mx6zqbg7kab4idg5llr15g6avafj74fpg1h7iimj"; }; + postPatch = '' + # fix build with gettext 0.20 + sed -i 's/AM_GNU_GETTEXT/AM_GNU_GETTEXT([external])/' configure.in + ''; + nativeBuildInputs = [ autoreconfHook libtool pkgconfig ]; buildInputs = [ file gtk2 libGLU gtkglarea ]; From 87489677f49a2310282a020736246bce1503cf0d Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 17 Dec 2019 18:42:55 +0100 Subject: [PATCH 082/125] kpat: init at 19.12.0 --- pkgs/applications/kde/default.nix | 1 + pkgs/applications/kde/kpat.nix | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/applications/kde/kpat.nix diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix index 70a716a760c..40e69f8c9bc 100644 --- a/pkgs/applications/kde/default.nix +++ b/pkgs/applications/kde/default.nix @@ -138,6 +138,7 @@ let konquest = callPackage ./konquest.nix {}; konqueror = callPackage ./konqueror.nix {}; korganizer = callPackage ./korganizer.nix {}; + kpat = callPackage ./kpat.nix {}; kpimtextedit = callPackage ./kpimtextedit.nix {}; ksmtp = callPackage ./ksmtp {}; kqtquickcharts = callPackage ./kqtquickcharts.nix {}; diff --git a/pkgs/applications/kde/kpat.nix b/pkgs/applications/kde/kpat.nix new file mode 100644 index 00000000000..9ee57353237 --- /dev/null +++ b/pkgs/applications/kde/kpat.nix @@ -0,0 +1,25 @@ +{ lib +, mkDerivation +, extra-cmake-modules +, knewstuff +, shared-mime-info +, libkdegames +, freecell-solver +}: + +mkDerivation { + name = "kpat"; + nativeBuildInputs = [ + extra-cmake-modules + shared-mime-info + ]; + buildInputs = [ + knewstuff + libkdegames + freecell-solver + ]; + meta = { + license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; + maintainers = with lib.maintainers; [ rnhmjoj ]; + }; +} From 28a057a56bf4b699208b1adf4171abc5b8b2976d Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Wed, 18 Dec 2019 10:36:51 +1100 Subject: [PATCH 083/125] bedtools: 2.29.1 -> 2.29.2 --- pkgs/applications/science/biology/bedtools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/biology/bedtools/default.nix b/pkgs/applications/science/biology/bedtools/default.nix index 0bb5ee866e5..9af2ec88c39 100644 --- a/pkgs/applications/science/biology/bedtools/default.nix +++ b/pkgs/applications/science/biology/bedtools/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "bedtools"; - version = "2.29.1"; + version = "2.29.2"; src = fetchFromGitHub { owner = "arq5x"; repo = "bedtools2"; rev = "v${version}"; - sha256 = "1vbpjvzl4ppzkan9qgm84bkn9kl3h3m5xz92y18wn1sksxcdq50x"; + sha256 = "015qq3pwrwgnyxyi959niijjlswl231b3wxlsm3l8msv6fdhmkz8"; }; buildInputs = [ zlib python bzip2 lzma ]; From 2b3026f172d3bb6d4b03a238da04d0067a4df63b Mon Sep 17 00:00:00 2001 From: Pash Shocky Date: Fri, 6 Dec 2019 18:18:47 +0000 Subject: [PATCH 084/125] maintainers: adding pashashocky --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index f2632f8f69d..08db4549733 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -5239,6 +5239,12 @@ githubId = 20792; name = "Sebastian Galkin"; }; + pashashocky = { + email = "pashashocky@gmail.com"; + github = "pashashocky"; + githubId = 673857; + name = "Pash Shocky"; + }; pashev = { email = "pashev.igor@gmail.com"; github = "ip1981"; From 82116878da9ddaf54b7213428a828cf4f090fb26 Mon Sep 17 00:00:00 2001 From: Pash Shocky Date: Sat, 7 Dec 2019 01:15:09 +0000 Subject: [PATCH 085/125] sentencepiece: init at 0.1.84 --- .../libraries/sentencepiece/default.nix | 31 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/development/libraries/sentencepiece/default.nix diff --git a/pkgs/development/libraries/sentencepiece/default.nix b/pkgs/development/libraries/sentencepiece/default.nix new file mode 100644 index 00000000000..556f77ef8b5 --- /dev/null +++ b/pkgs/development/libraries/sentencepiece/default.nix @@ -0,0 +1,31 @@ +{ config +, fetchFromGitHub +, stdenv +, lib +, cmake +, gperftools +}: + +stdenv.mkDerivation rec { + pname = "sentencepiece"; + version = "0.1.84"; + + src = fetchFromGitHub { + owner = "google"; + repo = pname; + rev = "v${version}"; + sha256 = "144y25nj4rwxmgvzqbr7al9fjwh3539ssjswvzrx4gsgfk62lsm0"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ cmake gperftools ]; + + meta = with stdenv.lib; { + homepage = https://github.com/google/sentencepiece; + description = "Unsupervised text tokenizer for Neural Network-based text generation"; + license = licenses.asl20; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ pashashocky ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e11f942c6fb..d71a039199c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25611,4 +25611,6 @@ in gortr = callPackage ../servers/gortr {}; + sentencepiece = callPackage ../development/libraries/sentencepiece {}; + } From 0b68e445e12a330734733b409763424c52b136b1 Mon Sep 17 00:00:00 2001 From: Pash Shocky Date: Sat, 7 Dec 2019 03:26:02 +0000 Subject: [PATCH 086/125] pythonPackages.sentencepiece: init at 0.1.84 --- .../python-modules/sentencepiece/default.nix | 15 +++++++++++++++ pkgs/top-level/python-packages.nix | 4 ++++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/development/python-modules/sentencepiece/default.nix diff --git a/pkgs/development/python-modules/sentencepiece/default.nix b/pkgs/development/python-modules/sentencepiece/default.nix new file mode 100644 index 00000000000..ab7a5387c02 --- /dev/null +++ b/pkgs/development/python-modules/sentencepiece/default.nix @@ -0,0 +1,15 @@ +{ buildPythonPackage +, stdenv +, sentencepiece +, pkgconfig +}: + +buildPythonPackage rec { + pname = "sentencepiece"; + inherit (sentencepiece) version src meta; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ sentencepiece ]; + + sourceRoot = "source/python"; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dba6218ec5a..7efd994ce8b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1281,6 +1281,10 @@ in { selectors2 = callPackage ../development/python-modules/selectors2 { }; + sentencepiece = callPackage ../development/python-modules/sentencepiece { + inherit (pkgs) sentencepiece pkgconfig; + }; + sentinel = callPackage ../development/python-modules/sentinel { }; sentry-sdk = callPackage ../development/python-modules/sentry-sdk {}; From 16d9c2a5702511b03bb3700fb717060491cc1252 Mon Sep 17 00:00:00 2001 From: Pash Shocky Date: Fri, 6 Dec 2019 18:37:50 +0000 Subject: [PATCH 087/125] sacremoses: init at 0.0.35 --- .../python-modules/sacremoses/default.nix | 37 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/python-modules/sacremoses/default.nix diff --git a/pkgs/development/python-modules/sacremoses/default.nix b/pkgs/development/python-modules/sacremoses/default.nix new file mode 100644 index 00000000000..ef0fcb57dc9 --- /dev/null +++ b/pkgs/development/python-modules/sacremoses/default.nix @@ -0,0 +1,37 @@ +{ buildPythonPackage +, stdenv +, fetchFromGitHub +, click +, six +, tqdm +, joblib +, pytest +}: + +buildPythonPackage rec { + pname = "sacremoses"; + version = "0.0.35"; + + src = fetchFromGitHub { + owner = "alvations"; + repo = pname; + rev = "${version}"; + sha256 = "1gzr56w8yx82mn08wax5m0xyg15ym4ri5l80gmagp8r53443j770"; + }; + + propagatedBuildInputs = [ click six tqdm joblib ]; + + checkInputs = [ pytest ]; + # ignore tests which call to remote host + checkPhase = '' + pytest -k 'not truecase' + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/alvations/sacremoses"; + description = "Python port of Moses tokenizer, truecaser and normalizer"; + license = licenses.lgpl21Plus; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ pashashocky ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7efd994ce8b..6270b4bba33 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1281,6 +1281,8 @@ in { selectors2 = callPackage ../development/python-modules/selectors2 { }; + sacremoses = callPackage ../development/python-modules/sacremoses { }; + sentencepiece = callPackage ../development/python-modules/sentencepiece { inherit (pkgs) sentencepiece pkgconfig; }; From dae6544457901efcc458801b771da768e92cc8a4 Mon Sep 17 00:00:00 2001 From: Pash Shocky Date: Fri, 6 Dec 2019 18:40:29 +0000 Subject: [PATCH 088/125] transformers: init at 2.2.1 --- .../python-modules/transformers/default.nix | 41 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/development/python-modules/transformers/default.nix diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix new file mode 100644 index 00000000000..09ebf739d7d --- /dev/null +++ b/pkgs/development/python-modules/transformers/default.nix @@ -0,0 +1,41 @@ +{ buildPythonPackage +, stdenv +, fetchFromGitHub +, sacremoses +, requests +, sentencepiece +, boto3 +, tqdm +, regex +, numpy +, pytest +}: + +buildPythonPackage rec { + pname = "transformers"; + version = "2.2.1"; + + src = fetchFromGitHub { + owner = "huggingface"; + repo = pname; + rev = "v${version}"; + sha256 = "1p8p3lhhiyk1xl9gpgq4vbchyz57v3w7hhvsj1r90zs3cckindl8"; + }; + + propagatedBuildInputs = [ numpy sacremoses requests sentencepiece boto3 tqdm regex ]; + + checkInputs = [ pytest ]; + # pretrained tries to download from s3 + checkPhase = '' + cd transformers # avoid importing local files + HOME=$TMPDIR pytest -k 'not pretrained_tokenizers' + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/huggingface/transformers"; + description = "State-of-the-art Natural Language Processing for TensorFlow 2.0 and PyTorch"; + license = licenses.asl20; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ pashashocky ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6270b4bba33..ed66a20db53 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1287,6 +1287,8 @@ in { inherit (pkgs) sentencepiece pkgconfig; }; + transformers = callPackage ../development/python-modules/transformers { }; + sentinel = callPackage ../development/python-modules/sentinel { }; sentry-sdk = callPackage ../development/python-modules/sentry-sdk {}; From 797b706daf2ac6223f8d15220fa86376fceb24ec Mon Sep 17 00:00:00 2001 From: Ryan Orendorff <56783407+orendorff-mi@users.noreply.github.com> Date: Wed, 18 Dec 2019 09:32:32 +0800 Subject: [PATCH 089/125] barrier: add openssl runtime dependency (#75490) * barrier: add openssl runtime dependency The barrier GUI creates an SSL certificate at runtime using OpenSSL. We add openssl to the path to enable this feature. * barrier: fix GLib-GIO-ERROR rg.gtk.Settings.FileChooser When you use the Barrier menu item in the GUI to save the configuration, the program crashes. wrapGAppsHook fixes this issue. Error was: GLib-GIO-ERROR **: 19:03:29.155: Settings schema 'org.gtk.Settings.FileChooser' does not contain a key nixos * barrier: move cmake buildInputs to nativeBuildInputs --- pkgs/applications/misc/barrier/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/misc/barrier/default.nix b/pkgs/applications/misc/barrier/default.nix index d8325e19e26..10e46176c6e 100644 --- a/pkgs/applications/misc/barrier/default.nix +++ b/pkgs/applications/misc/barrier/default.nix @@ -1,4 +1,5 @@ { stdenv, fetchFromGitHub, cmake, curl, xorg, avahi, qtbase, mkDerivation, + openssl, wrapGAppsHook, avahiWithLibdnssdCompat ? avahi.override { withLibdnssdCompat = true; } }: @@ -13,12 +14,17 @@ mkDerivation rec { sha256 = "1gbg3p7c0vcsdzsjj1ssx6k8xpj3rpyvais12266f0xvnbvihczd"; }; - buildInputs = [ cmake curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ]; + buildInputs = [ curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ]; + nativeBuildInputs = [ cmake wrapGAppsHook ]; postFixup = '' substituteInPlace "$out/share/applications/barrier.desktop" --replace "Exec=barrier" "Exec=$out/bin/barrier" ''; + qtWrapperArgs = [ + ''--prefix PATH : ${stdenv.lib.makeBinPath [ openssl ]}'' + ]; + meta = { description = "Open-source KVM software"; longDescription = '' From 0e182006c1d5154bdde3b9b4f09773531b4fbd23 Mon Sep 17 00:00:00 2001 From: Sascha Grunert Date: Wed, 18 Dec 2019 09:09:11 +0100 Subject: [PATCH 090/125] slirp4netns: v0.4.2 -> v0.4.3 Signed-off-by: Sascha Grunert --- pkgs/tools/networking/slirp4netns/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/slirp4netns/default.nix b/pkgs/tools/networking/slirp4netns/default.nix index 83f315706ef..f9add47dd3f 100644 --- a/pkgs/tools/networking/slirp4netns/default.nix +++ b/pkgs/tools/networking/slirp4netns/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "slirp4netns"; - version = "0.4.2"; + version = "0.4.3"; src = fetchFromGitHub { owner = "rootless-containers"; repo = "slirp4netns"; rev = "v${version}"; - sha256 = "0i0rhb7n2i2nmbvdqdx83vi3kw4r17p7p099sr857cr3f3c221qx"; + sha256 = "0g7apfw33wkxxj7qwvlnnhv7qy13s1gkbmvns8612c0yfv9jrsvq"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; From 96d73edaf33f4c9ee452f65504bfdfab9a653eaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 18 Dec 2019 11:04:30 +0100 Subject: [PATCH 091/125] release: remove metrics from unstable channel (temporarily) Since friday the metrics machine (along with other replaceable ones) has no public-IP connectivity. I hoped I'd be able to resolve this with ISP quickly, but apparently not. Let's not block the channel at least. The metrics data can get filled retrospectively by restarting the individual Hydra jobs. --- pkgs/top-level/release.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index f832268899d..3d8aad5b18d 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -89,7 +89,7 @@ let meta.description = "Release-critical builds for the Nixpkgs unstable channel"; constituents = [ jobs.tarball - jobs.metrics + #jobs.metrics #FIXME(vcunat): re-enable this as soon as possible jobs.manual jobs.lib-tests jobs.stdenv.x86_64-linux From 727b097c78934eae1f31dc5612df8f6246837d70 Mon Sep 17 00:00:00 2001 From: Emmanuel Rosa Date: Wed, 18 Dec 2019 17:48:38 +0700 Subject: [PATCH 092/125] ripgrep-all: add missing dependencies This change adds additional dependencies so that the program's full functionality is available by simply installing this package. Closes #75735 --- pkgs/tools/text/ripgrep-all/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/text/ripgrep-all/default.nix b/pkgs/tools/text/ripgrep-all/default.nix index 521b123d878..b17b6078c28 100644 --- a/pkgs/tools/text/ripgrep-all/default.nix +++ b/pkgs/tools/text/ripgrep-all/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, rustPlatform, makeWrapper, ffmpeg -, pandoc, poppler_utils, ripgrep, Security +, pandoc, poppler_utils, ripgrep, Security, imagemagick, tesseract }: rustPlatform.buildRustPackage rec { @@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram $out/bin/rga \ - --prefix PATH ":" "${lib.makeBinPath [ ffmpeg pandoc poppler_utils ripgrep ]}" + --prefix PATH ":" "${lib.makeBinPath [ ffmpeg pandoc poppler_utils ripgrep imagemagick tesseract ]}" ''; meta = with stdenv.lib; { From f1acc6e70e20ffcc3354b6055a4d5e6f6f68b718 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Wed, 18 Dec 2019 11:53:16 +0100 Subject: [PATCH 093/125] matrix-synapse: 1.7.0 -> 1.7.1 https://github.com/matrix-org/synapse/releases/tag/v1.7.1 --- pkgs/servers/matrix-synapse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix index 72e3b5fc0e8..db61fd5568e 100644 --- a/pkgs/servers/matrix-synapse/default.nix +++ b/pkgs/servers/matrix-synapse/default.nix @@ -23,11 +23,11 @@ let in buildPythonApplication rec { pname = "matrix-synapse"; - version = "1.7.0"; + version = "1.7.1"; src = fetchPypi { inherit pname version; - sha256 = "1z7q34yazjb3glzhm0si0pzif32gnp03bmd490gckkl30rklyxsp"; + sha256 = "1aix4n4nk90xh6y3w3gvq3wzvykzz7mhj9isl437nid7mf9mcj6n"; }; patches = [ From cad12aee9bcbe0de152e0d15596a6df4407bc54e Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Mon, 16 Dec 2019 14:06:45 +0000 Subject: [PATCH 094/125] gubbi-font: init at 1.3 --- pkgs/data/fonts/gubbi/default.nix | 29 +++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/data/fonts/gubbi/default.nix diff --git a/pkgs/data/fonts/gubbi/default.nix b/pkgs/data/fonts/gubbi/default.nix new file mode 100644 index 00000000000..2d1c520e610 --- /dev/null +++ b/pkgs/data/fonts/gubbi/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub, fontforge }: + +stdenv.mkDerivation rec { + pname = "gubbi-font"; + version = "1.3"; + + src = fetchFromGitHub { + owner = "aravindavk"; + repo = "gubbi"; + rev = "v${version}"; + sha256 = "10w9i3pmjvs1b3xclrgn4q5a95ss4ipldbxbqrys2dmfivx7i994"; + }; + + nativeBuildInputs = [ fontforge ]; + + dontConfigure = true; + + preBuild = "patchShebangs generate.pe"; + + installPhase = "install -Dm444 -t $out/share/fonts/truetype/ Gubbi.ttf"; + + meta = with stdenv.lib; { + inherit (src.meta) homepage; + description = "A Kannada font"; + license = licenses.gpl3Plus; + platforms = platforms.all; + maintainers = with maintainers; [ ehmry ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 09bd48b084b..4d73deb84cd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17296,6 +17296,8 @@ in greybird = callPackage ../data/themes/greybird { }; + gubbi-font = callPackage ../data/fonts/gubbi { }; + gyre-fonts = callPackage ../data/fonts/gyre {}; hack-font = callPackage ../data/fonts/hack { }; From 5b29c8d9372218c61d3a3d073a362c50f94c4c62 Mon Sep 17 00:00:00 2001 From: BSKY Date: Wed, 18 Dec 2019 01:36:57 +0900 Subject: [PATCH 095/125] yarn: 1.19.2 -> 1.21.1 --- pkgs/development/tools/yarn/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix index 3384dac5410..154b228e0e1 100644 --- a/pkgs/development/tools/yarn/default.nix +++ b/pkgs/development/tools/yarn/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "yarn"; - version = "1.19.2"; + version = "1.21.1"; src = fetchzip { url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz"; - sha256 = "05sjf7pgdj3hh92j2xxl683frrkiw1rqxs72z3an4gb83nllvi0n"; + sha256 = "1yw3v62a6309f9hr189870i9jw2a15pkians1nnfjqczzh7r5pih"; }; buildInputs = [ nodejs ]; From 05aa59afa639c188e82e565b63976fa69a7a51a6 Mon Sep 17 00:00:00 2001 From: David Wood Date: Wed, 18 Dec 2019 10:37:26 +0000 Subject: [PATCH 096/125] franz: fix `Exec` substitution in `franz.desktop` Signed-off-by: David Wood --- .../networking/instant-messengers/franz/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/instant-messengers/franz/default.nix b/pkgs/applications/networking/instant-messengers/franz/default.nix index feba61c8a3b..605550beb50 100644 --- a/pkgs/applications/networking/instant-messengers/franz/default.nix +++ b/pkgs/applications/networking/instant-messengers/franz/default.nix @@ -35,7 +35,7 @@ in stdenv.mkDerivation { # provide desktop item and icon cp -r usr/share $out substituteInPlace $out/share/applications/franz.desktop \ - --replace Exec=\"/opt/Franz/franz\" Exec=franz + --replace /opt/Franz/franz franz ''; dontWrapGApps = true; From c3c072ad17fa517afaed23fa29fb2f4f3b4f863c Mon Sep 17 00:00:00 2001 From: Emmanuel Rosa Date: Wed, 18 Dec 2019 21:17:59 +0700 Subject: [PATCH 097/125] ripgrep-all: add checkInstall test This change adds a checkInstallPhase which runs a couple of queries to smoke-test the ripgrep-all adapters. The queries are intended to ensure that the dependencies needed by the adapters are included in the package's dependencies. --- pkgs/tools/text/ripgrep-all/default.nix | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pkgs/tools/text/ripgrep-all/default.nix b/pkgs/tools/text/ripgrep-all/default.nix index b17b6078c28..d41be25231c 100644 --- a/pkgs/tools/text/ripgrep-all/default.nix +++ b/pkgs/tools/text/ripgrep-all/default.nix @@ -22,6 +22,30 @@ rustPlatform.buildRustPackage rec { --prefix PATH ":" "${lib.makeBinPath [ ffmpeg pandoc poppler_utils ripgrep imagemagick tesseract ]}" ''; + # Use upstream's example data to run a couple of queries to ensure the dependencies + # for all of the adapters are available. + installCheckPhase = '' + set -e + export PATH="$PATH:$out/bin" + + test1=$(rga --rga-no-cache "hello" exampledir/ | wc -l) + test2=$(rga --rga-no-cache --rga-adapters=tesseract "crate" exampledir/screenshot.png | wc -l) + + if [ $test1 != 26 ] + then + echo "ERROR: test1 failed! Could not find the word 'hello' 26 times in the sample data." + exit 1 + fi + + if [ $test2 != 1 ] + then + echo "ERROR: test2 failed! Could not find the word 'crate' in the screenshot." + exit 1 + fi + ''; + + doInstallCheck = true; + meta = with stdenv.lib; { description = "Ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, and more"; longDescription = '' From 4cccc3c543bd9b9cf289f44b610e866a743e5124 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Wed, 18 Dec 2019 16:46:50 +0100 Subject: [PATCH 098/125] androidStudioPackages.beta: 3.6.0.17 -> 3.6.0.18 --- pkgs/applications/editors/android-studio/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index ee3865590e5..fcd15355a10 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -13,9 +13,9 @@ let sha256Hash = "1nsm4d3vdx90szqd78a8mjq65xc9m5ipd35cqrlx3c3ny900sqxg"; }; betaVersion = { - version = "3.6.0.17"; # "Android Studio 3.6 Beta 5" - build = "192.6018865"; - sha256Hash = "0qlrdf7a6f5585mrni1aa2chic4n7b9c8lgrj8br6q929hc2f5d9"; + version = "3.6.0.18"; # "Android Studio 3.6 RC 1" + build = "192.6071332"; + sha256Hash = "0xpcihr5xxr9l1kv6aflywshs8fww3s7di0g98mz475whhxwzf3q"; }; latestVersion = { # canary & dev version = "4.0.0.6"; # "Android Studio 4.0 Canary 6" From 38e3b0e39f61a7a8a211a659cea98f3ba0587f8b Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Wed, 18 Dec 2019 11:22:59 -0500 Subject: [PATCH 099/125] linux: 4.14.158 -> 4.14.159 --- pkgs/os-specific/linux/kernel/linux-4.14.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index d57953bbb72..ccc2f94814a 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.14.158"; + version = "4.14.159"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1cqvr8pgqx005a9qyphqykakzwc54adq8mmdc9sgrxkkw9rfqj8d"; + sha256 = "1wi6m3w40z0v9krb12g9q09s9y471r51rhcv3qa81lc53cx2vm78"; }; } // (args.argsOverride or {})) From 819a16497447ec79eec9e66ac23fd9cbdd55005d Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Wed, 18 Dec 2019 11:23:16 -0500 Subject: [PATCH 100/125] linux: 4.19.89 -> 4.19.90 --- pkgs/os-specific/linux/kernel/linux-4.19.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix index 8ac7e720a37..a04156ebd84 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.19.89"; + version = "4.19.90"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0ijx8ih91p4g95zpwz6ga3q2x9lf1948xf2v5mz4348byf5hdwv8"; + sha256 = "1zgpbim9019aymvgh0fr5g2r9j2xspw14amlnk09w5mgdl56rn19"; }; } // (args.argsOverride or {})) From 0ea28ae4562a608f40cb0d1d8192c83a9ffc9661 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Wed, 18 Dec 2019 11:23:39 -0500 Subject: [PATCH 101/125] linux: 5.3.16 -> 5.3.18 --- pkgs/os-specific/linux/kernel/linux-5.3.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-5.3.nix b/pkgs/os-specific/linux/kernel/linux-5.3.nix index d384ae67587..d83f0fb9813 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.3.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.3.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.3.16"; + version = "5.3.18"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "19asdv08rzp33f0zxa2swsfnbhy4zwg06agj7sdnfy4wfkrfwx49"; + sha256 = "133342nv9ddjad2rizmcbilg9rhg339sfqr9l77j4cgkqhblkw90"; }; } // (args.argsOverride or {})) From ae163fb86717844a5e8d02d3fb559aa52b83e9bd Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Wed, 18 Dec 2019 11:23:51 -0500 Subject: [PATCH 102/125] linux: 5.4.3 -> 5.4.5 --- pkgs/os-specific/linux/kernel/linux-5.4.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix index ea332a246b3..11cfcae8673 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.4.3"; + version = "5.4.5"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "0lgfg31pgvdhkh9y4y4yh075mlk3qa6npxp7n19yxcg168pnhcb7"; + sha256 = "1h1ynb51gd4kiakqlkcc7vny45j2snbg4j985qf171mszckrz3jn"; }; } // (args.argsOverride or {})) From a80cdb8bad5622e9e335484d6a61543dbc291427 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Wed, 18 Dec 2019 11:24:08 -0500 Subject: [PATCH 103/125] linux_latest-libre: 17112 -> 17117 --- pkgs/os-specific/linux/kernel/linux-libre.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index fb5244e28ea..db9a23984c7 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -1,8 +1,8 @@ { stdenv, lib, fetchsvn, linux , scripts ? fetchsvn { url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; - rev = "17112"; - sha256 = "049vmi9q1vrcrq9p1zxj6bhhpkgy8fsyh955b54z3xlw7czng1s1"; + rev = "17117"; + sha256 = "0hyd7wp73w4555d42xcvk4x4nxrfckbzah2ckb4d2aqzxab87789"; } , ... }: From 52ed4751af8bb8008fcceba9c74e55eb324b81d6 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Wed, 18 Dec 2019 11:37:42 -0500 Subject: [PATCH 104/125] oh-my-zsh: 2019-12-07 -> 2019-12-18 --- pkgs/shells/zsh/oh-my-zsh/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix index ad99163f4c6..97377c9fff0 100644 --- a/pkgs/shells/zsh/oh-my-zsh/default.nix +++ b/pkgs/shells/zsh/oh-my-zsh/default.nix @@ -4,13 +4,13 @@ { stdenv, fetchgit }: stdenv.mkDerivation rec { - version = "2019-12-07"; + version = "2019-12-18"; pname = "oh-my-zsh"; - rev = "664664f6cd8a1c02a38063c8f2104f0515a19399"; + rev = "7dddfe0a39b75acbe265c47b6d1dc575d6dedd9f"; src = fetchgit { inherit rev; url = "https://github.com/ohmyzsh/ohmyzsh"; - sha256 = "0d9x4fp9hxyk3h4jlq74v5k9xyngcx1g45aihikyj6fzqk2h1pax"; + sha256 = "14p723ax6l24kwi72dwl3zjd7907p0f38bdhwk527fpihm7vgrj0"; }; pathsToLink = [ "/share/oh-my-zsh" ]; From aed6f881b0709d8f51738e7bc2fa3fcafcc3e6bb Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Tue, 17 Dec 2019 12:36:53 +0200 Subject: [PATCH 105/125] gleam: init at 0.5.0 Close #71432. Co-authored-by: Norbert Melzer --- pkgs/development/compilers/gleam/default.nix | 24 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/development/compilers/gleam/default.nix diff --git a/pkgs/development/compilers/gleam/default.nix b/pkgs/development/compilers/gleam/default.nix new file mode 100644 index 00000000000..2080a643959 --- /dev/null +++ b/pkgs/development/compilers/gleam/default.nix @@ -0,0 +1,24 @@ +{ stdenv, rustPlatform, fetchFromGitHub, Security }: + +rustPlatform.buildRustPackage rec { + pname = "gleam"; + version = "0.5.0"; + + src = fetchFromGitHub { + owner = "lpil"; + repo = pname; + rev = "v${version}"; + sha256 = "17h573fm5b1f71ivyipl76p0vw7injm7j3cbg6plkfizcb1j5m7f"; + }; + + buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; + + cargoSha256 = "04v1gj5nmmcizyrsg6b87qsfzw2zqi57vf1zlnq8680yc54qdah9"; + + meta = with stdenv.lib; { + description = "A statically typed language for the Erlang VM"; + homepage = "https://gleam.run/"; + license = licenses.asl20; + maintainers = with maintainers; [ filalex77 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d71a039199c..27b033e3a59 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8113,6 +8113,10 @@ in gforth = callPackage ../development/compilers/gforth {}; + gleam = callPackage ../development/compilers/gleam { + inherit (darwin.apple_sdk.frameworks) Security; + }; + gtk-server = callPackage ../development/interpreters/gtk-server {}; # Haskell and GHC From 0c3cfd5c076d78dfea0abdeb09026529c3560bed Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sun, 15 Dec 2019 18:56:06 -0800 Subject: [PATCH 106/125] python3Packages.mypy: 0.740 -> 0.750 Also refactored expression to follow ordering of most other python packages --- .../python-modules/mypy/default.nix | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix index 6c64580b2cf..b2731f5bb62 100644 --- a/pkgs/development/python-modules/mypy/default.nix +++ b/pkgs/development/python-modules/mypy/default.nix @@ -5,19 +5,26 @@ buildPythonPackage rec { pname = "mypy"; - version = "0.740"; + version = "0.750"; + disabled = !isPy3k; + + src = fetchPypi { + inherit pname version; + sha256 = "0k0l74g3jcq7ppzn234sffsaacn6qaq242famckk0cviwgld1jvf"; + }; + + propagatedBuildInputs = [ typed-ast psutil mypy-extensions typing-extensions ]; # Tests not included in pip package. doCheck = false; - src = fetchPypi { - inherit pname version; - sha256 = "48c8bc99380575deb39f5d3400ebb6a8a1cb5cc669bbba4d3bb30f904e0a0e7d"; - }; - - disabled = !isPy3k; - - propagatedBuildInputs = [ typed-ast psutil mypy-extensions typing-extensions ]; + pythonImportsCheck = [ + "mypy" + "mypy.types" + "mypy.api" + "mypy.fastparse" + "mypy.report" + ]; meta = with stdenv.lib; { description = "Optional static typing for Python"; From 503ca8f788911c46d9081a467b7606ae7de8e4f6 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sun, 15 Dec 2019 20:27:52 -0800 Subject: [PATCH 107/125] python3Packages.ics: fix build --- pkgs/development/python-modules/ics/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ics/default.nix b/pkgs/development/python-modules/ics/default.nix index 20fb38b187c..b642bdf311e 100644 --- a/pkgs/development/python-modules/ics/default.nix +++ b/pkgs/development/python-modules/ics/default.nix @@ -6,6 +6,7 @@ buildPythonPackage rec { pname = "ics"; version = "0.6"; + disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "C4ptainCrunch"; @@ -15,9 +16,16 @@ buildPythonPackage rec { }; propagatedBuildInputs = [ tatsu arrow ]; - checkInputs = [ pytest-sugar pytestpep8 pytest-flakes pytestcov ]; - disabled = pythonOlder "3.6"; + postPatch = '' + substituteInPlace requirements.txt \ + --replace "arrow>=0.11,<0.15" "arrow" + ''; + + checkInputs = [ pytest-sugar pytestpep8 pytest-flakes pytestcov ]; + checkPhase = '' + pytest + ''; meta = with stdenv.lib; { description = "Pythonic and easy iCalendar library (RFC 5545)"; From cc99d54c5fd4b1bd9625bdb30e6dafff658a1bc3 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 18 Dec 2019 13:36:00 -0500 Subject: [PATCH 108/125] gitAndTools.lab: 0.17.1 -> 0.17.2 Changelog: https://github.com/zaquestion/lab/releases/tag/v0.17.2 --- .../version-management/git-and-tools/lab/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 c8700c18ea1..3e47631caf6 100644 --- a/pkgs/applications/version-management/git-and-tools/lab/default.nix +++ b/pkgs/applications/version-management/git-and-tools/lab/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "lab"; - version = "0.17.1"; + version = "0.17.2"; src = fetchFromGitHub { owner = "zaquestion"; repo = "lab"; rev = "v${version}"; - sha256 = "1z83v1dl9c5f99jvvc23ijkwrfrv489la05rlsrc3r4zzza1hx1f"; + sha256 = "0zkwvmzgj7h8lc8jkg2a81392b28c8hkwqzj6dds6q4asbmymx5c"; }; subPackages = [ "." ]; From 60ff61be3f021f7dcfbd4eb5977d09567599806b Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 18 Dec 2019 14:00:00 -0500 Subject: [PATCH 109/125] nodejs-10_x: 10.17.0 -> 10.18.0 Changelog: https://github.com/nodejs/node/releases/tag/v10.18.0 --- pkgs/development/web/nodejs/v10.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/nodejs/v10.nix b/pkgs/development/web/nodejs/v10.nix index 22887a44aff..a3b975e3718 100644 --- a/pkgs/development/web/nodejs/v10.nix +++ b/pkgs/development/web/nodejs/v10.nix @@ -5,6 +5,6 @@ let in buildNodejs { inherit enableNpm; - version = "10.17.0"; - sha256 = "13n5cvb340ba7vwm8il7bjrmpz89h6cibhk9rc3kq9ymdgbnf9j1"; + version = "10.18.0"; + sha256 = "1ppycqffsy7ix6whdp6id7ld1qizwvjlzxyk12kxw4wphjmn49hb"; } From 2078b60862b0940e22317e63afb4087d9e12e8aa Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 18 Dec 2019 14:01:00 -0500 Subject: [PATCH 110/125] nodejs-12_x: 12.13.1 -> 12.14.0 Changelog: https://github.com/nodejs/node/releases/tag/v12.14.0 --- pkgs/development/web/nodejs/v12.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/nodejs/v12.nix b/pkgs/development/web/nodejs/v12.nix index fbec83c387a..61c433bc0d4 100644 --- a/pkgs/development/web/nodejs/v12.nix +++ b/pkgs/development/web/nodejs/v12.nix @@ -5,8 +5,8 @@ let in buildNodejs { inherit enableNpm; - version = "12.13.1"; - sha256 = "14mia71sr8p0ibz9g4j5xb5qwmik36qi5nhabjbv0sy2kirkm7il"; + version = "12.14.0"; + sha256 = "0wdyz6fymkf2pfb5bf5ddcza7f2n55p9zqjvq661nr5gl9xj32h8"; patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin.patch ]; } From ab0e766e5318ef8583d95e6994596028c6e7ac1e Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 18 Dec 2019 14:36:00 -0500 Subject: [PATCH 111/125] tflint: 0.13.2 -> 0.13.3 Changelog: https://github.com/terraform-linters/tflint/releases/tag/v0.13.3 --- pkgs/development/tools/analysis/tflint/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix index 111c41ea95b..79dedb3afba 100644 --- a/pkgs/development/tools/analysis/tflint/default.nix +++ b/pkgs/development/tools/analysis/tflint/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "tflint"; - version = "0.13.2"; + version = "0.13.3"; src = fetchFromGitHub { owner = "terraform-linters"; repo = pname; rev = "v${version}"; - sha256 = "16iv2z4krx8ixifpq0r784xspknmj0bbvhx10mnq97v49j5c03qi"; + sha256 = "13azczm5lg9v5mvf1jx165qy2nj2941qlr9vvxa7q3gqmhxcg271"; }; - modSha256 = "1rk22w4b5iq6fp3jwpcpnb6y2frbrggxkhdm3ipp8c5savq2wbqh"; + modSha256 = "0xckzyfc144bc212amw1n63jkmdljbmj0rq0midr37h6bg5a10q3"; subPackages = [ "." ]; From 6fd5a4383b5d4102f32d019bdc4379af64ba65c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 18 Dec 2019 20:48:04 +0100 Subject: [PATCH 112/125] Revert "release: remove metrics from unstable channel (temporarily)" This reverts commit 96d73edaf33f4c9ee452f65504bfdfab9a653eaa. IPv6 connectivity restored by ISP a few hours after I pushed the workaround. Apparently it was something complicated; I suppose that has to do with the issue appearing on Friday 13th during full moon ;-) --- pkgs/top-level/release.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 3d8aad5b18d..f832268899d 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -89,7 +89,7 @@ let meta.description = "Release-critical builds for the Nixpkgs unstable channel"; constituents = [ jobs.tarball - #jobs.metrics #FIXME(vcunat): re-enable this as soon as possible + jobs.metrics jobs.manual jobs.lib-tests jobs.stdenv.x86_64-linux From 55eb76a783fcbef9030f55ba0c923cecdb082657 Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Dec 2019 11:26:26 -0800 Subject: [PATCH 113/125] nixos/nixos-option: "See also configuration.nix manpage" in nixos-option manpage --- nixos/doc/manual/man-nixos-option.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nixos/doc/manual/man-nixos-option.xml b/nixos/doc/manual/man-nixos-option.xml index beabf020c92..b82f3125609 100644 --- a/nixos/doc/manual/man-nixos-option.xml +++ b/nixos/doc/manual/man-nixos-option.xml @@ -119,4 +119,13 @@ Defined by: bug, please report to Nicolas Pierron. + + See also + + + configuration.nix + 5 + + + From 9b5b7220d83d231348b2527b1ed426611fa90528 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Wed, 18 Dec 2019 16:13:14 -0500 Subject: [PATCH 114/125] linux_latest-libre: 17117 -> 17119 --- pkgs/os-specific/linux/kernel/linux-libre.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index db9a23984c7..3231fc4ac62 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchsvn, linux , scripts ? fetchsvn { url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; - rev = "17117"; + rev = "17119"; sha256 = "0hyd7wp73w4555d42xcvk4x4nxrfckbzah2ckb4d2aqzxab87789"; } , ... From 15db4fcd510949aca2df686896e53bfe95173b39 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Fri, 29 Nov 2019 17:17:29 +0100 Subject: [PATCH 115/125] atlassian-confluence: 7.0.3 -> 7.1.0 --- pkgs/servers/atlassian/confluence.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix index 4d403e7d938..c6a76b71e58 100644 --- a/pkgs/servers/atlassian/confluence.nix +++ b/pkgs/servers/atlassian/confluence.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "atlassian-confluence"; - version = "7.0.3"; + version = "7.1.0"; src = fetchurl { url = "https://product-downloads.atlassian.com/software/confluence/downloads/${pname}-${version}.tar.gz"; - sha256 = "1anmhfdy4q74wchzha8fd2bd5hx0a2v3bgp9p5yvb8cal31zqcpd"; + sha256 = "178zfg3rw2sz1l2iwljrl9z2iqhahih5px25zvgd68y2mb9y82l9"; }; buildPhase = '' From a53c73d9c8dd78c2e4aab957d5476fc3d07c082e Mon Sep 17 00:00:00 2001 From: WilliButz Date: Thu, 19 Dec 2019 00:25:15 +0100 Subject: [PATCH 116/125] atlassian-confluence: 7.1.0 -> 7.2.0 --- pkgs/servers/atlassian/confluence.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix index c6a76b71e58..a5aead770b8 100644 --- a/pkgs/servers/atlassian/confluence.nix +++ b/pkgs/servers/atlassian/confluence.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "atlassian-confluence"; - version = "7.1.0"; + version = "7.2.0"; src = fetchurl { url = "https://product-downloads.atlassian.com/software/confluence/downloads/${pname}-${version}.tar.gz"; - sha256 = "178zfg3rw2sz1l2iwljrl9z2iqhahih5px25zvgd68y2mb9y82l9"; + sha256 = "1srwxk9c26hp1j3v6v1hr16l4dqaaiwrli5a9n9a44hkl7qy8yzl"; }; buildPhase = '' @@ -37,8 +37,8 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Team collaboration software written in Java and mainly used in corporate environments"; - homepage = https://www.atlassian.com/software/confluence; + homepage = "https://www.atlassian.com/software/confluence"; license = licenses.unfree; - maintainers = with maintainers; [ fpletz globin ]; + maintainers = with maintainers; [ fpletz globin willibutz ]; }; } From e19e95d86d8bb2f1880ea6f38a2b9d4f04880877 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Wed, 18 Dec 2019 20:05:41 -0500 Subject: [PATCH 117/125] mailutils: 3.2 -> 3.8 --- pkgs/tools/networking/mailutils/default.nix | 14 ++++---------- .../networking/mailutils/fix-test-ali-awk.patch | 16 ---------------- 2 files changed, 4 insertions(+), 26 deletions(-) delete mode 100644 pkgs/tools/networking/mailutils/fix-test-ali-awk.patch diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix index 40eeed7f050..dcf377ca0c0 100644 --- a/pkgs/tools/networking/mailutils/default.nix +++ b/pkgs/tools/networking/mailutils/default.nix @@ -1,15 +1,15 @@ { stdenv, fetchurl, fetchpatch, autoreconfHook, dejagnu, gettext, pkgconfig , gdbm, pam, readline, ncurses, gnutls, guile, texinfo, gnum4, sasl, fribidi, nettools -, python, gss, libmysqlclient, system-sendmail }: +, python3, gss, libmysqlclient, system-sendmail }: stdenv.mkDerivation rec { name = "${project}-${version}"; project = "mailutils"; - version = "3.2"; + version = "3.8"; src = fetchurl { url = "mirror://gnu/${project}/${name}.tar.xz"; - sha256 = "0zh7xn8yvnw9zkc7gi5290i34viwxp1rn0g1q9nyvmckkvk59lwn"; + sha256 = "1wkn9ch664477r4d8jk9153w5msljsbj99907k7zgzpmywbs6ba7"; }; postPatch = '' @@ -29,17 +29,11 @@ stdenv.mkDerivation rec { buildInputs = [ gdbm pam readline ncurses gnutls guile texinfo gnum4 sasl fribidi nettools - gss libmysqlclient python + gss libmysqlclient python3 ]; patches = [ - (fetchpatch { - url = "https://git.savannah.gnu.org/cgit/mailutils.git/patch/?id=afbb33cf9ff"; - excludes = [ "NEWS" ]; - sha256 = "0yzkfx3j1zkkb43fhchjqphw4xznbclj39bjzjggv32gppy6d1db"; - }) ./fix-build-mb-len-max.patch - ./fix-test-ali-awk.patch ./path-to-cat.patch ]; diff --git a/pkgs/tools/networking/mailutils/fix-test-ali-awk.patch b/pkgs/tools/networking/mailutils/fix-test-ali-awk.patch deleted file mode 100644 index 3d301d530de..00000000000 --- a/pkgs/tools/networking/mailutils/fix-test-ali-awk.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/mh/tests/ali.at b/mh/tests/ali.at -index 28c0e5451..c76cf9363 100644 ---- a/mh/tests/ali.at -+++ b/mh/tests/ali.at -@@ -85,9 +85,9 @@ ali -a ./mh_aliases korzen | tr -d ' ' - [expout]) - - MH_CHECK([ali: group id],[ali05 ali-group-id ali-gid],[ --cat /etc/passwd | awk -F : '/^#/ { next } $4==0 { print $1 }' > expout -+cat /etc/passwd | awk -F : '/^#/ { next } $4==0 { print $1; exit }' > expout - test -s expout || AT_SKIP_TEST --name=`awk -F : '/^#/ { next } $3==0 { print $1 }' /etc/group < /dev/null` -+name=`awk -F : '/^#/ { next } $3==0 { print $1; exit }' /etc/group < /dev/null` - test -z "$name" && AT_SKIP_TEST - - echo "korzen: +$name" > mh_aliases From 70106982dd7e35e6baa1246c0239f90f9ae43978 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 18 Dec 2019 20:20:20 -0500 Subject: [PATCH 118/125] fluent-bit: 1.3.4 -> 1.3.5 --- pkgs/tools/misc/fluent-bit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix index f3728361720..516badb7bc7 100644 --- a/pkgs/tools/misc/fluent-bit/default.nix +++ b/pkgs/tools/misc/fluent-bit/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "fluent-bit"; - version = "1.3.4"; + version = "1.3.5"; src = fetchFromGitHub { owner = "fluent"; repo = "fluent-bit"; rev = "v${version}"; - sha256 = "01iy8xgsyc1clhpik4nmkxw6xnblzswvn35qz4h4p5sw97c4iwq8"; + sha256 = "0xwh8fnvahcyygz0ydi4pdzgsyvjaphwl3f2ccdas52fbirwnicn"; }; nativeBuildInputs = [ cmake flex bison ]; From 2ce5e5b17c4eb0874dcc90afdc5d43eb0cba2356 Mon Sep 17 00:00:00 2001 From: Paolo Anastagi Date: Wed, 18 Dec 2019 08:41:02 +0100 Subject: [PATCH 119/125] vimPlugins: Update --- pkgs/misc/vim-plugins/generated.nix | 102 ++++++++++++++-------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index 4b06bcb80d2..fdb5ceec6c7 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -380,12 +380,12 @@ let coc-java = buildVimPluginFrom2Nix { pname = "coc-java"; - version = "2019-10-31"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "neoclide"; repo = "coc-java"; - rev = "77f7ecd8e6cc0af7a0cf293616b9f66a61a41f44"; - sha256 = "13qhw4gdl5p4imzmgickay6lc4hlnw5fsc46zw5qyqq7p88wgym9"; + rev = "4be4a57ad8f888ef92974ccb6e685358498863f1"; + sha256 = "15175bphaiih5j63bigj5sblcyqjj68g3k81wn7dwgwdpglf1mwf"; }; }; @@ -733,12 +733,12 @@ let csv-vim = buildVimPluginFrom2Nix { pname = "csv-vim"; - version = "2019-12-11"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "chrisbra"; repo = "csv.vim"; - rev = "3128891191d7e363d39cbe70b96281ec8d897bcb"; - sha256 = "1qapfsk4z637rqi9mppac50gliyi957cvl2dfknq0dy856a11274"; + rev = "012cd2637d48aa33541078451d70d66930e03e0f"; + sha256 = "1gaqxhpzskcc28qma6vcjwig8v3q3a8sf7b2ckm14i7cb4c1lyh5"; }; }; @@ -843,12 +843,12 @@ let denite-nvim = buildVimPluginFrom2Nix { pname = "denite-nvim"; - version = "2019-12-13"; + version = "2019-12-16"; src = fetchFromGitHub { owner = "Shougo"; repo = "denite.nvim"; - rev = "13c8542818f418d1207c368f0072072c793f58c1"; - sha256 = "1xrpmrr6wmy88s23j4cxcpsj9wlw7ak48sg3hjqpni9w231kp7a9"; + rev = "35ceadf33e1248caead987fc83f01336b81d98fb"; + sha256 = "1bazm1n2hqgg13yp5gywzghq310qhkbfqg1v42lyvc0gax8dngzj"; }; }; @@ -899,12 +899,12 @@ let deoplete-go = buildVimPluginFrom2Nix { pname = "deoplete-go"; - version = "2019-12-13"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "zchee"; repo = "deoplete-go"; - rev = "a3ac3f53f0af482095ebcf09af8ca1d1edce45bc"; - sha256 = "19xgsm5mbfcpdb0csckbwi83gl3b4wqdn8vchbv8j9faf10qnf2b"; + rev = "dffbe97e48e09e9e1cd3c5fed7365b8117e2df25"; + sha256 = "12p40sr6r9l7ngqynylffpms3cznym12djgbm4448kqcymj2imnz"; fetchSubmodules = true; }; }; @@ -989,12 +989,12 @@ let deoplete-nvim = buildVimPluginFrom2Nix { pname = "deoplete-nvim"; - version = "2019-12-10"; + version = "2019-12-18"; src = fetchFromGitHub { owner = "Shougo"; repo = "deoplete.nvim"; - rev = "e9aad25f28b68581cea2d94400b9fa64b724773b"; - sha256 = "0wy5qapj6hfxj4ir38lb823zsgj6nqhi4r2sv0bm23g25sykg6ry"; + rev = "18681650e81e809cd56e1006cf92cd7f9108266b"; + sha256 = "0rlh97bdmiagrxs9gqjvrimpqcj9w0ys77l0kyxb111zcgcr8s9s"; }; }; @@ -1212,12 +1212,12 @@ let fzf-vim = buildVimPluginFrom2Nix { pname = "fzf-vim"; - version = "2019-11-24"; + version = "2019-12-18"; src = fetchFromGitHub { owner = "junegunn"; repo = "fzf.vim"; - rev = "65edb6ad99b51514aaf29afc25e35ce5f05281ba"; - sha256 = "1d40whzc21c4zbzssjwvhzddyb0a106ib8r4zzzdd61s1935z4xr"; + rev = "f71f4808d966da8be760f94fda131bc7d29f7d8f"; + sha256 = "1l34yz0cwgxsacscmasj634jg6hfhpial4m1a7j9c907ljdkabpr"; }; }; @@ -2027,12 +2027,12 @@ let nord-vim = buildVimPluginFrom2Nix { pname = "nord-vim"; - version = "2019-05-25"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "arcticicestudio"; repo = "nord-vim"; - rev = "9f7ce848723f69e33792e5606091bbfd5739d253"; - sha256 = "1n6kdnll5jh92kfbwwm8544mpp7c2awqsaps91agqjd3nwa5x27x"; + rev = "f06189a4c054fe8c22e46aca4d451e03456f2283"; + sha256 = "0gk4zq0gz3nnwfkldswg9bjpk0gf6d6mgfzcgvj0pnlbja6ass81"; }; }; @@ -2820,12 +2820,12 @@ let typescript-vim = buildVimPluginFrom2Nix { pname = "typescript-vim"; - version = "2019-06-23"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "leafgarland"; repo = "typescript-vim"; - rev = "5a319ea5504e18215d155576c78d1b7fb8e22c8f"; - sha256 = "1hz42blc1sshkms9ramdhzwnphqs26p83q8smw5y14blp1zdb628"; + rev = "2ca6afd1c05e89164bb29aaad82da35d5cf582a3"; + sha256 = "0jvyi4gy9pc2kd0b1yc118f16p1qrjphxvpa0bl7q2rvyk49742s"; }; }; @@ -3150,34 +3150,34 @@ let vim-airline = buildVimPluginFrom2Nix { pname = "vim-airline"; - version = "2019-12-15"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "vim-airline"; repo = "vim-airline"; - rev = "929cf2e21f84e989da2abd9aa5102848db61565b"; - sha256 = "1rp2m5qpc763plybp1arzgrrmn8kg21sgnwac62k98w2s1c0x4jd"; + rev = "98326670b604f522741b02baee82bf25141fbbc4"; + sha256 = "0n7avla6z8dnixbr1rc505yyb4bfc3sr69wnv6fj15j4kkx4k319"; }; }; vim-airline-themes = buildVimPluginFrom2Nix { pname = "vim-airline-themes"; - version = "2019-12-13"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "vim-airline"; repo = "vim-airline-themes"; - rev = "67512f5e81b8ad088a8cbfe8b95f9e495bc81cf3"; - sha256 = "049lnixxcvvnkq5bfwpmclw1k73xyf5gqfpw78rkzsbg9milyr74"; + rev = "1eecd5b1c02c88ad2f8303757f453e2d7f0bd414"; + sha256 = "08rjqjl0v5nsq8nf7ajv60jx41pmc5ym8mjbndlycz22hrsw8aq8"; }; }; vim-android = buildVimPluginFrom2Nix { pname = "vim-android"; - version = "2019-11-01"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "hsanson"; repo = "vim-android"; - rev = "928a7ba76ee7b48a715b397543f21ee28a9959da"; - sha256 = "1cdjjyzmclzc32i1wcc5k67laz75yvi4jj2yc1fxa95bbq9zi0h5"; + rev = "0849bcb6523d17a753fcaff8d40cbeed2d09cf65"; + sha256 = "1z3x72aprp950chk754h0qpf5lxh2svzk39flks5fanxaggkpkng"; }; }; @@ -3502,12 +3502,12 @@ let vim-dirvish = buildVimPluginFrom2Nix { pname = "vim-dirvish"; - version = "2019-11-16"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "justinmk"; repo = "vim-dirvish"; - rev = "4d7b4d4e2db72e95ea03c6ef757b01cbc128179e"; - sha256 = "0ab7ivgkfaji0yl6mcx03nmr304vmdwxwiw0an94fa6wbhk0y9yl"; + rev = "9c12328df924ddb875ee1e5c9fc0f939b62d6a6c"; + sha256 = "1kpkwqrhix7whd00pcbanf3ij55x34cqc6qz3r2xshcmydk5vqxn"; }; }; @@ -3832,12 +3832,12 @@ let vim-go = buildVimPluginFrom2Nix { pname = "vim-go"; - version = "2019-12-16"; + version = "2019-12-18"; src = fetchFromGitHub { owner = "fatih"; repo = "vim-go"; - rev = "0e33a2334d5cafc9754cc78c079ded7efbedc3fa"; - sha256 = "1phsnha6m7h5nd9smjij7xr7v5wqs2dza7bvdy18fjlv0rlfcgzc"; + rev = "9d912c9d908a45f8a583679753a480e6a0461da3"; + sha256 = "1z002n6mryhk2hi0arqyqaiayd6i14w2l5b2bmzj0g8vkk1kr41n"; }; }; @@ -4107,12 +4107,12 @@ let vim-javacomplete2 = buildVimPluginFrom2Nix { pname = "vim-javacomplete2"; - version = "2019-12-07"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "artur-shaik"; repo = "vim-javacomplete2"; - rev = "f2c7ab94d29604128a38cb6626dac03e7cad5418"; - sha256 = "1bgg9jy61ygyrx16n20xvyp1wnqfgk857dc5jw2mwv9iq1hg0lvn"; + rev = "dc7951895a98c49c39622f65cdd7b39374c348bc"; + sha256 = "1d8xiiwfg5wz57jyy7ahbi2bl5sjkhkpkqm2qbhsn7cd9vk36sxy"; }; }; @@ -4317,12 +4317,12 @@ let vim-lsc = buildVimPluginFrom2Nix { pname = "vim-lsc"; - version = "2019-12-16"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "natebosch"; repo = "vim-lsc"; - rev = "64fa57aca10345031fab6db0065cf758f3dc1bdb"; - sha256 = "1cxif26wn7qjplikbfdbkrj94mcpf9fk02gik2qfwicib0p83bfi"; + rev = "0fd38b8a93ab16d380aed8467a5059e5b3932a2e"; + sha256 = "06jz7f5npwm2iknpfmzz5x8lw5377hzc5kpg6n5p2icjwzaha6mz"; }; }; @@ -5142,12 +5142,12 @@ let vim-table-mode = buildVimPluginFrom2Nix { pname = "vim-table-mode"; - version = "2019-12-10"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "dhruvasagar"; repo = "vim-table-mode"; - rev = "5ac34a22dbf70e3c8afd7cc69726cec89655c4ad"; - sha256 = "1rs68islvz2rd3ahgfk06q9ydr3ph25zh4amg8vk1svqhk1vh0mp"; + rev = "0af25d72ebc0271648c8f91c0ce5c59174d2761b"; + sha256 = "1wqfc8bilknz1j1spk3iag99hmz5f1w87v95rb3cyp46ymrf9dcv"; }; }; @@ -5395,12 +5395,12 @@ let vim-visual-multi = buildVimPluginFrom2Nix { pname = "vim-visual-multi"; - version = "2019-11-29"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "mg979"; repo = "vim-visual-multi"; - rev = "7c1934f91b33f64836d0e0d27e08481849831266"; - sha256 = "1ga0skivc5p09d29k4gx2gdisalcl9514062ckddphynqn69ghi9"; + rev = "9b06b851a7e822f3a2604a5d1505e387b62f3827"; + sha256 = "0g1wf5p905y653vl0cxb6idbr8panvj10hwz7hl50dybfc0zky7m"; }; }; From 7af70d8b77b2e0b4314137bac2579a200b473d46 Mon Sep 17 00:00:00 2001 From: Paolo Anastagi Date: Wed, 18 Dec 2019 08:46:33 +0100 Subject: [PATCH 120/125] vimPlugins.vim-elm-syntax: init at 2019-11-28 --- pkgs/misc/vim-plugins/generated.nix | 11 +++++++++++ pkgs/misc/vim-plugins/vim-plugin-names | 1 + 2 files changed, 12 insertions(+) diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index fdb5ceec6c7..f1ebc8cb7d9 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -3610,6 +3610,17 @@ let }; }; + vim-elm-syntax = buildVimPluginFrom2Nix { + pname = "vim-elm-syntax"; + version = "2019-11-28"; + src = fetchFromGitHub { + owner = "andys8"; + repo = "vim-elm-syntax"; + rev = "7ed55d9bc2c0cfd023d7cc6541634bcbf36430b5"; + sha256 = "1kq7qcw9l41q646a2ilwy94lj1qz9as14aqfmzkbi938yij18zpx"; + }; + }; + vim-eunuch = buildVimPluginFrom2Nix { pname = "vim-eunuch"; version = "2019-11-13"; diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index d4fd3e423f6..3b03976b05e 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -12,6 +12,7 @@ amiorin/ctrlp-z andreshazard/vim-logreview andsild/peskcolor.vim andviro/flake8-vim +andys8/vim-elm-syntax ap/vim-css-color arcticicestudio/nord-vim artur-shaik/vim-javacomplete2 From 4e421aebfeba474ece5c77f421ce8ceb61704e0c Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Wed, 18 Dec 2019 20:29:47 -0500 Subject: [PATCH 121/125] kdeFrameworks.ki18n: python2 -> python3 Upstream has support: https://github.com/KDE/ki18n/blame/8f84d19aad04b2a925f2373ad26323bb8324b982/cmake/KF5I18nMacros.cmake.in#L34 --- pkgs/development/libraries/kde-frameworks/ki18n.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/ki18n.nix b/pkgs/development/libraries/kde-frameworks/ki18n.nix index 3b9ca74bbd0..69ad2fbc737 100644 --- a/pkgs/development/libraries/kde-frameworks/ki18n.nix +++ b/pkgs/development/libraries/kde-frameworks/ki18n.nix @@ -1,6 +1,6 @@ { mkDerivation, lib, - extra-cmake-modules, gettext, python, + extra-cmake-modules, gettext, python3, qtbase, qtdeclarative, qtscript, }: @@ -11,6 +11,6 @@ mkDerivation { broken = builtins.compareVersions qtbase.version "5.7.0" < 0; }; nativeBuildInputs = [ extra-cmake-modules ]; - propagatedNativeBuildInputs = [ gettext python ]; + propagatedNativeBuildInputs = [ gettext python3 ]; buildInputs = [ qtdeclarative qtscript ]; } From 2f3cd7dda75f42fa741fe18b7547c507f4186144 Mon Sep 17 00:00:00 2001 From: Marek Mahut Date: Wed, 18 Dec 2019 21:10:15 +0100 Subject: [PATCH 122/125] alertmanager-bot: init at 0.4.0 --- .../monitoring/alertmanager-bot/default.nix | 25 + .../monitoring/alertmanager-bot/deps.nix | 948 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 975 insertions(+) create mode 100644 pkgs/servers/monitoring/alertmanager-bot/default.nix create mode 100644 pkgs/servers/monitoring/alertmanager-bot/deps.nix diff --git a/pkgs/servers/monitoring/alertmanager-bot/default.nix b/pkgs/servers/monitoring/alertmanager-bot/default.nix new file mode 100644 index 00000000000..8677a8d03f2 --- /dev/null +++ b/pkgs/servers/monitoring/alertmanager-bot/default.nix @@ -0,0 +1,25 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "alertmanager-bot"; + version = "0.4.0"; + + goPackagePath = "github.com/metalmatze/alertmanager-bot"; + + src = fetchFromGitHub { + owner = "metalmatze"; + repo = pname; + rev = version; + sha256 = "10v0fxxcs5s6zmqindr30plyw7p2yg0a64rdw1b2cj2mc1m3byx3"; + }; + + goDeps = ./deps.nix; + + meta = with stdenv.lib; { + description = "Bot for Prometheus' Alertmanager"; + homepage = "https://github.com/metalmatze/alertmanager-bot"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ mmahut ]; + }; +} diff --git a/pkgs/servers/monitoring/alertmanager-bot/deps.nix b/pkgs/servers/monitoring/alertmanager-bot/deps.nix new file mode 100644 index 00000000000..51e98ccbc93 --- /dev/null +++ b/pkgs/servers/monitoring/alertmanager-bot/deps.nix @@ -0,0 +1,948 @@ +# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix) +[ + { + goPackagePath = "github.com/DataDog/datadog-go"; + fetch = { + type = "git"; + url = "https://github.com/DataDog/datadog-go"; + rev = "0ddda6bee211"; + sha256 = "07ap1qhz8vwdypmlny5gxnc191c0qbm6acacs30m1d4p22x6wxip"; + }; + } + { + goPackagePath = "github.com/OneOfOne/xxhash"; + fetch = { + type = "git"; + url = "https://github.com/OneOfOne/xxhash"; + rev = "v1.2.5"; + sha256 = "15ai4nzm8cv8nqs4xm5h6ghnms19c2sp8z0zpkc46rld6y7k0xky"; + }; + } + { + 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/armon/circbuf"; + fetch = { + type = "git"; + url = "https://github.com/armon/circbuf"; + rev = "bbbad097214e"; + sha256 = "1idpr0lzb2px2p3wgfq2276yl7jpaz43df6n91kf790404s4zmk3"; + }; + } + { + goPackagePath = "github.com/armon/go-metrics"; + fetch = { + type = "git"; + url = "https://github.com/armon/go-metrics"; + rev = "f0300d1749da"; + sha256 = "13l7c35ps0r27vxfil2w0xhhc7w5rh00awvlmn4cz0a937b9ffpv"; + }; + } + { + goPackagePath = "github.com/armon/go-radix"; + fetch = { + type = "git"; + url = "https://github.com/armon/go-radix"; + rev = "7fddfc383310"; + sha256 = "0y8chspn14n9xpsfb9gxnnf819rfpriaz64v81p7873a42kkhxb4"; + }; + } + { + goPackagePath = "github.com/beorn7/perks"; + fetch = { + type = "git"; + url = "https://github.com/beorn7/perks"; + rev = "v1.0.1"; + sha256 = "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7"; + }; + } + { + goPackagePath = "github.com/bgentry/speakeasy"; + fetch = { + type = "git"; + url = "https://github.com/bgentry/speakeasy"; + rev = "v0.1.0"; + sha256 = "02dfrj0wyphd3db9zn2mixqxwiz1ivnyc5xc7gkz58l5l27nzp8s"; + }; + } + { + goPackagePath = "github.com/boltdb/bolt"; + fetch = { + type = "git"; + url = "https://github.com/boltdb/bolt"; + rev = "v1.3.1"; + sha256 = "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r"; + }; + } + { + goPackagePath = "github.com/cenkalti/backoff"; + fetch = { + type = "git"; + url = "https://github.com/cenkalti/backoff"; + rev = "v2.1.1"; + sha256 = "1mf4lsl3rbb8kk42x0mrhzzy4ikqy0jf6nxpzhkr02rdgwh6rjk8"; + }; + } + { + goPackagePath = "github.com/cespare/xxhash"; + fetch = { + type = "git"; + url = "https://github.com/cespare/xxhash"; + rev = "v1.0.0"; + sha256 = "02aii7z46sasagw816zz3v0gzax1z5d1hkjslz7ng25386p0gzk1"; + }; + } + { + goPackagePath = "github.com/circonus-labs/circonus-gometrics"; + fetch = { + type = "git"; + url = "https://github.com/circonus-labs/circonus-gometrics"; + rev = "v2.0.0"; + sha256 = "0d6cnswq28mjak7092vf89f9l0ga2ziwyamq9kdgfc7aavpwr6l9"; + }; + } + { + goPackagePath = "github.com/circonus-labs/circonusllhist"; + fetch = { + type = "git"; + url = "https://github.com/circonus-labs/circonusllhist"; + rev = "6e85b9352cf0"; + sha256 = "182gry1clk12m34574qif7bx74qpxib2zv0mr5kv2j9hfq7f9m01"; + }; + } + { + goPackagePath = "github.com/creack/pty"; + fetch = { + type = "git"; + url = "https://github.com/creack/pty"; + rev = "v1.1.7"; + sha256 = "1plwwlk1i9b80zv8zdplvv81shfyc9gf0flydnydsh5sr3ib5vrc"; + }; + } + { + 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/docker/libkv"; + fetch = { + type = "git"; + url = "https://github.com/docker/libkv"; + rev = "v0.2.1"; + sha256 = "0blq7kxjy1bvm3j5q4i6csnc4i88c1wvj4gjvxbqfk3sny73gjkr"; + }; + } + { + 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/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/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "v1.3.2"; + sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym"; + }; + } + { + goPackagePath = "github.com/google/btree"; + fetch = { + type = "git"; + url = "https://github.com/google/btree"; + rev = "4030bb1f1f0c"; + sha256 = "0ba430m9fbnagacp57krgidsyrgp3ycw5r7dj71brgp5r52g82p6"; + }; + } + { + goPackagePath = "github.com/google/go-cmp"; + fetch = { + type = "git"; + url = "https://github.com/google/go-cmp"; + rev = "v0.3.1"; + sha256 = "1caw49i0plkjxir7kdf5qhwls3krqwfmi7g4h392rdfwi3kfahx1"; + }; + } + { + goPackagePath = "github.com/google/gofuzz"; + fetch = { + type = "git"; + url = "https://github.com/google/gofuzz"; + rev = "v1.0.0"; + sha256 = "0qz439qvccm91w0mmjz4fqgx48clxdwagkvvx89cr43q1d4iry36"; + }; + } + { + goPackagePath = "github.com/hako/durafmt"; + fetch = { + type = "git"; + url = "https://github.com/hako/durafmt"; + rev = "ea3ab126a649"; + sha256 = "1niq0v6av5vsn4rizfda4zq922jvavig5b0qg9g0gyz6cj62rjzs"; + }; + } + { + goPackagePath = "github.com/hashicorp/consul"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/consul"; + rev = "v1.4.5"; + sha256 = "0gpg3cbpsmzcaab3scqhpzz57892s95hwq5z0l9bq7qqm6iqfr9d"; + }; + } + { + goPackagePath = "github.com/hashicorp/errwrap"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/errwrap"; + rev = "v1.0.0"; + sha256 = "0slfb6w3b61xz04r32bi0a1bygc82rjzhqkxj2si2074wynqnr1c"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-cleanhttp"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-cleanhttp"; + rev = "3573b8b52aa7"; + sha256 = "1pbl6p7w5wp1c70x7fp94h4ynk2ajfa76rqin3d2hq1w2fcb7byr"; + }; + } + { + 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-msgpack"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-msgpack"; + rev = "v0.5.5"; + sha256 = "0fqmfx3dxnvb0d23cpn2xpd067pibwlchdc58ln8w6lznzrbzaan"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-multierror"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-multierror"; + rev = "v1.0.0"; + sha256 = "00nyn8llqzbfm8aflr9kwsvpzi4kv8v45c141v88xskxp5xf6z49"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-retryablehttp"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-retryablehttp"; + rev = "794af36148bf"; + sha256 = "1686d4qav0ayj3f5881w3kd9pz4fxsmknfqwccbj9yklxm3khvp4"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-rootcerts"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-rootcerts"; + rev = "v1.0.1"; + sha256 = "0ca5h7vlvrghf24dzh8l6w5px293n173qxfkjxb9kgsl6hsrsl3y"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-sockaddr"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-sockaddr"; + rev = "v1.0.2"; + sha256 = "0y106nhd3s63lj7h7k21iq0br97h0z9qjrvx028zqcsq9407k9is"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-syslog"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-syslog"; + rev = "v1.0.0"; + sha256 = "09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-uuid"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-uuid"; + rev = "v1.0.1"; + sha256 = "0jvb88m0rq41bwgirsadgw7mnayl27av3gd2vqa3xvxp3fy0hp5k"; + }; + } + { + goPackagePath = "github.com/hashicorp/golang-lru"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/golang-lru"; + rev = "v0.5.3"; + sha256 = "1p2igd58xkm8yaj2c2wxiplkf2hj6kxwrg6ss7mx61s5rd71v5xb"; + }; + } + { + goPackagePath = "github.com/hashicorp/logutils"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/logutils"; + rev = "v1.0.0"; + sha256 = "076wf4sh5p3f953ndqk1cc0x7jhmlqrxak9953rz79rcdw77rjvv"; + }; + } + { + goPackagePath = "github.com/hashicorp/mdns"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/mdns"; + rev = "v1.0.1"; + sha256 = "185zpyj1jf1jm7hihg73gqnspr0a359aqwv11v4a6mwd5bkdh19j"; + }; + } + { + goPackagePath = "github.com/hashicorp/memberlist"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/memberlist"; + rev = "v0.1.4"; + sha256 = "0l9qx8j7mm00ia6m41zbn39z7p77jjf95zph2nw8j2vihm56q9ql"; + }; + } + { + goPackagePath = "github.com/hashicorp/serf"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/serf"; + rev = "v0.8.3"; + sha256 = "0isaq2m08rpwvlzd72gvy3caapkrzgr9cwizl99ainsjgj2nkds9"; + }; + } + { + goPackagePath = "github.com/hashicorp/uuid"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/uuid"; + rev = "ebb0a03e909c"; + sha256 = "0bzqr8y81h96cw299lhc5nxi9203a7xpd7csjsm6rh4k1bx4hdlf"; + }; + } + { + goPackagePath = "github.com/hashicorp/yamux"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/yamux"; + rev = "f5742cb6b856"; + sha256 = "1k9b399ljsp443s1v69c1m5jqdiw1998ryz4b4lh86nkz775ws5s"; + }; + } + { + goPackagePath = "github.com/hpcloud/tail"; + fetch = { + type = "git"; + url = "https://github.com/hpcloud/tail"; + rev = "v1.0.0"; + sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0"; + }; + } + { + goPackagePath = "github.com/joho/godotenv"; + fetch = { + type = "git"; + url = "https://github.com/joho/godotenv"; + rev = "v1.3.0"; + sha256 = "0ri8if0pc3x6jg4c3i8wr58xyfpxkwmcjk3rp8gb398a1aa3gpjm"; + }; + } + { + goPackagePath = "github.com/json-iterator/go"; + fetch = { + type = "git"; + url = "https://github.com/json-iterator/go"; + rev = "v1.1.7"; + sha256 = "0n79p4s67zl5zprxv7diayw3vavnmmfqkmd6snz0i9bxp825dsyz"; + }; + } + { + goPackagePath = "github.com/julienschmidt/httprouter"; + fetch = { + type = "git"; + url = "https://github.com/julienschmidt/httprouter"; + rev = "v1.2.0"; + sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666"; + }; + } + { + goPackagePath = "github.com/konsorten/go-windows-terminal-sequences"; + fetch = { + type = "git"; + url = "https://github.com/konsorten/go-windows-terminal-sequences"; + rev = "v1.0.2"; + sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7"; + }; + } + { + goPackagePath = "github.com/kr/logfmt"; + fetch = { + type = "git"; + url = "https://github.com/kr/logfmt"; + rev = "b84e30acd515"; + sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9"; + }; + } + { + 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.8"; + sha256 = "1vcl6f90n0f8s8b4fyh0832ilybjqcypqyj233lqj1hx62fvgdbk"; + }; + } + { + goPackagePath = "github.com/kr/text"; + fetch = { + type = "git"; + url = "https://github.com/kr/text"; + rev = "v0.1.0"; + sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1"; + }; + } + { + goPackagePath = "github.com/kylelemons/godebug"; + fetch = { + type = "git"; + url = "https://github.com/kylelemons/godebug"; + rev = "v1.1.0"; + sha256 = "0dkk3friykg8p6wgqryx6745ahhb9z1j740k7px9dac6v5xjp78c"; + }; + } + { + 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.9"; + sha256 = "0i3km37lajahh1y2392g4hpgvq05arcgiiv93yhzxxyv0fpqj72m"; + }; + } + { + 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/miekg/dns"; + fetch = { + type = "git"; + url = "https://github.com/miekg/dns"; + rev = "v1.0.15"; + sha256 = "051f51fyrsnj69j9ni9j72acqnrvvzqda4l831ijffy5h5jdl8f2"; + }; + } + { + goPackagePath = "github.com/mitchellh/cli"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/cli"; + rev = "v1.0.0"; + sha256 = "1i9kmr7rcf10d2hji8h4247hmc0nbairv7a0q51393aw2h1bnwg2"; + }; + } + { + 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/mitchellh/go-testing-interface"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/go-testing-interface"; + rev = "v1.0.0"; + sha256 = "1dl2js8di858bawg7dadlf1qjpkl2g3apziihjyf5imri3znyfpw"; + }; + } + { + goPackagePath = "github.com/mitchellh/go-wordwrap"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/go-wordwrap"; + rev = "v1.0.0"; + sha256 = "1jffbwcr3nnq6c12c5856bwzv2nxjzqk3jwgvxkwi1xhpd2by0bf"; + }; + } + { + goPackagePath = "github.com/mitchellh/hashstructure"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/hashstructure"; + rev = "2bca23e0e452"; + sha256 = "0vpacsls26474wya360fjhzi6l4y8s8s251c4szvqxh17n5f5gk1"; + }; + } + { + goPackagePath = "github.com/mitchellh/mapstructure"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/mapstructure"; + rev = "d0303fe80992"; + sha256 = "1fjwi5ghc1ibyx93apz31n4hj6gcq1hzismpdfbg2qxwshyg0ya8"; + }; + } + { + 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/oklog/run"; + fetch = { + type = "git"; + url = "https://github.com/oklog/run"; + rev = "v1.0.0"; + sha256 = "1pbjza4claaj95fpqvvfrysvs10y7dm0pl6qr5lzh6qy1vnhmcgw"; + }; + } + { + goPackagePath = "github.com/onsi/ginkgo"; + fetch = { + type = "git"; + url = "https://github.com/onsi/ginkgo"; + rev = "v1.6.0"; + sha256 = "0x0gc89vgq38xhgmi2h22bhr73cf2gmk42g89nz89k8dgg9hhr25"; + }; + } + { + goPackagePath = "github.com/onsi/gomega"; + fetch = { + type = "git"; + url = "https://github.com/onsi/gomega"; + rev = "v1.4.3"; + sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v"; + }; + } + { + goPackagePath = "github.com/pascaldekloe/goe"; + fetch = { + type = "git"; + url = "https://github.com/pascaldekloe/goe"; + rev = "v0.1.0"; + sha256 = "1dqd3mfb4z2vmv6pg6fhgvfc53vhndk24wcl9lj1rz02n6m279fq"; + }; + } + { + 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/posener/complete"; + fetch = { + type = "git"; + url = "https://github.com/posener/complete"; + rev = "v1.1.2"; + sha256 = "02xrnfkk9r2jarna8jqfkksrn469jdap716037zq84waq3d5xk3l"; + }; + } + { + goPackagePath = "github.com/prometheus/alertmanager"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/alertmanager"; + rev = "v0.9.1"; + sha256 = "1lkfj63pp4jf58xmn015r7s42p1wyj6fryihpmdn0k76b0ccwqzj"; + }; + } + { + goPackagePath = "github.com/prometheus/client_golang"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_golang"; + rev = "v0.9.4"; + sha256 = "0s134fj4i7k6pxdmxwkdi7amb1882yq33spv15hg3pkpbd3h311p"; + }; + } + { + 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.3"; + sha256 = "18c4m795fwng8f8qa395f3crvamlbk5y5afk8b5rzyisnmjq774y"; + }; + } + { + goPackagePath = "github.com/ryanuber/columnize"; + fetch = { + type = "git"; + url = "https://github.com/ryanuber/columnize"; + rev = "v2.1.0"; + sha256 = "0m9jhagb1k44zfcdai76xdf9vpi3bqdl7p078ffyibmz0z9jfap6"; + }; + } + { + goPackagePath = "github.com/satori/go.uuid"; + fetch = { + type = "git"; + url = "https://github.com/satori/go.uuid"; + rev = "v1.1.0"; + sha256 = "1nbydsmjr60904kz5d46nib0zid5kcv4gk9wayi44gn5wlzz80zp"; + }; + } + { + goPackagePath = "github.com/sean-/seed"; + fetch = { + type = "git"; + url = "https://github.com/sean-/seed"; + rev = "e2103e2c3529"; + sha256 = "0glir8jxi1w7aga2jwdb63pp1h8q4whknili7xixsqzwyy716125"; + }; + } + { + goPackagePath = "github.com/sirupsen/logrus"; + fetch = { + type = "git"; + url = "https://github.com/sirupsen/logrus"; + rev = "v1.2.0"; + sha256 = "0r6334x2bls8ddznvzaldx4g88msjjns4mlks95rqrrg7h0ijigg"; + }; + } + { + goPackagePath = "github.com/spaolacci/murmur3"; + fetch = { + type = "git"; + url = "https://github.com/spaolacci/murmur3"; + rev = "v1.1.0"; + sha256 = "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25"; + }; + } + { + 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/tucnak/telebot"; + fetch = { + type = "git"; + url = "https://github.com/tucnak/telebot"; + rev = "00cebf376d79"; + sha256 = "0yay3h7gp6yag8jbapbq10vhmszad7svn68nnq5yp6pl1hmykzd6"; + }; + } + { + goPackagePath = "github.com/weaveworks/mesh"; + fetch = { + type = "git"; + url = "https://github.com/weaveworks/mesh"; + rev = "f74318fb713b"; + sha256 = "093j5i7wrkq1g92xaprd0rlfv9i74381wns4941bhbp6x6ahdcz7"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "45a5f77698d3"; + sha256 = "0636jjj89wkzqchajwwzgcn4aafc334p70nawh9jzavg2mkx0ch4"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "891ebc4b82d6"; + sha256 = "1rgw5gl2lc6bkmsx0fak84s6zdc1bhzfxgqg4mg4yh5hlnhpwrki"; + }; + } + { + 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 = "fde4db37ae7a"; + sha256 = "16k4w4pzziq1kln18k5fg01qgk4hpzb5xsm7175kaky6d6gwyhg3"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "v0.3.2"; + sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh"; + }; + } + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "90fa682c2a6e"; + sha256 = "03ic2xsy51jw9749wl7gszdbz99iijbd2bckgygl6cm9w5m364ak"; + }; + } + { + goPackagePath = "google.golang.org/appengine"; + fetch = { + type = "git"; + url = "https://github.com/golang/appengine"; + rev = "v1.1.0"; + sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x"; + }; + } + { + goPackagePath = "gopkg.in/airbrake/gobrake.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/airbrake/gobrake.v2"; + rev = "v2.0.9"; + sha256 = "1x06f7n7qlyzqgyz0sdfcidf3w4ldn6zs6qx2mhibggk2z4whcjw"; + }; + } + { + 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 = "788fd7840127"; + sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a"; + }; + } + { + goPackagePath = "gopkg.in/fsnotify.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/fsnotify.v1"; + rev = "v1.4.7"; + sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; + }; + } + { + goPackagePath = "gopkg.in/gemnasium/logrus-airbrake-hook.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/gemnasium/logrus-airbrake-hook.v2"; + rev = "v2.1.2"; + sha256 = "0sbg0dn6cysmf8f2bi209jwl4jnpiwp4rdghnxlzirw3c32ms5y5"; + }; + } + { + goPackagePath = "gopkg.in/tomb.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/tomb.v1"; + rev = "dd632973f1e7"; + sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv"; + }; + } + { + goPackagePath = "gopkg.in/vmihailenco/msgpack.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/vmihailenco/msgpack.v2"; + rev = "v2.9.1"; + sha256 = "0ah9j7i97ifyqhiscq8d43gcrhksb3bx83s2p1nyfi1bxw78jwfi"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/yaml.v2"; + rev = "v2.2.2"; + sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa"; + }; + } +] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ad7a9654970..c42e587acb6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15813,6 +15813,8 @@ in alfred = callPackage ../os-specific/linux/batman-adv/alfred.nix { }; + alertmanager-bot = callPackage ../servers/monitoring/alertmanager-bot { }; + alsa-firmware = callPackage ../os-specific/linux/alsa-firmware { }; alsaLib = callPackage ../os-specific/linux/alsa-lib { }; From ea96d2a139bff306842595d611309d9eaa4dc377 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sun, 15 Dec 2019 20:55:58 -0800 Subject: [PATCH 123/125] python3Packages.dask: 2.6.0 -> 2.9.0 --- pkgs/development/python-modules/dask/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix index d55595d456f..a857925d7b7 100644 --- a/pkgs/development/python-modules/dask/default.nix +++ b/pkgs/development/python-modules/dask/default.nix @@ -15,13 +15,13 @@ buildPythonPackage rec { pname = "dask"; - version = "2.6.0"; + version = "2.9.0"; disabled = pythonOlder "3.5"; src = fetchPypi { inherit pname version; - sha256 = "81c7891f0d2e7ac03d1f7fabf1f639360a1db52c03a7155ba9b08e9ee6280f2b"; + sha256 = "1w1hqr8vyx6ygwflj2737dcy0mmgvrc0s602gnny8pzlcbs9m76b"; }; checkInputs = [ pytest ]; From 146e2a0cedeedcb5c5fa89bb16feefc64899e265 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sun, 15 Dec 2019 20:22:57 -0800 Subject: [PATCH 124/125] python3Packages.bottleneck: 1.2.1 -> 1.3.1 Also gave the expression some love --- .../python-modules/bottleneck/default.nix | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/bottleneck/default.nix b/pkgs/development/python-modules/bottleneck/default.nix index 21492dc152c..f45eea2c5df 100644 --- a/pkgs/development/python-modules/bottleneck/default.nix +++ b/pkgs/development/python-modules/bottleneck/default.nix @@ -1,26 +1,34 @@ -{ buildPythonPackage -, fetchPypi +{ lib, buildPythonPackage, fetchPypi , nose -, pytest , numpy +, pytest , python }: buildPythonPackage rec { pname = "Bottleneck"; - version = "1.2.1"; + version = "1.3.1"; src = fetchPypi { inherit pname version; - sha256 = "6efcde5f830aed64feafca0359b51db0e184c72af8ba6675b4a99f263922eb36"; + sha256 = "0a2a94zahl3kqld2n9dm58fvazz9s52sa16nd8yn5jv20hvqc5a5"; }; - checkInputs = [ pytest nose ]; propagatedBuildInputs = [ numpy ]; - checkPhase = '' - py.test -p no:warnings $out/${python.sitePackages} - ''; + postPatch = '' substituteInPlace setup.py --replace "__builtins__.__NUMPY_SETUP__ = False" "" ''; + + checkInputs = [ pytest nose ]; + checkPhase = '' + py.test -p no:warnings $out/${python.sitePackages} + ''; + + meta = with lib; { + description = "Fast NumPy array functions written in C"; + homepage = "https://github.com/pydata/bottleneck"; + license = licenses.bsd2; + maintainers = with maintainers; [ ]; + }; } From 7315dc071c901b83dfcacb5536f32699b2cb610a Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 18 Dec 2019 20:00:00 -0500 Subject: [PATCH 125/125] vault: 1.3.0 -> 1.3.1 --- pkgs/tools/security/vault/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix index 1e5a16e1958..11b0b067ccb 100644 --- a/pkgs/tools/security/vault/default.nix +++ b/pkgs/tools/security/vault/default.nix @@ -2,13 +2,13 @@ buildGoPackage rec { pname = "vault"; - version = "1.3.0"; + version = "1.3.1"; src = fetchFromGitHub { owner = "hashicorp"; repo = "vault"; rev = "v${version}"; - sha256 = "0ayvmqg4fj9cliwbl4pb12mailq7062j3f9v8arpv6x5r4hydlpy"; + sha256 = "052aj79gwmydc7ph1g567cbssqf8dsmqxad47k5hc5sc58bx7c93"; }; goPackagePath = "github.com/hashicorp/vault";