From 757c7f377326205f3e04afe5d053c371600457f7 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 27 Nov 2019 15:44:32 -0600 Subject: [PATCH 01/45] docker-container: Remove /etc symlink The system output usually contains a symlink from /etc to the static configuration for the benefit of the stage-1 script in the initrd. The stage-2 script is usually started in the real root without such a symlink. In a container, there is no stage-1 and the system output is used directly as a real root. If the symlink is present, setup-etc.pl will create a symlink cycle and the system cannot boot. There is no reason for the /etc link to exist in a container because setup-etc.pl will create the necessary files. The container module will now remove the /etc symlink and create an empty directory. The empty /etc is for container managers to populate it with site-specific settings; for example, to set the hostname. This is required to boot NixOS in an LXC container on another host. See also: #9735 --- nixos/modules/profiles/docker-container.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/nixos/modules/profiles/docker-container.nix b/nixos/modules/profiles/docker-container.nix index 5d6b11498b5..183645de36f 100644 --- a/nixos/modules/profiles/docker-container.nix +++ b/nixos/modules/profiles/docker-container.nix @@ -2,6 +2,8 @@ with lib; +let inherit (pkgs) writeScript; in + let pkgs2storeContents = l : map (x: { object = x; symlink = "none"; }) l; @@ -30,7 +32,12 @@ in { ]; # Some container managers like lxc need these - extraCommands = "mkdir -p proc sys dev"; + extraCommands = + let script = writeScript "extra-commands.sh" '' + rm etc + mkdir -p proc sys dev etc + ''; + in script; }; boot.isContainer = true; From df495e3a9f93df2f71e0e8842cf565d94b170434 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 15 Apr 2020 07:06:30 +0000 Subject: [PATCH 02/45] pwsafe: 1.09.0 -> 3.52.0 --- pkgs/applications/misc/pwsafe/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/pwsafe/default.nix b/pkgs/applications/misc/pwsafe/default.nix index 91845abc8b2..6abfdc3c21d 100644 --- a/pkgs/applications/misc/pwsafe/default.nix +++ b/pkgs/applications/misc/pwsafe/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "pwsafe"; - version = "1.09.0"; + version = "3.52.0"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "${version}"; - sha256 = "0dmazm95d53wq74qvsjvhl7r6fr4dv11nzf8sgdy47nyxv06xs1b"; + sha256 = "1ka7xsl63v0559fzf3pwc1iqr37gwr4vq5iaxa2hzar2g28hsxvh"; }; nativeBuildInputs = [ From c1f5ac41a360812a7a14c717cd4e3a3b97d1e07e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 22 Apr 2020 07:24:35 +0100 Subject: [PATCH 03/45] python3.pkgs.snitun: fix port binding conflicts in test --- .../python-modules/snitun/default.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/snitun/default.nix b/pkgs/development/python-modules/snitun/default.nix index 8212379e3d4..901987fbff6 100644 --- a/pkgs/development/python-modules/snitun/default.nix +++ b/pkgs/development/python-modules/snitun/default.nix @@ -1,4 +1,6 @@ -{ lib, stdenv, buildPythonPackage, python, fetchFromGitHub, attrs, cryptography, async-timeout, pytest-aiohttp, pytest }: +{ lib, stdenv, buildPythonPackage, python, fetchFromGitHub +, attrs, cryptography, async-timeout, pytest-aiohttp, pytestCheckHook +}: buildPythonPackage rec { pname = "snitun"; @@ -13,12 +15,14 @@ buildPythonPackage rec { propagatedBuildInputs = [ attrs cryptography async-timeout ]; - checkInputs = [ pytest pytest-aiohttp ]; + checkInputs = [ pytestCheckHook pytest-aiohttp ]; - checkPhase = '' - # https://github.com/NabuCasa/snitun/issues/61 - pytest ${lib.optionalString stdenv.isDarwin "-k 'not test_multiplexer_data_channel_abort_full'"} tests/ - ''; + disabledTests = lib.optionals stdenv.isDarwin [ + "test_multiplexer_data_channel_abort_full" # https://github.com/NabuCasa/snitun/issues/61 + # port binding conflicts + "test_snitun_single_runner_timeout" + "test_snitun_single_runner_throttling" + ]; meta = with lib; { homepage = "https://github.com/nabucasa/snitun"; From 9bb6948317a895915f74bf9a31bc178862b6cfa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 14 Apr 2020 12:19:33 +0100 Subject: [PATCH 04/45] home-assistant: 0.108.2 -> 0.108.7 --- .../0001-setup.py-relax-dependencies.patch | 17 +++++++++++------ .../home-assistant/component-packages.nix | 2 +- pkgs/servers/home-assistant/default.nix | 4 ++-- pkgs/servers/home-assistant/frontend.nix | 4 ++-- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/pkgs/servers/home-assistant/0001-setup.py-relax-dependencies.patch b/pkgs/servers/home-assistant/0001-setup.py-relax-dependencies.patch index 52d2daf80b0..e18842f49aa 100644 --- a/pkgs/servers/home-assistant/0001-setup.py-relax-dependencies.patch +++ b/pkgs/servers/home-assistant/0001-setup.py-relax-dependencies.patch @@ -1,4 +1,4 @@ -From 80f39643bb4d25f8ffcbd92804844961b303f4d0 Mon Sep 17 00:00:00 2001 +From 679364e1cd95dc7179dbd3114ec35b282fbcb0af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 9 Apr 2020 07:20:46 +0100 Subject: [PATCH] setup.py: relax dependencies @@ -8,11 +8,11 @@ Content-Transfer-Encoding: 8bit Signed-off-by: Jörg Thalheim --- - setup.py | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) + setup.py | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/setup.py b/setup.py -index f53af0ee1..ff4227487 100755 +index e0daacd98b..7166f1f228 100755 --- a/setup.py +++ b/setup.py @@ -32,10 +32,10 @@ PROJECT_URLS = { @@ -28,7 +28,12 @@ index f53af0ee1..ff4227487 100755 "bcrypt==3.1.7", "certifi>=2019.11.28", "ciso8601==2.1.3", -@@ -47,9 +47,9 @@ REQUIRES = [ +@@ -43,13 +43,13 @@ REQUIRES = [ + "jinja2>=2.11.1", + "PyJWT==1.7.1", + # PyJWT has loose dependency. We want the latest one. +- "cryptography==2.8", ++ "cryptography>=2.8", "pip>=8.0.3", "python-slugify==4.0.0", "pytz>=2019.03", @@ -42,5 +47,5 @@ index f53af0ee1..ff4227487 100755 "voluptuous-serialize==2.3.0", ] -- -2.25.1 +2.26.1 diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index d19b70c426e..0ae33cd4895 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "0.108.2"; + version = "0.108.7"; components = { "abode" = ps: with ps; [ ]; # missing inputs: abodepy "acer_projector" = ps: with ps; [ pyserial]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 51b6d94860c..d04c2fa5c96 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -67,7 +67,7 @@ let extraBuildInputs = extraPackages py.pkgs; # Don't forget to run parse-requirements.py after updating - hassVersion = "0.108.2"; + hassVersion = "0.108.7"; in with py.pkgs; buildPythonApplication rec { pname = "homeassistant"; @@ -86,7 +86,7 @@ in with py.pkgs; buildPythonApplication rec { owner = "home-assistant"; repo = "home-assistant"; rev = version; - sha256 = "0v4i1ak7pkpycas0mzdmxgc42xgfymwx2b0a2a4h13c4z46pbs2l"; + sha256 = "0nk1615ms6nlmhgmsgsknc6m7b19baan8m4kr4s97njngiardxm7"; }; propagatedBuildInputs = [ diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index 9e12016320c..6ca763768ea 100644 --- a/pkgs/servers/home-assistant/frontend.nix +++ b/pkgs/servers/home-assistant/frontend.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { # the frontend version corresponding to a specific home-assistant version can be found here # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json pname = "home-assistant-frontend"; - version = "20200407.2"; + version = "20200418.0"; src = fetchPypi { inherit pname version; - sha256 = "0krwn67bkybjb69daik6dki5hm36xs4nbfwqkh0q7ami1xr1f56d"; + sha256 = "12px8znc6nw5ndg4f28lvfpqsnzi00b5qgpdj9jwny0fss4aglnb"; }; # no Python tests implemented From a33ce7e4fb6774dfc280b5ccd9451297804bc7c5 Mon Sep 17 00:00:00 2001 From: Julian Stecklina Date: Wed, 22 Apr 2020 14:40:38 +0200 Subject: [PATCH 05/45] spike: add test to nixosTests --- nixos/tests/all-tests.nix | 1 + pkgs/applications/virtualization/spike/default.nix | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index cbfdf3ad9c2..38e8980b748 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -287,6 +287,7 @@ in snapper = handleTest ./snapper.nix {}; solr = handleTest ./solr.nix {}; spacecookie = handleTest ./spacecookie.nix {}; + spike = handleTest ./spike.nix {}; sonarr = handleTest ./sonarr.nix {}; strongswan-swanctl = handleTest ./strongswan-swanctl.nix {}; sudo = handleTest ./sudo.nix {}; diff --git a/pkgs/applications/virtualization/spike/default.nix b/pkgs/applications/virtualization/spike/default.nix index 4dbb7fbe4a5..0f397bc272a 100644 --- a/pkgs/applications/virtualization/spike/default.nix +++ b/pkgs/applications/virtualization/spike/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, dtc }: +{ stdenv, fetchgit, dtc, nixosTests }: stdenv.mkDerivation rec { pname = "spike"; @@ -20,6 +20,10 @@ stdenv.mkDerivation rec { doCheck = true; + passthru.tests = { + can-run-hello-world = nixosTests.spike; + }; + meta = with stdenv.lib; { description = "A RISC-V ISA Simulator"; homepage = "https://github.com/riscv/riscv-isa-sim"; From 6a4b7e51b0fe9d1c351a60c7733771a3c4bb50e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Wed, 22 Apr 2020 23:01:16 -0300 Subject: [PATCH 06/45] xfce.xfce4-whiskermenu-plugin: 2.4.3 -> 2.4.4 --- .../xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix index 262093af69f..0d9f6916e1c 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix @@ -3,9 +3,9 @@ mkXfceDerivation { category = "panel-plugins"; pname = "xfce4-whiskermenu-plugin"; - version = "2.4.3"; + version = "2.4.4"; rev-prefix = "v"; - sha256 = "1cs3fps1bj0dd5az7fwrvw1xl3y621qk4dma3n73p7rr19j7fpsn"; + sha256 = "08b82j9xp3vzjlc740s9svcjkbsal71ggp23y7dvjqppch7sdxzw"; nativeBuildInputs = [ cmake ]; From 41a95b1b7d88f45fb536640d8d8d482d89e8bce1 Mon Sep 17 00:00:00 2001 From: John Axel Eriksson Date: Wed, 22 Apr 2020 23:00:14 +0200 Subject: [PATCH 07/45] The systemd unit for k3s should differ between agents and servers --- nixos/modules/services/cluster/k3s/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/cluster/k3s/default.nix b/nixos/modules/services/cluster/k3s/default.nix index ccdf54d128e..2e8bf20a68f 100644 --- a/nixos/modules/services/cluster/k3s/default.nix +++ b/nixos/modules/services/cluster/k3s/default.nix @@ -81,8 +81,8 @@ in after = mkIf cfg.docker [ "docker.service" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { - # Taken from https://github.com/rancher/k3s/blob/v1.17.4+k3s1/contrib/ansible/roles/k3s/node/templates/k3s.service.j2 - Type = "notify"; + # See: https://github.com/rancher/k3s/blob/dddbd16305284ae4bd14c0aade892412310d7edc/install.sh#L197 + Type = if cfg.role == "agent" then "exec" else "notify"; KillMode = "process"; Delegate = "yes"; Restart = "always"; From 59cea9da66cb3672fc1bcb2ad66329e6df2fb723 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Thu, 23 Apr 2020 15:34:41 -0300 Subject: [PATCH 08/45] xfce.xfce4-whiskermenu-plugin: fix gettext path in script --- .../panel-plugins/xfce4-whiskermenu-plugin/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix index 0d9f6916e1c..859a580bb70 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix @@ -1,4 +1,4 @@ -{ mkXfceDerivation, gtk3, glib, cmake, exo, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: +{ mkXfceDerivation, gettext, gtk3, glib, cmake, exo, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: mkXfceDerivation { category = "panel-plugins"; @@ -9,7 +9,12 @@ mkXfceDerivation { nativeBuildInputs = [ cmake ]; - buildInputs = [ exo garcon gtk3 glib libxfce4ui libxfce4util xfce4-panel xfconf ]; + buildInputs = [ gettext exo garcon gtk3 glib libxfce4ui libxfce4util xfce4-panel xfconf ]; + + postPatch = '' + substituteInPlace panel-plugin/xfce4-popup-whiskermenu.in \ + --replace gettext ${gettext}/bin/gettext + ''; postInstall = '' substituteInPlace $out/bin/xfce4-popup-whiskermenu \ From fc9ae0457543557828757667072c2576c28a798a Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 24 Apr 2020 17:51:40 -0400 Subject: [PATCH 09/45] gnome3.mutter334: 3.34.4 -> 3.34.5, backports Backports gnome-3-34 patches as well --- pkgs/desktops/gnome-3/core/mutter/3.34/default.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/mutter/3.34/default.nix b/pkgs/desktops/gnome-3/core/mutter/3.34/default.nix index 51d3c4115d9..87696987850 100644 --- a/pkgs/desktops/gnome-3/core/mutter/3.34/default.nix +++ b/pkgs/desktops/gnome-3/core/mutter/3.34/default.nix @@ -43,13 +43,13 @@ stdenv.mkDerivation rec { pname = "mutter"; - version = "3.34.4"; + version = "3.34.5"; outputs = [ "out" "dev" "man" ]; src = fetchurl { url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "18hbw98p4h3d4qz57415smwmfg72s9a0nk8mb04ds1gn2lsm2d01"; + sha256 = "1i3r51ghfld1rf1rczzi3jhybz3mhywqcj2jyiqhfcyp1svlklfi"; }; mesonFlags = [ @@ -111,6 +111,13 @@ stdenv.mkDerivation rec { sha256 = "0imy2j8af9477jliwdq4jc40yw1cifsjjf196gnmwxr9rkj0hbrd"; }) + # gnome-3-34 2020-04-24 + # also fixes https://mail.gnome.org/archives/distributor-list/2020-April/msg00001.html + (fetchpatch { + url = "https://github.com/GNOME/mutter/compare/3.34.5..3bafd234248fdcd84bc62fef5e31c29fbb613909.patch"; + sha256 = "1a7krbdfmvx204p6av44rbp4ckp6ddg1mms8wkixxh2p871zq1pi"; + }) + # Drop inheritable cap_sys_nice, to prevent the ambient set from leaking # from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381 ./drop-inheritable.patch From 71171b3225a7cf4073a9519852791eb4c94e7ff0 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Wed, 22 Apr 2020 18:50:27 +0200 Subject: [PATCH 10/45] Python tests: test venv from a nix env with Python 3.8 This test was disabled because it did not function yet, however, apparently it does with 3.8. --- pkgs/development/interpreters/python/tests.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/development/interpreters/python/tests.nix b/pkgs/development/interpreters/python/tests.nix index 55065c45d57..f2fb6b95c37 100644 --- a/pkgs/development/interpreters/python/tests.nix +++ b/pkgs/development/interpreters/python/tests.nix @@ -38,17 +38,18 @@ let is_nixenv = "False"; }; + } // lib.optionalAttrs (python.pythonAtLeast "3.8") { # Venv built using Python Nix environment (python.buildEnv) # TODO: Cannot create venv from a nix env # Error: Command '['/nix/store/ddc8nqx73pda86ibvhzdmvdsqmwnbjf7-python3-3.7.6-venv/bin/python3.7', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1. - # nixenv-venv = rec { - # env = runCommand "${python.name}-venv" {} '' - # ${pythonEnv.interpreter} -m venv $out - # ''; - # interpreter = "${env}/bin/${pythonEnv.executable}"; - # is_venv = "True"; - # is_nixenv = "True"; - # }; + nixenv-venv = rec { + env = runCommand "${python.name}-venv" {} '' + ${pythonEnv.interpreter} -m venv $out + ''; + interpreter = "${env}/bin/${pythonEnv.executable}"; + is_venv = "True"; + is_nixenv = "True"; + }; }; # All PyPy package builds are broken at the moment From 6f873e98f4405b6085f67e2baad67d925cd2a23b Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Wed, 22 Apr 2020 18:51:16 +0200 Subject: [PATCH 11/45] Python integration tests: disable for older python 3 versions because the package that is used as part of the test does not support older versions. --- pkgs/development/interpreters/python/tests.nix | 2 +- .../python/tests/test_nix_pythonprefix/typeddep/default.nix | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/python/tests.nix b/pkgs/development/interpreters/python/tests.nix index f2fb6b95c37..f7ec06ce4ff 100644 --- a/pkgs/development/interpreters/python/tests.nix +++ b/pkgs/development/interpreters/python/tests.nix @@ -53,7 +53,7 @@ let }; # All PyPy package builds are broken at the moment - integrationTests = lib.optionalAttrs (python.isPy3k && (!python.isPyPy)) rec { + integrationTests = lib.optionalAttrs (python.pythonAtLeast "3.7" && (!python.isPyPy)) rec { # Before the addition of NIX_PYTHONPREFIX mypy was broken with typed packages nix-pythonprefix-mypy = callPackage ./tests/test_nix_pythonprefix { interpreter = python; diff --git a/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix b/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix index 06219a69fca..8d330fcdbfc 100644 --- a/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix +++ b/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix @@ -1,4 +1,4 @@ -{ buildPythonPackage }: +{ buildPythonPackage, pythonOlder }: buildPythonPackage { @@ -8,4 +8,6 @@ buildPythonPackage { src = ./.; + disabled = pythonOlder "3.7"; + } From 93a9ac696bad1b3afe072af85ae595686a5b7408 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Tue, 21 Apr 2020 10:51:15 +0200 Subject: [PATCH 12/45] playonlinux: fix build --- .../applications/misc/playonlinux/default.nix | 60 ++++++++++--------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/pkgs/applications/misc/playonlinux/default.nix b/pkgs/applications/misc/playonlinux/default.nix index fe9838fe0d9..e3b7c48d2b4 100644 --- a/pkgs/applications/misc/playonlinux/default.nix +++ b/pkgs/applications/misc/playonlinux/default.nix @@ -9,7 +9,7 @@ , imagemagick , netcat-gnu , p7zip -, python2Packages +, python2 , unzip , wget , wine @@ -27,25 +27,25 @@ let version = "4.3.4"; - binpath = stdenv.lib.makeBinPath - [ cabextract - python2Packages.python - gettext - glxinfo - gnupg - icoutils - imagemagick - netcat-gnu - p7zip - unzip - wget - wine - xdg-user-dirs - xterm - which - curl - jq - ]; + binpath = stdenv.lib.makeBinPath [ + cabextract + python + gettext + glxinfo + gnupg + icoutils + imagemagick + netcat-gnu + p7zip + unzip + wget + wine + xdg-user-dirs + xterm + which + curl + jq + ]; ld32 = if stdenv.hostPlatform.system == "x86_64-linux" then "${stdenv.cc}/nix-support/dynamic-linker-m32" @@ -54,6 +54,11 @@ let ld64 = "${stdenv.cc}/nix-support/dynamic-linker"; libs = pkgs: stdenv.lib.makeLibraryPath [ xorg.libX11 libGL ]; + python = python2.withPackages(ps: with ps; [ + wxPython + setuptools + ]); + in stdenv.mkDerivation { pname = "playonlinux"; inherit version; @@ -65,15 +70,13 @@ in stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper ]; - buildInputs = - [ python2Packages.python - python2Packages.wxPython - python2Packages.setuptools - xorg.libX11 - libGL - ]; + buildInputs = [ + xorg.libX11 + libGL + python + ]; - patchPhase = '' + postPatch = '' patchShebangs python tests/python sed -i "s/ %F//g" etc/PlayOnLinux.desktop ''; @@ -85,7 +88,6 @@ in stdenv.mkDerivation { install -D -m644 etc/PlayOnLinux.desktop $out/share/applications/playonlinux.desktop makeWrapper $out/share/playonlinux/playonlinux $out/bin/playonlinux \ - --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") \ --prefix PATH : ${binpath} bunzip2 $out/share/playonlinux/bin/check_dd_x86.bz2 From bc8e1f3ad5fe633a3ca33550a35d99806db1e8d3 Mon Sep 17 00:00:00 2001 From: Rouven Czerwinski Date: Sat, 25 Apr 2020 08:23:41 +0200 Subject: [PATCH 13/45] pipewire: patch for SIGILL in fmt-ops Hydra run tests are failing with SIGILL, see [1] , import the upstream patch to fix the issue. Presumably not all hydra runners have the same instruction extensions, this should fix the tests on those without AVX2. [1]: https://hydra.nixos.org/build/117012754 --- pkgs/development/libraries/pipewire/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index 197282c5ac1..d873555c0fa 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -1,5 +1,6 @@ { stdenv , fetchFromGitLab +, fetchpatch , meson , ninja , pkgconfig @@ -72,6 +73,13 @@ stdenv.mkDerivation rec { vulkan-loader xorg.libX11 ]; + patches = [ + # fix SIGILL in fmt-ops: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/227 + (fetchpatch { + url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/1b3aaba206f48e75bb34ff0cd00321bd3d6db2b4.patch"; + sha256 = "08bmr9k2r0q4r7vhhm28k558nk3mz3jfnqswvq9mcj7p0srmfb4x"; + }) + ]; mesonFlags = [ "-Ddocs=true" From 79e6d13a4adae7e82595b89e5149b002ab2bf16e Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Tue, 14 Apr 2020 11:39:02 +0200 Subject: [PATCH 14/45] ocamlPackages.cow: 2.2.0 -> 2.4.0 --- .../development/ocaml-modules/cow/default.nix | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/pkgs/development/ocaml-modules/cow/default.nix b/pkgs/development/ocaml-modules/cow/default.nix index 2a4d7004faa..787854f8e41 100644 --- a/pkgs/development/ocaml-modules/cow/default.nix +++ b/pkgs/development/ocaml-modules/cow/default.nix @@ -1,30 +1,29 @@ -{ stdenv, fetchFromGitHub, ocaml, findlib -, ocamlbuild, topkg +{ lib, fetchurl, buildDunePackage, alcotest , uri, xmlm, omd, ezjsonm }: -stdenv.mkDerivation rec { - version = "2.2.0"; - pname = "ocaml-cow"; +buildDunePackage rec { + minimumOCamlVersion = "4.02.3"; - src = fetchFromGitHub { - owner = "mirage"; - repo = "ocaml-cow"; - rev = "v${version}"; - sha256 = "0snhabg7rfrrcq2ksr3qghiawd61cw3y4kp6rl7vs87j4cnk3kr2"; + version = "2.4.0"; + pname = "cow"; + + src = fetchurl { + url = "https://github.com/mirage/ocaml-cow/releases/download/v${version}/cow-v${version}.tbz"; + sha256 = "1x77lwpskda4zyikwxh500xjn90pgdwz6jm7ca7f36pyav4vl6zx"; }; - buildInputs = [ ocaml ocamlbuild findlib topkg ]; propagatedBuildInputs = [ xmlm uri ezjsonm omd ]; + checkInputs = [ alcotest ]; + doCheck = true; - inherit (topkg) buildPhase installPhase; - - meta = with stdenv.lib; { + meta = with lib; { description = "Caml on the Web"; longDescription = '' - Caml on the Web (COW) is a set of parsers and syntax extensions to let you manipulate HTML, CSS, XML, JSON and Markdown directly from OCaml code. + Writing web-applications requires a lot of skills: HTML, XML, JSON and + Markdown, to name but a few! This library provides OCaml combinators + for these web formats. ''; license = licenses.isc; maintainers = [ maintainers.sternenseemann ]; - inherit (ocaml.meta) platforms; }; } From 3acee227915c2f4b9aba5ecf5e6eb668ba47acee Mon Sep 17 00:00:00 2001 From: Piotr Bogdan Date: Fri, 24 Apr 2020 19:29:46 +0200 Subject: [PATCH 15/45] tartube: init at 2.0.016 --- pkgs/applications/video/tartube/default.nix | 68 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 70 insertions(+) create mode 100644 pkgs/applications/video/tartube/default.nix diff --git a/pkgs/applications/video/tartube/default.nix b/pkgs/applications/video/tartube/default.nix new file mode 100644 index 00000000000..ae222ae05a7 --- /dev/null +++ b/pkgs/applications/video/tartube/default.nix @@ -0,0 +1,68 @@ +{ stdenv +, lib +, fetchFromGitHub +, gdk-pixbuf +, gobject-introspection +, gtk3 +, libnotify +, pango +, python3Packages +, wrapGAppsHook +, youtube-dl +, glib +}: + +python3Packages.buildPythonApplication rec { + pname = "tartube"; + version = "2.0.016"; + + src = fetchFromGitHub { + owner = "axcore"; + repo = "tartube"; + rev = "v${version}"; + sha256 = "1y77ykihyi4v6xlsm5xldbs9lzq229l574rxz6qfvrjcbbwajfj9"; + }; + + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook + ]; + + strictDeps = false; + + propagatedBuildInputs = with python3Packages; [ + moviepy + pygobject3 + pyxdg + requests + ]; + + buildInputs = [ + gdk-pixbuf + gtk3 + glib + libnotify + pango + ]; + + postInstall = '' + mkdir -p $out/share/{man/man1,applications,pixmaps} + cp pack/tartube.1 $out/share/man/man1 + cp pack/tartube.desktop $out/share/applications + cp pack/tartube.{png,xpm} $out/share/pixmaps + ''; + + doCheck = false; + + makeWrapperArgs = [ + "--prefix PATH : ${stdenv.lib.makeBinPath [ youtube-dl ]}" + ]; + + meta = with lib; { + description = "A GUI front-end for youtube-dl"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ mkg20001 luc65r ]; + homepage = "https://tartube.sourceforge.io/"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e0562f88570..f3e9568e8a2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6870,6 +6870,8 @@ in tarsnapper = callPackage ../tools/backup/tarsnapper { }; + tartube = callPackage ../applications/video/tartube { }; + tayga = callPackage ../tools/networking/tayga { }; tcpcrypt = callPackage ../tools/security/tcpcrypt { }; From aefb4d3dc94ccf219f01c27c856b078bbe573727 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 25 Apr 2020 01:04:50 +0200 Subject: [PATCH 16/45] dmenu-wayland: 2020-02-28 -> 2020-04-03 --- pkgs/applications/misc/dmenu/wayland.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/dmenu/wayland.nix b/pkgs/applications/misc/dmenu/wayland.nix index 7b17d484771..ca2e6f56e84 100644 --- a/pkgs/applications/misc/dmenu/wayland.nix +++ b/pkgs/applications/misc/dmenu/wayland.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "dmenu-wayland-unstable"; - version = "2020-02-28"; + version = "2020-04-03"; src = fetchFromGitHub { owner = "nyyManni"; repo = "dmenu-wayland"; - rev = "68e08e8bcde10a10ac3290431f173c6c7fce4238"; - sha256 = "10b1v2brgpgb6wkzn62haj56zmkf3aq6fs3p9rp6bxiw8bs2nvlm"; + rev = "550a7c39f3f925b803d51c616609c8cb6c0ea543"; + sha256 = "0az3w1csn4x6mjyacg6lf70kykdfqamic3hbr57mj83i5jjv0jlv"; }; outputs = [ "out" "man" ]; From a194de9a9d36fdbe5da26f622968afe3c9878e9e Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 25 Apr 2020 01:26:01 +0200 Subject: [PATCH 17/45] diffoscope: 138 -> 142 --- pkgs/tools/misc/diffoscope/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix index 0ce0e1be325..02d9c504070 100644 --- a/pkgs/tools/misc/diffoscope/default.nix +++ b/pkgs/tools/misc/diffoscope/default.nix @@ -9,13 +9,15 @@ # Note: when upgrading this package, please run the list-missing-tools.sh script as described below! python3Packages.buildPythonApplication rec { pname = "diffoscope"; - version = "138"; + version = "142"; src = fetchurl { url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2"; - sha256 = "171nz5n4dayr7bj04h0x282vdk92kp7lgarnb3x0md91m2i9x997"; + sha256 = "0c6lvppghw9ynjg2radr8z3fc6lpgmgwr6kxyih7q4rxqf4gfv6i"; }; + outputs = [ "out" "man" ]; + patches = [ ./ignore_links.patch ]; From 74fcd4f2d61c0d93bb59ed1b1e12c60f7a530969 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 25 Apr 2020 12:12:54 +0200 Subject: [PATCH 18/45] ell: 0.30 -> 0.31 --- pkgs/os-specific/linux/ell/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix index 69c1f8de2ea..cb971d452d6 100644 --- a/pkgs/os-specific/linux/ell/default.nix +++ b/pkgs/os-specific/linux/ell/default.nix @@ -7,14 +7,14 @@ stdenv.mkDerivation rec { pname = "ell"; - version = "0.30"; + version = "0.31"; outputs = [ "out" "dev" ]; src = fetchgit { url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git"; rev = version; - sha256 = "0kiglgc02a6hqi1nhnl4d8lxax8b1fljp50pvqswrnbh7pgb5676"; + sha256 = "1qlpc906xd78fzxvvj2kxi3aikgnw0c0h3x620s131apax4qrnqa"; }; patches = [ From 61c95a2eec3691a3f494ffaf8b3c187f9e5e7634 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 25 Apr 2020 12:13:01 +0200 Subject: [PATCH 19/45] iwd: 1.6 -> 1.7 --- pkgs/os-specific/linux/iwd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix index 02bd83d9da6..be2a4ff3e56 100644 --- a/pkgs/os-specific/linux/iwd/default.nix +++ b/pkgs/os-specific/linux/iwd/default.nix @@ -13,12 +13,12 @@ stdenv.mkDerivation rec { pname = "iwd"; - version = "1.6"; + version = "1.7"; src = fetchgit { url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git"; rev = version; - sha256 = "0c38c7a234cwdd5y1brq4w56xszs8zlp57rr3nvgp8z8djcy1qvx"; + sha256 = "1qi25qav1rv8gm5lbrip8ayq5vwynmyv2q4ar7bbmnjh6cglvyh2"; }; nativeBuildInputs = [ From 3e9f3a3ebd8c2925f28efa91cafa56948ecab021 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sat, 25 Apr 2020 14:35:20 +0200 Subject: [PATCH 20/45] hostapd: apply patch for CVE-2019-16275 AP mode PMF disconnection protection bypass Published: September 11, 2019 Identifiers: - CVE-2019-16275 Latest version available from: https://w1.fi/security/2019-7/ Vulnerability hostapd (and wpa_supplicant when controlling AP mode) did not perform sufficient source address validation for some received Management frames and this could result in ending up sending a frame that caused associated stations to incorrectly believe they were disconnected from the network even if management frame protection (also known as PMF) was negotiated for the association. This could be considered to be a denial of service vulnerability since PMF is supposed to protect from this type of issues. It should be noted that if PMF is not enabled, there would be no protocol level protection against this type of denial service attacks. An attacker in radio range of the access point could inject a specially constructed unauthenticated IEEE 802.11 frame to the access point to cause associated stations to be disconnected and require a reconnection to the network. Vulnerable versions/configurations All hostapd and wpa_supplicants versions with PMF support (CONFIG_IEEE80211W=y) and a runtime configuration enabled AP mode with PMF being enabled (optional or required). In addition, this would be applicable only when using user space based MLME/SME in AP mode, i.e., when hostapd (or wpa_supplicant when controlling AP mode) would process authentication and association management frames. This condition would be applicable mainly with drivers that use mac80211. Possible mitigation steps - Merge the following commit to wpa_supplicant/hostapd and rebuild: AP: Silently ignore management frame from unexpected source address This patch is available from https://w1.fi/security/2019-7/ - Update to wpa_supplicant/hostapd v2.10 or newer, once available --- pkgs/os-specific/linux/hostapd/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/hostapd/default.nix b/pkgs/os-specific/linux/hostapd/default.nix index 869a394cefb..8152655d457 100644 --- a/pkgs/os-specific/linux/hostapd/default.nix +++ b/pkgs/os-specific/linux/hostapd/default.nix @@ -17,7 +17,13 @@ stdenv.mkDerivation rec { # Note: fetchurl seems to be unhappy with openwrt git # server's URLs containing semicolons. Using the github mirror instead. url = "https://raw.githubusercontent.com/openwrt/openwrt/master/package/network/services/hostapd/patches/300-noscan.patch"; - sha256 = "04wg4yjc19wmwk6gia067z99gzzk9jacnwxh5wyia7k5wg71yj5k";}) + sha256 = "04wg4yjc19wmwk6gia067z99gzzk9jacnwxh5wyia7k5wg71yj5k"; + }) + (fetchurl { + name = "CVE-2019-16275.patch"; + url = "https://w1.fi/security/2019-7/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch"; + sha256 = "15xjyy7crb557wxpx898b5lnyblxghlij0xby5lmj9hpwwss34dz"; + }) ]; outputs = [ "out" "man" ]; From b5f9eb06b5a2e6513944283ecef97be1d4c92509 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Thu, 23 Apr 2020 18:23:25 +0200 Subject: [PATCH 21/45] ocamlPackages.mirage-time(-unix): init at 2.0.1 --- .../ocaml-modules/mirage-time/default.nix | 22 +++++++++++++++++++ .../ocaml-modules/mirage-time/unix.nix | 13 +++++++++++ pkgs/top-level/ocaml-packages.nix | 4 ++++ 3 files changed, 39 insertions(+) create mode 100644 pkgs/development/ocaml-modules/mirage-time/default.nix create mode 100644 pkgs/development/ocaml-modules/mirage-time/unix.nix diff --git a/pkgs/development/ocaml-modules/mirage-time/default.nix b/pkgs/development/ocaml-modules/mirage-time/default.nix new file mode 100644 index 00000000000..b98fd3b6279 --- /dev/null +++ b/pkgs/development/ocaml-modules/mirage-time/default.nix @@ -0,0 +1,22 @@ +{ lib, buildDunePackage, fetchurl, ocaml_lwt }: + +buildDunePackage rec { + minimumOCamlVersion = "4.06"; + + pname = "mirage-time"; + version = "2.0.1"; + + src = fetchurl { + url = "https://github.com/mirage/mirage-time/releases/download/v${version}/mirage-time-v${version}.tbz"; + sha256 = "1w6mm4g7fc19cs0ncs0s9fsnb1k1s04qqzs9bsqvq8ngsb90cbh0"; + }; + + propagatedBuildInputs = [ ocaml_lwt ]; + + meta = with lib; { + homepage = "https://github.com/mirage/mirage-time"; + description = "Time operations for MirageOS"; + license = licenses.isc; + maintainers = with maintainers; [ sternenseemann ]; + }; +} diff --git a/pkgs/development/ocaml-modules/mirage-time/unix.nix b/pkgs/development/ocaml-modules/mirage-time/unix.nix new file mode 100644 index 00000000000..da5326bc075 --- /dev/null +++ b/pkgs/development/ocaml-modules/mirage-time/unix.nix @@ -0,0 +1,13 @@ +{ buildDunePackage, fetchurl, mirage-time, ocaml_lwt, duration }: + +buildDunePackage { + pname = "mirage-time-unix"; + + inherit (mirage-time) src version minimumOCamlVersion; + + propagatedBuildInputs = [ mirage-time ocaml_lwt duration ]; + + meta = mirage-time.meta // { + description = "Time operations for MirageOS on Unix"; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 3cbb0a7df33..cef4e913026 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -562,6 +562,10 @@ let mirage-stack = callPackage ../development/ocaml-modules/mirage-stack { }; + mirage-time = callPackage ../development/ocaml-modules/mirage-time { }; + + mirage-time-unix = callPackage ../development/ocaml-modules/mirage-time/unix.nix { }; + mlgmp = callPackage ../development/ocaml-modules/mlgmp { }; mlgmpidl = callPackage ../development/ocaml-modules/mlgmpidl { }; From 0c4386bf0a55a7332c0948abcd9c875e8627847f Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Thu, 23 Apr 2020 18:24:15 +0200 Subject: [PATCH 22/45] ocamlPackages.dns(-client): 4.4.1 -> 4.5.0 jackline: 2020-03-22 -> 2020-04-24 Dependency mtime is no longer needed --- .../networking/instant-messengers/jackline/default.nix | 8 ++++---- pkgs/development/ocaml-modules/dns/client.nix | 8 ++++++-- pkgs/development/ocaml-modules/dns/default.nix | 4 ++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/jackline/default.nix b/pkgs/applications/networking/instant-messengers/jackline/default.nix index 92857aa1a66..f2b026e79da 100644 --- a/pkgs/applications/networking/instant-messengers/jackline/default.nix +++ b/pkgs/applications/networking/instant-messengers/jackline/default.nix @@ -4,19 +4,19 @@ assert stdenv.lib.versionAtLeast ocamlPackages.ocaml.version "4.07"; stdenv.mkDerivation { pname = "jackline"; - version = "unstable-2020-03-22"; + version = "unstable-2020-04-24"; src = fetchFromGitHub { owner = "hannesm"; repo = "jackline"; - rev = "52f84525c74c43e8d03fb1e6ff025ccb2699e4aa"; - sha256 = "0wir573ah1w16xzdn9rfwk3569zq4ff5frp0ywq70va4gdlb679c"; + rev = "885b97b90d565f5f7c2b5f66f5edf14a82251b87"; + sha256 = "1mdn413ya2g0a1mrdbh1b65gnygrxb08k99z5lmidhh34kd1llsj"; }; buildInputs = with ocamlPackages; [ ocaml ocamlbuild findlib topkg ppx_sexp_conv ppx_deriving erm_xmpp tls mirage-crypto mirage-crypto-pk x509 domain-name - ocaml_lwt otr astring ptime mtime notty sexplib hex uutf + ocaml_lwt otr astring ptime notty sexplib hex uutf dns-client base64 ]; diff --git a/pkgs/development/ocaml-modules/dns/client.nix b/pkgs/development/ocaml-modules/dns/client.nix index d007533fe45..0dd0541138c 100644 --- a/pkgs/development/ocaml-modules/dns/client.nix +++ b/pkgs/development/ocaml-modules/dns/client.nix @@ -1,10 +1,14 @@ -{ lib, buildDunePackage, dns, ocaml_lwt, mirage-clock, mirage-random, mirage-stack, mtime, randomconv }: +{ lib, buildDunePackage, dns, ocaml_lwt, mirage-clock, mirage-time +, mirage-random, mirage-stack, mirage-crypto-rng, mtime, randomconv }: buildDunePackage { pname = "dns-client"; inherit (dns) src version; - propagatedBuildInputs = [ dns mtime ocaml_lwt mirage-clock mirage-random mirage-stack randomconv ]; + useDune2 = true; + + propagatedBuildInputs = [ dns mtime ocaml_lwt randomconv mirage-clock mirage-time + mirage-random mirage-stack mirage-crypto-rng ]; meta = dns.meta // { description = "Pure DNS resolver API"; diff --git a/pkgs/development/ocaml-modules/dns/default.nix b/pkgs/development/ocaml-modules/dns/default.nix index e2aac3367bf..01bbffd40b9 100644 --- a/pkgs/development/ocaml-modules/dns/default.nix +++ b/pkgs/development/ocaml-modules/dns/default.nix @@ -4,13 +4,13 @@ buildDunePackage rec { pname = "dns"; - version = "4.4.1"; + version = "4.5.0"; minimumOCamlVersion = "4.07"; src = fetchurl { url = "https://github.com/mirage/ocaml-dns/releases/download/v${version}/dns-v${version}.tbz"; - sha256 = "18c09jf0kicv2xz40n367y774rg8qs07rr1vdk8bx8f7hnaa9cn8"; + sha256 = "10jrnnxvp06rvzk285wibyi9hn15qhjnqjy9xsfbwl8yhmzzqnq0"; }; propagatedBuildInputs = [ cstruct domain-name duration gmap ipaddr logs lru metrics ptime rresult ]; From 03c0ab3857e9667039c87ed7520a51a2ae12838c Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sat, 25 Apr 2020 15:18:44 +0200 Subject: [PATCH 23/45] goocanvasmm2: fix update script attrPath --- pkgs/development/libraries/goocanvasmm/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/goocanvasmm/default.nix b/pkgs/development/libraries/goocanvasmm/default.nix index ef593c568a2..d8a910d4799 100644 --- a/pkgs/development/libraries/goocanvasmm/default.nix +++ b/pkgs/development/libraries/goocanvasmm/default.nix @@ -18,6 +18,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = gnome3.updateScript { packageName = pname; + attrPath = "goocanvasmm2"; }; }; From 22133c6bf3cf8b285db182dcf804476d6456beff Mon Sep 17 00:00:00 2001 From: Renato Garcia Date: Sat, 25 Apr 2020 10:19:54 -0300 Subject: [PATCH 24/45] snakemake: 5.13.0 -> 5.15.0 (#85913) --- pkgs/applications/science/misc/snakemake/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix index e54dc785b08..af4e225ca32 100644 --- a/pkgs/applications/science/misc/snakemake/default.nix +++ b/pkgs/applications/science/misc/snakemake/default.nix @@ -2,7 +2,7 @@ python3Packages.buildPythonApplication rec { pname = "snakemake"; - version = "5.13.0"; + version = "5.15.0"; propagatedBuildInputs = with python3Packages; [ appdirs @@ -22,13 +22,13 @@ python3Packages.buildPythonApplication rec { src = python3Packages.fetchPypi { inherit pname version; - sha256 = "11snr7sgv70d3y63s5svijfx8f4xpggh96g8chr6lccl4mi1s9x9"; + sha256 = "10cd1k5vg8ra5fnpqpdbl04qwx6h2mmmqbn71pl8j69w9110dkys"; }; doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json meta = with stdenv.lib; { - homepage = "https://snakemake.bitbucket.io"; + homepage = "https://snakemake.readthedocs.io"; license = licenses.mit; description = "Python-based execution environment for make-like workflows"; longDescription = '' From f544c293ecc59a2e7c7be2deabe5f1cb5b7c160b Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sat, 25 Apr 2020 15:23:35 +0200 Subject: [PATCH 25/45] gnome3.updateScript: fix tarball eval on nonexisting attrpaths As reported in https://github.com/NixOS/nixpkgs/commit/974f11cb2972f470ab4b7a71fdf8f09dfdff562b#commitcomment-38735081, the tarball will fail to evaluate when updateScript is given a non-existing attrPath because getAttrFromPath uses abort, which terminates the evaluation. --- pkgs/desktops/gnome-3/update.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/gnome-3/update.nix b/pkgs/desktops/gnome-3/update.nix index 555504086a4..506c265270c 100644 --- a/pkgs/desktops/gnome-3/update.nix +++ b/pkgs/desktops/gnome-3/update.nix @@ -5,7 +5,7 @@ let python = python3.withPackages (p: [ p.requests ]); upperBoundFlag = let - package = lib.getAttrFromPath (lib.splitString "." attrPath) pkgs; + package = lib.attrByPath (lib.splitString "." attrPath) (throw "Cannot find attribute ‘${attrPath}’.") pkgs; packageVersion = lib.getVersion package; versionComponents = lib.versions.splitVersion packageVersion; minorVersion = lib.versions.minor packageVersion; From 4239bf17ec3c9a7583162dee93b2005dab956b77 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sat, 25 Apr 2020 15:32:16 +0200 Subject: [PATCH 26/45] gnome3.updateScript: optimize unfrozen updates When the updates are not frozen, there is no need to try to extract versions from attributes. --- pkgs/desktops/gnome-3/update.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/gnome-3/update.nix b/pkgs/desktops/gnome-3/update.nix index 506c265270c..1bceddf77eb 100644 --- a/pkgs/desktops/gnome-3/update.nix +++ b/pkgs/desktops/gnome-3/update.nix @@ -12,7 +12,7 @@ let minorAvailable = builtins.length versionComponents > 1 && builtins.match "[0-9]+" minorVersion != null; nextMinor = builtins.fromJSON minorVersion + 1; upperBound = "${lib.versions.major packageVersion}.${builtins.toString nextMinor}"; - in lib.optionalString (minorAvailable && freeze) ''--upper-bound="${upperBound}"''; + in lib.optionalString (freeze && minorAvailable) ''--upper-bound="${upperBound}"''; updateScript = writeScript "gnome-update-script" '' #!${stdenv.shell} set -o errexit From 982c6fc68f6eb8b456c55b2b028bdf52522ead91 Mon Sep 17 00:00:00 2001 From: Cody Allen Date: Fri, 24 Apr 2020 06:42:57 -0700 Subject: [PATCH 27/45] unison-ucm: 1.0.M1h-alpha -> 1.0.M1j-alpha Replaces #84235 --- pkgs/development/compilers/unison/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/unison/default.nix b/pkgs/development/compilers/unison/default.nix index a8867d31465..c2cbc03ca0f 100644 --- a/pkgs/development/compilers/unison/default.nix +++ b/pkgs/development/compilers/unison/default.nix @@ -4,18 +4,18 @@ stdenv.mkDerivation rec { pname = "unison-code-manager"; - milestone_id = "M1h"; + milestone_id = "M1j"; version = "1.0.${milestone_id}-alpha"; src = if (stdenv.isDarwin) then fetchurl { url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-osx.tar.gz"; - sha256 = "0iivm5gmbk0fq0zr3lvck6p1c2i7i54l3rf70z677529w9irzchp"; + sha256 = "1pvdjmasgl22inbr8nlizsg8s5zagn8bzwhaxqmwafkpsskz0hsg"; } else fetchurl { url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-linux64.tar.gz"; - sha256 = "0fb84c1yn8pidflh7kq696j3v4blkvbk1fsqp36h30p7vv676yci"; + sha256 = "1xpblx405cp3mv0vrhcqwjlxvrhgmc77mxbvcy93srxja3qai1af"; }; # The tarball is just the prebuilt binary, in the archive root. From 1985c6b9d5de7c2a19e0f58afcddf6123c2e62ae Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sat, 18 Apr 2020 23:18:41 +0100 Subject: [PATCH 28/45] afl: fix afl-clang-fast++ by making it a copy of afl-clang-fast, not a symlink a symlink gets skipped by wrapProgram and this ends up confusing the nix cc wrapper's cpp mode detection --- pkgs/tools/security/afl/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/tools/security/afl/default.nix b/pkgs/tools/security/afl/default.nix index def5458a240..e32aa034874 100644 --- a/pkgs/tools/security/afl/default.nix +++ b/pkgs/tools/security/afl/default.nix @@ -47,6 +47,11 @@ let # has totally different semantics in that case(?) - and also set a # proper AFL_CC and AFL_CXX so we don't pick up the wrong one out # of $PATH. + # first though we need to replace the afl-clang-fast++ symlink with + # a real copy to prevent wrapProgram skipping the symlink and confusing + # nix's cc wrapper + rm $out/bin/afl-clang-fast++ + cp $out/bin/afl-clang-fast $out/bin/afl-clang-fast++ for x in $out/bin/afl-clang-fast $out/bin/afl-clang-fast++; do wrapProgram $x \ --prefix AFL_PATH : "$out/lib/afl" \ From f5f85d16d19a4428f32fab798340aded12971b28 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 25 Apr 2020 17:48:31 +0200 Subject: [PATCH 29/45] epson-escpr2: 1.1.1 -> 1.1.11 --- pkgs/misc/drivers/epson-escpr2/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/misc/drivers/epson-escpr2/default.nix b/pkgs/misc/drivers/epson-escpr2/default.nix index 4edc08a3571..a1420a0428b 100644 --- a/pkgs/misc/drivers/epson-escpr2/default.nix +++ b/pkgs/misc/drivers/epson-escpr2/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "epson-inkjet-printer-escpr2"; - version = "1.1.1"; + version = "1.1.11"; src = fetchurl { # To find new versions, visit @@ -11,10 +11,10 @@ stdenv.mkDerivation rec { # version. # NOTE: Don't forget to update the webarchive link too! urls = [ - "https://download3.ebz.epson.net/dsc/f/03/00/09/72/04/c6d928e83e558c4ba1e7e8bcb5c1fe080b8095eb/epson-inkjet-printer-escpr2-1.1.1-1lsb3.2.src.rpm" - "https://web.archive.org/web/https://download3.ebz.epson.net/dsc/f/03/00/09/72/04/c6d928e83e558c4ba1e7e8bcb5c1fe080b8095eb/epson-inkjet-printer-escpr2-1.1.1-1lsb3.2.src.rpm" + "https://download3.ebz.epson.net/dsc/f/03/00/11/01/98/8ff121831d0a6be76e86b87c78178f3c93df6d0f/epson-inkjet-printer-escpr2-1.1.11-1lsb3.2.src.rpm" + "https://web.archive.org/web/20200425154102/https://download3.ebz.epson.net/dsc/f/03/00/11/01/98/8ff121831d0a6be76e86b87c78178f3c93df6d0f/epson-inkjet-printer-escpr2-1.1.11-1lsb3.2.src.rpm" ]; - sha256 = "02vdlhvinsx6vsjq172b2c1vrfzkg0w9j5lbsnjvj6yq3yqz5b5q"; + sha256 = "1gcdzmqli7jycljm66mdssivb3lk223ih6zg0l3lyn7hj2gbkinm"; }; patches = [ ./cups-filter-ppd-dirs.patch ]; @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { Refer to the description of epson-escpr for usage. ''; license = licenses.gpl2; - maintainers = with maintainers; [ ma9e ]; + maintainers = with maintainers; [ ma9e ma27 ]; platforms = platforms.linux; }; } From c970de4586988fb104f4552f8dd5f83045ca9f72 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 17:58:13 +0200 Subject: [PATCH 30/45] haskell-dhall: disable the test suite Dhall 1.31.x still attempts to access the network during its test suite run, i.e. it attempts to connect to github.com. --- pkgs/development/haskell-modules/configuration-nix.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index ba885c0ecd5..817037e1e43 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -720,10 +720,9 @@ self: super: builtins.intersectAttrs super { # break infinite recursion with base-orphans primitive = dontCheck super.primitive; - # dhall-1.29.0 tests access the network. This override can be removed when - # dhall_1_29_0 is no longer used, since more recent versions of dhall don't - # access the network in checks. + # dhall's tests access the network. dhall_1_29_0 = dontCheck super.dhall_1_29_0; + dhall_1_31_1 = dontCheck super.dhall_1_31_1; cut-the-crap = let path = pkgs.stdenv.lib.makeBinPath [ pkgs.ffmpeg ]; From f2aa6b44d44304ad93f006eeedfd6a955909f450 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 17:59:35 +0200 Subject: [PATCH 31/45] haskell-system-fileio: jailbreak out of dependency on chell 0.4.x --- pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index 96ab593cf84..23c555c5ac9 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -56,6 +56,7 @@ self: super: { regex-posix = doJailbreak super.regex-posix; regex-tdfa = doJailbreak super.regex-tdfa; split = doJailbreak super.split; + system-fileio = doJailbreak super.system-fileio; tar = doJailbreak super.tar; tasty-expected-failure = doJailbreak super.tasty-expected-failure; unliftio-core = doJailbreak super.unliftio-core; From b24d2a90dd639bcd3083fe75fd675020884589c8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 18:00:09 +0200 Subject: [PATCH 32/45] configuration-ghc-8.10.x.nix: cosmetic --- pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index 23c555c5ac9..17bd688ffaa 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -64,9 +64,9 @@ self: super: { zlib = doJailbreak super.zlib; # Use the latest version to fix the build. + ghc-lib-parser-ex = self.ghc-lib-parser-ex_8_10_0_4; optics-core = self.optics-core_0_3; repline = self.repline_0_3_0_0; - ghc-lib-parser-ex = self.ghc-lib-parser-ex_8_10_0_4; th-desugar = self.th-desugar_1_11; # `ghc-lib-parser-ex` (see conditionals in its `.cabal` file) does not need From 125ada17b0748038b8c58d69efcf50446f8716bd Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 18:01:28 +0200 Subject: [PATCH 33/45] haskell-dhall: use the latest version when building with ghc-8.10.x --- pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index 17bd688ffaa..4369b7176c9 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -64,6 +64,7 @@ self: super: { zlib = doJailbreak super.zlib; # Use the latest version to fix the build. + dhall = self.dhall_1_31_1; ghc-lib-parser-ex = self.ghc-lib-parser-ex_8_10_0_4; optics-core = self.optics-core_0_3; repline = self.repline_0_3_0_0; From 6a6d0174ed1c87703e90cbc1702566a8b8e5e9d6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 18:01:48 +0200 Subject: [PATCH 34/45] haskell-pandoc: jailbreak out of haddock-library 1.8.x constraint --- pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index 4369b7176c9..cf1624b3fb4 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -49,6 +49,7 @@ self: super: { async = doJailbreak super.async; ChasingBottoms = doJailbreak super.ChasingBottoms; hashable = doJailbreak super.hashable; + pandoc = doJailbreak super.pandoc; parallel = doJailbreak super.parallel; regex-base = doJailbreak super.regex-base; regex-compat = doJailbreak super.regex-compat; From 7b7764287cf5b78a98468a173099d228c19679f5 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 18:16:57 +0200 Subject: [PATCH 35/45] haskell-cabal-plan: apply patch to fix the build with ghc-8.10.1 --- .../haskell-modules/configuration-ghc-8.10.x.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index cf1624b3fb4..1b24a68bf4d 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -101,4 +101,12 @@ self: super: { # Only 0.8 is compatible with ghc 8.10 https://hackage.haskell.org/package/apply-refact/changelog apply-refact = super.apply-refact_0_8_0_0; + + # Apply patch to fix the build. + cabal-plan = appendPatch super.cabal-plan (pkgs.fetchpatch { + name = "cabal-plan-fix-for-ghc-8.10.x.patch"; + url = "https://github.com/haskell-hvr/cabal-plan/pull/55.patch"; + sha256 = "0lhs4vx5qg5ldhnyb9z7k0jmxhmd2f34x4xbwv6vsljs9vr02pd8"; + }); + } From 21a354b6dd31ce9b1250674218f0a9f49677f2ac Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 18:22:55 +0200 Subject: [PATCH 36/45] haskell-cabal-install-parsers: re-factor overrides to fix build with ghc-8.10.1 --- pkgs/development/haskell-modules/configuration-common.nix | 7 ++----- .../haskell-modules/configuration-ghc-8.8.x.nix | 4 ++++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index d6edaa86470..4b898972ded 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1457,11 +1457,8 @@ self: super: { cryptonite = dontCheck super.cryptonite; # The test suite depends on an impure cabal-install installation in - # $HOME, which we don't have in our build sandbox, and it is keeping - # up with the most recent Cabal version. - cabal-install-parsers = dontCheck (super.cabal-install-parsers.overrideScope (self: super: { - Cabal = self.Cabal_3_2_0_0; - })); + # $HOME, which we don't have in our build sandbox. + cabal-install-parsers = dontCheck super.cabal-install-parsers; # haskell-ci-0.8 needs cabal-install-parsers ==0.1, but we have 0.2. haskell-ci = doJailbreak super.haskell-ci; diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix index bdd5a9007d7..7395d059b4d 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix @@ -102,4 +102,8 @@ self: super: { # Only 0.7 is compatible with ghc 8.7 https://hackage.haskell.org/package/apply-refact/changelog apply-refact = super.apply-refact_0_7_0_0; + + # The package needs the latest Cabal version. + cabal-install-parsers = super.cabal-install-parsers.overrideScope (self: super: { Cabal = self.Cabal_3_2_0_0; }); + } From 3f472552c4b23c5a62c557ac238227ec23fd0d56 Mon Sep 17 00:00:00 2001 From: chkno Date: Sat, 25 Apr 2020 09:54:07 -0700 Subject: [PATCH 37/45] gnucash: 3.9 -> 3.10 (#85978) --- pkgs/applications/office/gnucash/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix index d7664b347ee..a8630381ebf 100644 --- a/pkgs/applications/office/gnucash/default.nix +++ b/pkgs/applications/office/gnucash/default.nix @@ -25,11 +25,11 @@ in stdenv.mkDerivation rec { pname = "gnucash"; - version = "3.9"; + version = "3.10"; src = fetchurl { url = "mirror://sourceforge/gnucash/${pname}-${version}.tar.bz2"; - sha256 = "1zxrgrjbs13vgr002rvl734w9f7zzxfq4xxmyhj777dwgkfds0ld"; + sha256 = "05kgg7mhizndwn7icnarqk3c19xrzfawf90y9nb3jdm6fv1741xn"; }; nativeBuildInputs = [ pkgconfig makeWrapper cmake gtest ]; @@ -69,7 +69,6 @@ stdenv.mkDerivation rec { ''; # TODO: The following tests FAILED: - # 61 - test-gnc-timezone (Failed) # 70 - test-load-c (Failed) # 71 - test-modsysver (Failed) # 72 - test-incompatdep (Failed) From daf3b0868ab6f4f24b7bdfbd580cd068b4be9039 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 18:45:14 +0200 Subject: [PATCH 38/45] configuration-ghc-8.10.x.nix: cosmetic --- pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index 1b24a68bf4d..dbfc65bab86 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -80,6 +80,7 @@ self: super: { # Jailbreak to fix the build. aeson-diff = doJailbreak super.aeson-diff; + brick = doJailbreak super.brick; cborg = doJailbreak super.cborg; cborg-json = doJailbreak super.cborg-json; exact-pi = doJailbreak super.exact-pi; @@ -87,7 +88,6 @@ self: super: { serialise = doJailbreak super.serialise; setlocale = doJailbreak super.setlocale; shellmet = doJailbreak super.shellmet; - brick = doJailbreak super.brick; # The shipped Setup.hs file is broken. csv = overrideCabal super.csv (drv: { preCompileBuildDriver = "rm Setup.hs"; }); From ceab66bf6e474d48a85cc0deec54946a4ae4eb28 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 18:45:53 +0200 Subject: [PATCH 39/45] haskell-lens: use latest version when building with ghc-8.10.1 --- pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index dbfc65bab86..70169cffffe 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -67,6 +67,7 @@ self: super: { # Use the latest version to fix the build. dhall = self.dhall_1_31_1; ghc-lib-parser-ex = self.ghc-lib-parser-ex_8_10_0_4; + lens = self.lens_4_19_2; optics-core = self.optics-core_0_3; repline = self.repline_0_3_0_0; th-desugar = self.th-desugar_1_11; From 53865f5f713ee112a9a9ffcfb23c8b14001c84ce Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 18:46:27 +0200 Subject: [PATCH 40/45] haskell-hlint: fix build with ghc-8.10.1 --- .../development/haskell-modules/configuration-ghc-8.10.x.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index 70169cffffe..942176f8d8f 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -110,4 +110,9 @@ self: super: { sha256 = "0lhs4vx5qg5ldhnyb9z7k0jmxhmd2f34x4xbwv6vsljs9vr02pd8"; }); + # https://github.com/ndmitchell/hlint/issues/959 + hlint = super.hlint.override { + ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex super.ghc-lib-parser; + }; + } From d28e92d5aa934cd78f41916711c891ba505bccc2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 19:04:22 +0200 Subject: [PATCH 41/45] haskell-weeder: jailbreak to fix the build with ghc-8.10.1 --- pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index 942176f8d8f..a9387ec3be6 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -89,6 +89,7 @@ self: super: { serialise = doJailbreak super.serialise; setlocale = doJailbreak super.setlocale; shellmet = doJailbreak super.shellmet; + weeder = doJailbreak super.weeder; # https://github.com/ocharles/weeder/issues/15 # The shipped Setup.hs file is broken. csv = overrideCabal super.csv (drv: { preCompileBuildDriver = "rm Setup.hs"; }); From d3ae5625ffb410db8f79802de486c8e809ccf673 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 19:32:30 +0200 Subject: [PATCH 42/45] haskell-dbus: apply patch to fix the build Taken from https://github.com/rblaze/haskell-dbus/pull/48. --- .../configuration-ghc-8.10.x.nix | 1 + .../patches/fix-dbus-for-ghc-8.10.x.patch | 383 ++++++++++++++++++ 2 files changed, 384 insertions(+) create mode 100644 pkgs/development/haskell-modules/patches/fix-dbus-for-ghc-8.10.x.patch diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index a9387ec3be6..3721bb724f5 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -110,6 +110,7 @@ self: super: { url = "https://github.com/haskell-hvr/cabal-plan/pull/55.patch"; sha256 = "0lhs4vx5qg5ldhnyb9z7k0jmxhmd2f34x4xbwv6vsljs9vr02pd8"; }); + dbus = appendPatch super.dbus ./patches/fix-dbus-for-ghc-8.10.x.patch; # https://github.com/ndmitchell/hlint/issues/959 hlint = super.hlint.override { diff --git a/pkgs/development/haskell-modules/patches/fix-dbus-for-ghc-8.10.x.patch b/pkgs/development/haskell-modules/patches/fix-dbus-for-ghc-8.10.x.patch new file mode 100644 index 00000000000..7ed390d3f23 --- /dev/null +++ b/pkgs/development/haskell-modules/patches/fix-dbus-for-ghc-8.10.x.patch @@ -0,0 +1,383 @@ +Only in dbus-1.2.13-new: .codeclimate.yml +diff -ur dbus-1.2.13-old/dbus.cabal dbus-1.2.13-new/dbus.cabal +--- dbus-1.2.13-old/dbus.cabal 2020-04-25 19:29:27.372272952 +0200 ++++ dbus-1.2.13-new/dbus.cabal 2020-04-25 19:26:36.140991920 +0200 +@@ -1,172 +1,180 @@ +-cabal-version: >=1.8 + name: dbus + version: 1.2.13 + license: Apache-2.0 + license-file: license.txt +-maintainer: Andrey Sverdlichenko + author: John Millikin ++maintainer: Andrey Sverdlichenko ++build-type: Simple ++cabal-version: >= 1.8 ++category: Network, Desktop + stability: experimental + homepage: https://github.com/rblaze/haskell-dbus#readme ++ + synopsis: A client library for the D-Bus IPC system. + description: +- D-Bus is a simple, message-based protocol for inter-process +- communication, which allows applications to interact with other parts of +- the machine and the user's session using remote procedure calls. +- . +- D-Bus is a essential part of the modern Linux desktop, where it replaces +- earlier protocols such as CORBA and DCOP. +- . +- This library is an implementation of the D-Bus protocol in Haskell. It +- can be used to add D-Bus support to Haskell applications, without the +- awkward interfaces common to foreign bindings. +- . +- Example: connect to the session bus, and get a list of active names. +- . +- @ +- {-\# LANGUAGE OverloadedStrings \#-} +- . +- import Data.List (sort) +- import DBus +- import DBus.Client +- . +- main = do +- client <- connectSession +- // +- \-- Request a list of connected clients from the bus +- reply <- call_ client (methodCall \"\/org\/freedesktop\/DBus\" \"org.freedesktop.DBus\" \"ListNames\") +- { methodCallDestination = Just \"org.freedesktop.DBus\" +- } +- // +- \-- org.freedesktop.DBus.ListNames() returns a single value, which is +- \-- a list of names (here represented as [String]) +- let Just names = fromVariant (methodReturnBody reply !! 0) +- // +- \-- Print each name on a line, sorted so reserved names are below +- \-- temporary names. +- mapM_ putStrLn (sort names) +- @ +- . +- >$ ghc --make list-names.hs +- >$ ./list-names +- >:1.0 +- >:1.1 +- >:1.10 +- >:1.106 +- >:1.109 +- >:1.110 +- >ca.desrt.dconf +- >org.freedesktop.DBus +- >org.freedesktop.Notifications +- >org.freedesktop.secrets +- >org.gnome.ScreenSaver +-category: Network, Desktop +-build-type: Simple ++ D-Bus is a simple, message-based protocol for inter-process ++ communication, which allows applications to interact with other parts of ++ the machine and the user's session using remote procedure calls. ++ . ++ D-Bus is a essential part of the modern Linux desktop, where it replaces ++ earlier protocols such as CORBA and DCOP. ++ . ++ This library is an implementation of the D-Bus protocol in Haskell. It ++ can be used to add D-Bus support to Haskell applications, without the ++ awkward interfaces common to foreign bindings. ++ . ++ Example: connect to the session bus, and get a list of active names. ++ . ++ @ ++ {-\# LANGUAGE OverloadedStrings \#-} ++ . ++ import Data.List (sort) ++ import DBus ++ import DBus.Client ++ . ++ main = do ++ client <- connectSession ++ ++ -- Request a list of connected clients from the bus ++ reply <- call_ client (methodCall \"\/org\/freedesktop\/DBus\" \"org.freedesktop.DBus\" \"ListNames\") ++ { methodCallDestination = Just \"org.freedesktop.DBus\" ++ } ++ ++ -- org.freedesktop.DBus.ListNames() returns a single value, which is ++ -- a list of names (here represented as [String]) ++ let Just names = fromVariant (methodReturnBody reply !! 0) ++ ++ -- Print each name on a line, sorted so reserved names are below ++ -- temporary names. ++ mapM_ putStrLn (sort names) ++ @ ++ . ++ >$ ghc --make list-names.hs ++ >$ ./list-names ++ >:1.0 ++ >:1.1 ++ >:1.10 ++ >:1.106 ++ >:1.109 ++ >:1.110 ++ >ca.desrt.dconf ++ >org.freedesktop.DBus ++ >org.freedesktop.Notifications ++ >org.freedesktop.secrets ++ >org.gnome.ScreenSaver ++ ++ + extra-source-files: +- examples/dbus-monitor.hs +- examples/export.hs +- examples/introspect.hs +- examples/list-names.hs +- idlxml/dbus.xml ++ examples/dbus-monitor.hs ++ examples/export.hs ++ examples/introspect.hs ++ examples/list-names.hs ++ idlxml/dbus.xml + + source-repository head +- type: git +- location: https://github.com/rblaze/haskell-dbus ++ type: git ++ location: https://github.com/rblaze/haskell-dbus + + library +- exposed-modules: +- DBus +- DBus.Client +- DBus.Generation +- DBus.Internal.Address +- DBus.Internal.Message +- DBus.Internal.Types +- DBus.Internal.Wire +- DBus.Introspection +- DBus.Introspection.Parse +- DBus.Introspection.Render +- DBus.Introspection.Types +- DBus.Socket +- DBus.TH +- DBus.Transport +- hs-source-dirs: lib +- ghc-options: -W -Wall +- build-depends: +- base ==4.*, +- bytestring <0.11, +- cereal <0.6, +- conduit >=1.3.0 && <1.4, +- containers <0.7, +- deepseq <1.5, +- exceptions <0.11, +- filepath <1.5, +- lens <4.20, +- network >=3.0.1.0 && <3.2, +- parsec <3.2, +- random <1.2, +- split <0.3, +- template-haskell <2.16.0.0, +- text <1.3, +- th-lift <0.9, +- transformers <0.6, +- unix <2.8, +- vector <0.13, +- xml-conduit >=1.9.0.0 && <1.10.0.0, +- xml-types <0.4 ++ ghc-options: -W -Wall ++ hs-source-dirs: lib ++ ++ build-depends: ++ base >=4 && <5 ++ , bytestring ++ , cereal ++ , conduit >= 1.3.0 ++ , containers ++ , deepseq ++ , exceptions ++ , filepath ++ , lens < 4.20 ++ , network >= 3.0.1.0 && < 3.2 ++ , parsec ++ , random ++ , split ++ , template-haskell < 2.17.0.0 ++ , text ++ , th-lift < 0.9 ++ , transformers ++ , unix ++ , vector ++ , xml-conduit >= 1.9.0.0 && < 1.10.0.0 ++ , xml-types ++ ++ exposed-modules: ++ DBus ++ DBus.Client ++ DBus.Generation ++ DBus.Internal.Address ++ DBus.Internal.Message ++ DBus.Internal.Types ++ DBus.Internal.Wire ++ DBus.Introspection ++ DBus.Introspection.Parse ++ DBus.Introspection.Render ++ DBus.Introspection.Types ++ DBus.Socket ++ DBus.TH ++ DBus.Transport + + test-suite dbus_tests +- type: exitcode-stdio-1.0 +- main-is: DBusTests.hs +- hs-source-dirs: tests +- other-modules: +- DBusTests.Address +- DBusTests.BusName +- DBusTests.Client +- DBusTests.ErrorName +- DBusTests.Generation +- DBusTests.Integration +- DBusTests.InterfaceName +- DBusTests.Introspection +- DBusTests.MemberName +- DBusTests.Message +- DBusTests.ObjectPath +- DBusTests.Serialization +- DBusTests.Signature +- DBusTests.Socket +- DBusTests.TH +- DBusTests.Transport +- DBusTests.Util +- DBusTests.Variant +- DBusTests.Wire +- ghc-options: -W -Wall -fno-warn-orphans +- build-depends: +- dbus -any, +- base ==4.*, +- bytestring <0.11, +- cereal <0.6, +- containers <0.7, +- directory <1.4, +- extra <1.8, +- filepath <1.5, +- network >=3.0.1.0 && <3.2, +- parsec <3.2, +- process <1.7, +- QuickCheck <2.15, +- random <1.2, +- resourcet <1.3, +- tasty <1.3, +- tasty-hunit <0.11, +- tasty-quickcheck <0.11, +- text <1.3, +- transformers <0.6, +- unix <2.8, +- vector <0.13 ++ type: exitcode-stdio-1.0 ++ main-is: DBusTests.hs ++ hs-source-dirs: tests ++ ghc-options: -W -Wall -fno-warn-orphans ++ ++ build-depends: ++ dbus ++ , base >=4 && <5 ++ , bytestring ++ , cereal ++ , containers ++ , directory ++ , extra < 1.8 ++ , filepath ++ , network >= 3.0.1.0 && < 3.2 ++ , parsec ++ , process ++ , QuickCheck < 2.15 ++ , random ++ , resourcet ++ , tasty ++ , tasty-hunit ++ , tasty-quickcheck ++ , text ++ , transformers ++ , unix ++ , vector ++ ++ other-modules: ++ DBusTests.Address ++ DBusTests.BusName ++ DBusTests.Client ++ DBusTests.ErrorName ++ DBusTests.Generation ++ DBusTests.Integration ++ DBusTests.InterfaceName ++ DBusTests.Introspection ++ DBusTests.MemberName ++ DBusTests.Message ++ DBusTests.ObjectPath ++ DBusTests.Serialization ++ DBusTests.Signature ++ DBusTests.Socket ++ DBusTests.TH ++ DBusTests.Transport ++ DBusTests.Util ++ DBusTests.Variant ++ DBusTests.Wire + + benchmark dbus_benchmarks +- type: exitcode-stdio-1.0 +- main-is: DBusBenchmarks.hs +- hs-source-dirs: benchmarks +- ghc-options: -Wall -fno-warn-orphans +- build-depends: +- dbus -any, +- base ==4.*, +- criterion <1.6 ++ type: exitcode-stdio-1.0 ++ main-is: DBusBenchmarks.hs ++ hs-source-dirs: benchmarks ++ ghc-options: -Wall -fno-warn-orphans ++ ++ build-depends: ++ dbus ++ , base >=4 && <5 ++ , criterion +Only in dbus-1.2.13-new: .git +Only in dbus-1.2.13-new: .gitignore +diff -ur dbus-1.2.13-old/lib/DBus/Generation.hs dbus-1.2.13-new/lib/DBus/Generation.hs +--- dbus-1.2.13-old/lib/DBus/Generation.hs 2019-02-14 16:37:47.000000000 +0100 ++++ dbus-1.2.13-new/lib/DBus/Generation.hs 2020-04-25 19:26:36.144991997 +0200 +@@ -1,3 +1,4 @@ ++{-# LANGUAGE CPP #-} + {-# LANGUAGE OverloadedStrings #-} + {-# LANGUAGE TemplateHaskell #-} + module DBus.Generation where +@@ -26,6 +27,13 @@ + import Prelude hiding (mapM) + import System.Posix.Types (Fd(..)) + ++-- | Compatibility helper to create (total) tuple expressions ++mkTupE :: [Exp] -> Exp ++mkTupE = TupE ++#if MIN_VERSION_template_haskell(2,16,0) ++ . map Just ++#endif ++ + type ClientBusPathR a = ReaderT (Client, T.BusName, T.ObjectPath) IO a + + dbusInvoke :: (Client -> T.BusName -> T.ObjectPath -> a) -> ClientBusPathR a +@@ -232,8 +240,8 @@ + finalOutputNames <- buildOutputNames + let variantListExp = map makeToVariantApp methodArgNames + mapOrHead' = mapOrHead outputLength +- fromVariantExp = mapOrHead' makeFromVariantApp fromVariantOutputNames TupE +- finalResultTuple = mapOrHead' VarE finalOutputNames TupE ++ fromVariantExp = mapOrHead' makeFromVariantApp fromVariantOutputNames mkTupE ++ finalResultTuple = mapOrHead' VarE finalOutputNames mkTupE + maybeExtractionPattern = mapOrHead' makeJustPattern finalOutputNames TupP + getMethodCallDefDec = [d| + $( varP methodCallDefN ) = +@@ -432,7 +440,7 @@ + } + |] + let mapOrHead' = mapOrHead argCount +- fromVariantExp = mapOrHead' makeFromVariantApp fromVariantOutputNames TupE ++ fromVariantExp = mapOrHead' makeFromVariantApp fromVariantOutputNames mkTupE + maybeExtractionPattern = mapOrHead' makeJustPattern toHandlerOutputNames TupP + applyToName toApply n = AppE toApply $ VarE n + finalApplication = foldl applyToName (VarE handlerArgN) From ea37fe1f1ccfe1a71560f53e5a665f2313cd1b60 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 19:33:11 +0200 Subject: [PATCH 43/45] haskell-singletons: use latest versions when building with ghc-8.10.1 --- pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index 3721bb724f5..8cc498638b5 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -70,6 +70,7 @@ self: super: { lens = self.lens_4_19_2; optics-core = self.optics-core_0_3; repline = self.repline_0_3_0_0; + singletons = self.singletons_2_7; th-desugar = self.th-desugar_1_11; # `ghc-lib-parser-ex` (see conditionals in its `.cabal` file) does not need From 4bff4d692d93d0c4430c592bb188c341e4e98ee9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 19:42:48 +0200 Subject: [PATCH 44/45] haskell-xmobar: jailbreak to fix the build with ghc-8.10.1 --- pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index 8cc498638b5..a019593161c 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -91,6 +91,7 @@ self: super: { setlocale = doJailbreak super.setlocale; shellmet = doJailbreak super.shellmet; weeder = doJailbreak super.weeder; # https://github.com/ocharles/weeder/issues/15 + xmobar = doJailbreak super.xmobar; # The shipped Setup.hs file is broken. csv = overrideCabal super.csv (drv: { preCompileBuildDriver = "rm Setup.hs"; }); From 6a627c416fe663ac16064f7a155afba9522910e4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 25 Apr 2020 19:43:02 +0200 Subject: [PATCH 45/45] haskell-policeman: jailbreak to fix the build with ghc-8.10.1 --- pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index a019593161c..f0d88415616 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -86,6 +86,7 @@ self: super: { cborg = doJailbreak super.cborg; cborg-json = doJailbreak super.cborg-json; exact-pi = doJailbreak super.exact-pi; + policeman = doJailbreak super.policeman; relude = dontCheck (doJailbreak super.relude); serialise = doJailbreak super.serialise; setlocale = doJailbreak super.setlocale;