From 6f2fbf5f0b811c2d38bb140db5f26b225ab6a2e5 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Wed, 24 Feb 2021 23:24:51 +0100 Subject: [PATCH 1/6] treewide: add missing lib inputs This fixes hopefully all remaining missing lib inputs, likely introduced as a regression by our recent treewide switch from stdenv.lib to lib. These instances are all I could find using nix-instantiate --parse using the following command: find "$NIXPKGS" -name '*.nix' \ -and ! -path "$NIXPKGS/pkgs/development/interpreters/python/cpython/docs/template.nix" \ -and ! -path '$NIXPKGS/.git/**' \ -print0 | xargs -0 nix-instantiate --parse >/dev/null --- .../audio/magnetophonDSP/CharacterCompressor/default.nix | 2 +- pkgs/applications/audio/magnetophonDSP/CompBus/default.nix | 2 +- .../audio/magnetophonDSP/ConstantDetuneChorus/default.nix | 2 +- pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix | 2 +- pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix | 2 +- pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix | 2 +- pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix | 2 +- .../audio/magnetophonDSP/faustCompressors/default.nix | 2 +- pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix | 2 +- .../audio/magnetophonDSP/shelfMultiBand/default.nix | 2 +- pkgs/applications/misc/robomongo/default.nix | 2 +- pkgs/applications/science/logic/sad/default.nix | 2 +- pkgs/development/compilers/chicken/4/egg2nix.nix | 2 +- pkgs/development/libraries/libelf-freebsd/default.nix | 2 +- .../tools/continuous-integration/buildkite-agent/generic.nix | 2 +- pkgs/tools/audio/beets/plugins/alternatives.nix | 2 +- pkgs/tools/audio/beets/plugins/copyartifacts.nix | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix b/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix index d7f0a7fb20e..400f268d439 100644 --- a/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { pname = "CharacterCompressor"; version = "0.3.3"; diff --git a/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix b/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix index 7a917d79c57..0b80aef170a 100644 --- a/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { pname = "CompBus"; version = "1.1.1"; diff --git a/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix b/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix index 5ac71172325..56534309733 100644 --- a/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { pname = "constant-detune-chorus"; version = "0.1.3"; diff --git a/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix b/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix index 277b186fd4a..4b1157de0b0 100644 --- a/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { pname = "LazyLimiter"; version = "0.3.2"; diff --git a/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix b/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix index de7e573cbee..f951486e3fa 100644 --- a/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { pname = "MBdistortion"; version = "1.1.1"; diff --git a/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix b/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix index 80c5bb89eee..fff4292cd76 100644 --- a/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { pname = "RhythmDelay"; version = "2.1"; diff --git a/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix b/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix index 9bd4076f130..6bc8cff2261 100644 --- a/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, faust2jack, faust2lv2, helmholtz, mrpeach, puredata-with-plugins }: +{ lib, stdenv, fetchFromGitHub, faust2jack, faust2lv2, helmholtz, mrpeach, puredata-with-plugins }: stdenv.mkDerivation rec { pname = "VoiceOfFaust"; version = "1.1.4"; diff --git a/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix b/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix index a90492f4235..7ea5fa753c8 100644 --- a/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { name = "faustCompressors-v${version}"; version = "1.2"; diff --git a/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix b/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix index 414e350caa0..fd807dd4245 100644 --- a/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { pname = "pluginUtils"; version = "1.1"; diff --git a/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix b/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix index 7dcdf985c82..07d4402578c 100644 --- a/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { pname = "shelfMultiBand"; version = "0.6.1"; diff --git a/pkgs/applications/misc/robomongo/default.nix b/pkgs/applications/misc/robomongo/default.nix index e8bba1f7a34..af5285909c6 100644 --- a/pkgs/applications/misc/robomongo/default.nix +++ b/pkgs/applications/misc/robomongo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, zlib, glib, xorg, dbus, fontconfig, +{ lib, stdenv, fetchurl, zlib, glib, xorg, dbus, fontconfig, freetype, xkeyboard_config, makeDesktopItem, makeWrapper }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/science/logic/sad/default.nix b/pkgs/applications/science/logic/sad/default.nix index 8e4d19973ef..fe0ca1b3017 100644 --- a/pkgs/applications/science/logic/sad/default.nix +++ b/pkgs/applications/science/logic/sad/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, haskell, spass }: +{ lib, stdenv, fetchurl, haskell, spass }: stdenv.mkDerivation { name = "system-for-automated-deduction-2.3.25"; diff --git a/pkgs/development/compilers/chicken/4/egg2nix.nix b/pkgs/development/compilers/chicken/4/egg2nix.nix index d2f2805ed7f..422053ea9d8 100644 --- a/pkgs/development/compilers/chicken/4/egg2nix.nix +++ b/pkgs/development/compilers/chicken/4/egg2nix.nix @@ -1,4 +1,4 @@ -{ eggDerivation, fetchurl, chickenEggs }: +{ lib, eggDerivation, fetchurl, chickenEggs }: # Note: This mostly reimplements the default.nix already contained in # the tarball. Is there a nicer way than duplicating code? diff --git a/pkgs/development/libraries/libelf-freebsd/default.nix b/pkgs/development/libraries/libelf-freebsd/default.nix index c3a4986c832..19c537b5115 100644 --- a/pkgs/development/libraries/libelf-freebsd/default.nix +++ b/pkgs/development/libraries/libelf-freebsd/default.nix @@ -1,4 +1,4 @@ -{ fetchsvn, stdenv, gnum4, tet }: +{ lib, fetchsvn, stdenv, gnum4, tet }: stdenv.mkDerivation (rec { version = "3258"; diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix index 64ca730d7dc..3b9de427bde 100644 --- a/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix +++ b/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix @@ -1,4 +1,4 @@ -{ buildGoPackage, makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep +{ lib, buildGoPackage, makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep , src, version, hasBootstrapScript, postPatch ? "" , ... }: let diff --git a/pkgs/tools/audio/beets/plugins/alternatives.nix b/pkgs/tools/audio/beets/plugins/alternatives.nix index 793611699ec..797aab16c1a 100644 --- a/pkgs/tools/audio/beets/plugins/alternatives.nix +++ b/pkgs/tools/audio/beets/plugins/alternatives.nix @@ -1,4 +1,4 @@ -{ fetchFromGitHub, beets, pythonPackages }: +{ lib, fetchFromGitHub, beets, pythonPackages }: pythonPackages.buildPythonApplication rec { pname = "beets-alternatives"; diff --git a/pkgs/tools/audio/beets/plugins/copyartifacts.nix b/pkgs/tools/audio/beets/plugins/copyartifacts.nix index 5af52066caa..b8a17a7d13e 100644 --- a/pkgs/tools/audio/beets/plugins/copyartifacts.nix +++ b/pkgs/tools/audio/beets/plugins/copyartifacts.nix @@ -1,4 +1,4 @@ -{ fetchFromGitHub, beets, pythonPackages, glibcLocales }: +{ lib, fetchFromGitHub, beets, pythonPackages, glibcLocales }: pythonPackages.buildPythonApplication { name = "beets-copyartifacts"; From b4ce3151b2f9aef49e5d04f9fa3e8bc02368c86c Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Fri, 26 Feb 2021 11:32:04 +0100 Subject: [PATCH 2/6] magnetophonDSP: recurseIntoAttrs This makes nix tooling pick up on the magnetophonDSP attribute set in all-packages.nix which prevented eval errors from being detected by ofborg in the past for example. --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1cb6bd2a981..c9a43e63d35 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23602,7 +23602,7 @@ in mail-notification = callPackage ../desktops/gnome-2/desktop/mail-notification {}; - magnetophonDSP = { + magnetophonDSP = lib.recurseIntoAttrs { CharacterCompressor = callPackage ../applications/audio/magnetophonDSP/CharacterCompressor { }; CompBus = callPackage ../applications/audio/magnetophonDSP/CompBus { }; ConstantDetuneChorus = callPackage ../applications/audio/magnetophonDSP/ConstantDetuneChorus { }; From 39379808503b9793b4481a3a42c2e0c5e9f1be3d Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Fri, 26 Feb 2021 11:38:08 +0100 Subject: [PATCH 3/6] chickenPackages_{4,5}: recurseIntoAttrs This prevents further evaluation regression for chickenPackages if they are deprecated again. Since chickenPackages_4 and chickenPackages_5 are extremely tiny package set, the cost of building one additional set on hydra is probably fine. --- pkgs/development/compilers/chicken/4/default.nix | 4 ++-- pkgs/development/compilers/chicken/5/default.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/chicken/4/default.nix b/pkgs/development/compilers/chicken/4/default.nix index 8d29c7c9a2b..5445469b776 100644 --- a/pkgs/development/compilers/chicken/4/default.nix +++ b/pkgs/development/compilers/chicken/4/default.nix @@ -1,4 +1,4 @@ -{ newScope } : +{ lib, newScope } : let callPackage = newScope self; @@ -18,4 +18,4 @@ let egg2nix = callPackage ./egg2nix.nix { }; }; -in self +in lib.recurseIntoAttrs self diff --git a/pkgs/development/compilers/chicken/5/default.nix b/pkgs/development/compilers/chicken/5/default.nix index 8d29c7c9a2b..5445469b776 100644 --- a/pkgs/development/compilers/chicken/5/default.nix +++ b/pkgs/development/compilers/chicken/5/default.nix @@ -1,4 +1,4 @@ -{ newScope } : +{ lib, newScope } : let callPackage = newScope self; @@ -18,4 +18,4 @@ let egg2nix = callPackage ./egg2nix.nix { }; }; -in self +in lib.recurseIntoAttrs self From c7e2333f494e680cc508ef90068a42bbe2c1f986 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Tue, 2 Mar 2021 17:10:43 +0100 Subject: [PATCH 4/6] libelf-freebsd: add source hash Built libelf-freebsd's src attribute on NixOS to verify. --- pkgs/development/libraries/libelf-freebsd/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/libelf-freebsd/default.nix b/pkgs/development/libraries/libelf-freebsd/default.nix index 19c537b5115..d4a8b8f6f21 100644 --- a/pkgs/development/libraries/libelf-freebsd/default.nix +++ b/pkgs/development/libraries/libelf-freebsd/default.nix @@ -8,6 +8,7 @@ stdenv.mkDerivation (rec { url = "svn://svn.code.sf.net/p/elftoolchain/code/trunk"; rev = (lib.strings.toInt version); name = "elftoolchain-${version}"; + sha256 = "1rcmddjanlsik0b055x8k914r9rxs8yjsvslia2nh1bhzf1lxmqz"; }; buildInputs = [ gnum4 tet ]; From 979a6b25901bd73f2dbc15cc51760227fb208045 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Wed, 3 Mar 2021 15:09:10 +0100 Subject: [PATCH 5/6] beets-check: fix patch path The path to the used patch was broken, making the derivation fail evaluation. However the patch needs to be updated as some new test failure has cropped up. --- pkgs/tools/audio/beets/plugins/check.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/audio/beets/plugins/check.nix b/pkgs/tools/audio/beets/plugins/check.nix index 441dcfe579f..259b62a23b0 100644 --- a/pkgs/tools/audio/beets/plugins/check.nix +++ b/pkgs/tools/audio/beets/plugins/check.nix @@ -16,7 +16,7 @@ pythonPackages.buildPythonApplication rec { propagatedBuildInputs = [ flac liboggz mp3val ]; # patch out broken tests - patches = [ ./beet-check-tests.patch ]; + patches = [ ./check-tests.patch ]; # patch out futures dependency, it is only needed for Python2 which we don't # support. From bce37e7542986dc823242bf04829c06901eb9676 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Wed, 3 Mar 2021 15:16:31 +0100 Subject: [PATCH 6/6] beets: refactor external plugins into top-level package set Instead of managing external plugins in the beets derivation, we introduce a new top-level package set beetsExternalPlugins which the beets derivation receives as an input. This change doesn't affect how the beets derivation is built or overridden, so the change won't be noticed by users, but it makes hydra evaluate and build external plugins which should benefit users of those plugins and prevent future regressions as we have experienced (currently on master beets-alternatives fails to evaluate, but this wasn't picked up by ofborg nor hydra). --- pkgs/tools/audio/beets/default.nix | 24 ++++++++---------------- pkgs/top-level/all-packages.nix | 20 ++++++++++++++++++++ 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix index 56d3268ae2d..7fea4bd28d4 100644 --- a/pkgs/tools/audio/beets/default.nix +++ b/pkgs/tools/audio/beets/default.nix @@ -3,8 +3,8 @@ , runtimeShell , unstableGitUpdater -# Attributes needed for tests of the external plugins -, callPackage, beets +# external plugins package set +, beetsExternalPlugins , enableAbsubmit ? lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms, essentia-extractor ? null , enableAcousticbrainz ? true @@ -116,15 +116,6 @@ let doInstallCheck = false; }); - pluginArgs = externalTestArgs // { inherit pythonPackages; }; - - plugins = { - alternatives = callPackage ./plugins/alternatives.nix pluginArgs; - check = callPackage ./plugins/check.nix pluginArgs; - copyartifacts = callPackage ./plugins/copyartifacts.nix pluginArgs; - extrafiles = callPackage ./plugins/extrafiles.nix pluginArgs; - }; - in pythonPackages.buildPythonApplication rec { pname = "beets"; # While there is a stable version, 1.4.9, it is more than 1000 commits behind @@ -169,7 +160,7 @@ in pythonPackages.buildPythonApplication rec { || enableSubsonicupdate || enableAcousticbrainz) pythonPackages.requests - ++ optional enableCheck plugins.check + ++ optional enableCheck beetsExternalPlugins.check ++ optional enableConvert ffmpeg ++ optional enableDiscogs pythonPackages.discogs_client ++ optional enableGmusic pythonPackages.gmusicapi @@ -179,9 +170,9 @@ in pythonPackages.buildPythonApplication rec { ++ optional enableSonosUpdate pythonPackages.soco ++ optional enableThumbnails pythonPackages.pyxdg ++ optional enableWeb pythonPackages.flask - ++ optional enableAlternatives plugins.alternatives - ++ optional enableCopyArtifacts plugins.copyartifacts - ++ optional enableExtraFiles plugins.extrafiles + ++ optional enableAlternatives beetsExternalPlugins.alternatives + ++ optional enableCopyArtifacts beetsExternalPlugins.copyartifacts + ++ optional enableExtraFiles beetsExternalPlugins.extrafiles ; buildInputs = [ @@ -289,7 +280,8 @@ in pythonPackages.buildPythonApplication rec { makeWrapperArgs = [ "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\"" "--set GST_PLUGIN_SYSTEM_PATH_1_0 \"$GST_PLUGIN_SYSTEM_PATH_1_0\"" ]; passthru = { - externalPlugins = plugins; + # FIXME: remove in favor of pkgs.beetsExternalPlugins + externalPlugins = beetsExternalPlugins; updateScript = unstableGitUpdater { url = "https://github.com/beetbox/beets"; }; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c9a43e63d35..becd662ad21 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3009,6 +3009,26 @@ in pythonPackages = python3Packages; }; + beetsExternalPlugins = + let + pluginArgs = { + # This is a stripped down beets for testing of the external plugins. + beets = (beets.override { + enableAlternatives = false; + enableCopyArtifacts = false; + enableExtraFiles = false; + }).overrideAttrs (lib.const { + doInstallCheck = false; + }); + pythonPackages = python3Packages; + }; + in lib.recurseIntoAttrs { + alternatives = callPackage ../tools/audio/beets/plugins/alternatives.nix pluginArgs; + check = callPackage ../tools/audio/beets/plugins/check.nix pluginArgs; + copyartifacts = callPackage ../tools/audio/beets/plugins/copyartifacts.nix pluginArgs; + extrafiles = callPackage ../tools/audio/beets/plugins/extrafiles.nix pluginArgs; + }; + bento4 = callPackage ../tools/video/bento4 { }; bepasty = callPackage ../tools/misc/bepasty { };