Merge master into staging-next

main
github-actions[bot] 2 years ago committed by GitHub
commit 180709df10
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      lib/tests/modules.sh
  2. 61
      lib/tests/modules/functionTo/submodule-options.nix
  3. 4
      lib/types.nix
  4. 8
      nixos/lib/make-options-doc/options-to-docbook.xsl
  5. 2
      nixos/modules/services/networking/radicale.nix
  6. 28
      pkgs/applications/blockchains/lightwalletd/default.nix
  7. 4
      pkgs/applications/networking/cluster/driftctl/default.nix
  8. 6
      pkgs/applications/networking/cluster/nerdctl/default.nix
  9. 6
      pkgs/applications/plasma-mobile/angelfish.nix
  10. 21
      pkgs/applications/plasma-mobile/audiotube.nix
  11. 2
      pkgs/applications/plasma-mobile/default.nix
  12. 2
      pkgs/applications/plasma-mobile/fetch.sh
  13. 8
      pkgs/applications/plasma-mobile/kasts.nix
  14. 2
      pkgs/applications/plasma-mobile/krecorder.nix
  15. 12
      pkgs/applications/plasma-mobile/neochat.nix
  16. 16
      pkgs/applications/plasma-mobile/plasma-dialer.nix
  17. 4
      pkgs/applications/plasma-mobile/plasma-settings.nix
  18. 41
      pkgs/applications/plasma-mobile/plasmatube.nix
  19. 9
      pkgs/applications/plasma-mobile/spacebar.nix
  20. 184
      pkgs/applications/plasma-mobile/srcs.nix
  21. 4
      pkgs/applications/science/misc/snakemake/default.nix
  22. 50
      pkgs/applications/science/physics/xfitter/0001-src-GetChisquare.f-use-correct-types-in-calls-to-DSY.patch
  23. 8
      pkgs/applications/science/physics/xfitter/default.nix
  24. 13
      pkgs/applications/version-management/git-and-tools/git-ignore/default.nix
  25. 4
      pkgs/development/libraries/console-bridge/default.nix
  26. 40
      pkgs/development/libraries/qtmpris/default.nix
  27. 18
      pkgs/development/tools/build-managers/corrosion/default.nix
  28. 6
      pkgs/os-specific/linux/restool/default.nix
  29. 6
      pkgs/servers/plex/raw.nix
  30. 1
      pkgs/servers/radicale/3.x.nix
  31. 4
      pkgs/tools/admin/stripe-cli/default.nix
  32. 21
      pkgs/tools/audio/beets/badfiles-plugin-nix-paths.patch
  33. 95
      pkgs/tools/audio/beets/builtin-plugins.nix
  34. 147
      pkgs/tools/audio/beets/common.nix
  35. 34
      pkgs/tools/audio/beets/convert-plugin-ffmpeg-path.patch
  36. 317
      pkgs/tools/audio/beets/default.nix
  37. 20
      pkgs/tools/audio/beets/imagemagick-nix-path.patch
  38. 0
      pkgs/tools/audio/beets/patches/bash-completion-always-print.patch
  39. 6
      pkgs/tools/audio/beets/plugins/alternatives.nix
  40. 18
      pkgs/tools/audio/beets/plugins/copyartifacts.nix
  41. 14
      pkgs/tools/audio/beets/plugins/extrafiles.nix
  42. 26
      pkgs/tools/audio/beets/replaygain-default-ffmpeg.patch
  43. 6
      pkgs/tools/filesystems/httm/default.nix
  44. 6
      pkgs/tools/misc/opentelemetry-collector/contrib.nix
  45. 6
      pkgs/tools/misc/opentelemetry-collector/default.nix
  46. 2
      pkgs/top-level/aliases.nix
  47. 31
      pkgs/top-level/all-packages.nix
  48. 2
      pkgs/top-level/qt5-packages.nix

@ -290,6 +290,8 @@ checkConfigOutput '^"a b"$' config.result ./functionTo/merging-list.nix
checkConfigError 'A definition for option .fun.\[function body\]. is not of type .string.. Definition values:\n\s*- In .*wrong-type.nix' config.result ./functionTo/wrong-type.nix
checkConfigOutput '^"b a"$' config.result ./functionTo/list-order.nix
checkConfigOutput '^"a c"$' config.result ./functionTo/merging-attrs.nix
checkConfigOutput '^"a bee"$' config.result ./functionTo/submodule-options.nix
checkConfigOutput '^"fun.\[function body\].a fun.\[function body\].b"$' config.optionsResult ./functionTo/submodule-options.nix
# moduleType
checkConfigOutput '^"a b"$' config.resultFoo ./declare-variants.nix ./define-variant.nix

@ -0,0 +1,61 @@
{ lib, config, options, ... }:
let
inherit (lib) types;
in
{
imports = [
# fun.<function-body>.a
({ ... }: {
options = {
fun = lib.mkOption {
type = types.functionTo (types.submodule {
options.a = lib.mkOption { default = "a"; };
});
};
};
})
# fun.<function-body>.b
({ ... }: {
options = {
fun = lib.mkOption {
type = types.functionTo (types.submodule {
options.b = lib.mkOption { default = "b"; };
});
};
};
})
];
options = {
result = lib.mkOption
{
type = types.str;
default = lib.concatStringsSep " " (lib.attrValues (config.fun (throw "shouldn't use input param")));
};
optionsResult = lib.mkOption
{
type = types.str;
default = lib.concatStringsSep " "
(lib.concatLists
(lib.mapAttrsToList
(k: v:
if k == "_module"
then [ ]
else [ (lib.showOption v.loc) ]
)
(
(options.fun.type.getSubOptions [ "fun" ])
)
)
);
};
};
config.fun = lib.mkMerge
[
(input: { b = "bee"; })
];
}

@ -526,9 +526,11 @@ rec {
check = isFunction;
merge = loc: defs:
fnArgs: (mergeDefinitions (loc ++ [ "[function body]" ]) elemType (map (fn: { inherit (fn) file; value = fn.value fnArgs; }) defs)).mergedValue;
getSubOptions = elemType.getSubOptions;
getSubOptions = prefix: elemType.getSubOptions (prefix ++ [ "[function body]" ]);
getSubModules = elemType.getSubModules;
substSubModules = m: functionTo (elemType.substSubModules m);
functor = (defaultFunctor "functionTo") // { wrapped = elemType; };
nestedTypes.elemType = elemType;
};
# A submodule (like typed attribute set). See NixOS manual.

@ -20,7 +20,13 @@
<title>Configuration Options</title>
<variablelist xml:id="configuration-variable-list">
<xsl:for-each select="attrs">
<xsl:variable name="id" select="concat('opt-', str:replace(str:replace(str:replace(str:replace(attr[@name = 'name']/string/@value, '*', '_'), '&lt;', '_'), '>', '_'), ':', '_'))" />
<xsl:variable name="id" select="
concat('opt-',
translate(
attr[@name = 'name']/string/@value,
'*&lt; >[]:',
'_______'
))" />
<varlistentry>
<term xlink:href="#{$id}">
<xsl:attribute name="xml:id"><xsl:value-of select="$id"/></xsl:attribute>

@ -164,7 +164,7 @@ in {
StateDirectoryMode = "0750";
# Hardening
CapabilityBoundingSet = [ "" ];
DeviceAllow = [ "/dev/stdin" ];
DeviceAllow = [ "/dev/stdin" "/dev/urandom" ];
DevicePolicy = "strict";
IPAddressAllow = mkIf bindLocalhost "localhost";
IPAddressDeny = mkIf bindLocalhost "any";

@ -1,14 +1,14 @@
{ buildGoModule, fetchFromGitHub, lib }:
{ buildGoModule, fetchFromGitHub, lib, lightwalletd, testers }:
buildGoModule rec {
pname = "lightwalletd";
version = "0.4.9";
version = "0.4.10";
src = fetchFromGitHub {
owner = "zcash";
repo = "lightwalletd";
rev = "v${version}";
sha256 = "sha256-IksA06V+mP7ZAXXFYLKLacxrDXeMXHAk5w4t7pmobq4=";
rev = "68789356fb1a75f62735a529b38389ef08ea7582";
sha256 = "sha256-7gZhr6YMarGdgoGjg+oD4nZ/SAJ5cnhEDKmA4YMqJTo=";
};
vendorSha256 = null;
@ -16,22 +16,28 @@ buildGoModule rec {
ldflags = [
"-s" "-w"
"-X github.com/zcash/lightwalletd/common.Version=v${version}"
"-X github.com/zcash/lightwalletd/common.GitCommit=v${version}"
"-X github.com/zcash/lightwalletd/common.GitCommit=${src.rev}"
"-X github.com/zcash/lightwalletd/common.BuildDate=1970-01-01"
"-X github.com/zcash/lightwalletd/common.BuildUser=nixbld"
];
postFixup = ''
shopt -s extglob
cd $out/bin
rm !(lightwalletd)
'';
excludedPackages = [
"genblocks"
"testclient"
"zap"
];
passthru.tests.version = testers.testVersion {
package = lightwalletd;
command = "lightwalletd version";
version = "v${lightwalletd.version}";
};
meta = with lib; {
description = "A backend service that provides a bandwidth-efficient interface to the Zcash blockchain";
homepage = "https://github.com/zcash/lightwalletd";
maintainers = with maintainers; [ centromere ];
license = licenses.mit;
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
};
}

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "driftctl";
version = "0.29.0";
version = "0.30.0";
src = fetchFromGitHub {
owner = "snyk";
repo = "driftctl";
rev = "v${version}";
sha256 = "sha256-cn0PhumDaOhTm1vZCj0h9XehnQCDc+mXtne7QQNSbBk=";
sha256 = "sha256-kjXqkaBF3rAaGnDDVmAoFmvH4t8/seC+KF7K78eKZco=";
};
vendorSha256 = "sha256-bsIPEjD/kCUvkRKP85CjW3JJf1Hyx9b2pMY9S4HlKrA=";

@ -10,16 +10,16 @@
buildGoModule rec {
pname = "nerdctl";
version = "0.19.0";
version = "0.20.0";
src = fetchFromGitHub {
owner = "containerd";
repo = pname;
rev = "v${version}";
sha256 = "sha256-FuWfHd4LfFHX5oRopDIDTi90cARi8cYjJBK0BgeCD/U=";
sha256 = "sha256-5bigfsig2LkZoLUlA6764ttG85CNi6rmOgQck+/zc5c=";
};
vendorSha256 = "sha256-mHitGjOfSRlqORWFtB16buSSJrCf7Li9+oHX4rcO4ek=";
vendorSha256 = "sha256-Ei4L35/RN2en7gOUzvGflBivTlBy2YnUvTHqcCe5HN4=";
nativeBuildInputs = [ makeWrapper installShellFiles ];

@ -4,6 +4,7 @@
, cmake
, corrosion
, extra-cmake-modules
, gcc11
, kconfig
, kcoreaddons
, kdbusaddons
@ -19,8 +20,8 @@
, srcs
# These must be updated in tandem with package updates.
, cargoShaForVersion ? "21.08"
, cargoSha256 ? "1pbvw9hdzn3i97mahdy9y6jnjsmwmjs3lxfz7q6r9r10i8swbkak"
, cargoShaForVersion ? "22.04"
, cargoSha256 ? "RtdZMBKixC3mdHeFXY9u0pHyDv93Z8p4EVY+lz1aISM="
}:
# Guard against incomplete updates.
@ -45,6 +46,7 @@ mkDerivation rec {
cmake
corrosion
extra-cmake-modules
gcc11 # doesn't build with GCC 9 from stdenv on aarch64
] ++ (with rustPlatform; [
cargoSetupHook
rust.cargo

@ -1,8 +1,8 @@
{ lib
, mkDerivation
, fetchpatch
, extra-cmake-modules
, gcc11
, kcoreaddons
, kcrash
@ -16,16 +16,9 @@
mkDerivation rec {
pname = "audiotube";
patches = [
# Fix compatibility with ytmusicapi 0.19.1
(fetchpatch {
url = "https://invent.kde.org/plasma-mobile/audiotube/-/commit/734caa02805988200f923b88d1590b3f7dac8ac2.patch";
sha256 = "0zq4f0w84dv0630bpvmqkfmhxbvibr2fxhzy6d2mnf098028gzyd";
})
];
nativeBuildInputs = [
extra-cmake-modules
gcc11 # doesn't build with GCC 9 from stdenv on aarch64
python3Packages.wrapPython
python3Packages.pybind11
];
@ -37,13 +30,11 @@ mkDerivation rec {
kirigami2
qtmultimedia
qtquickcontrols2
python3Packages.youtube-dl
python3Packages.ytmusicapi
];
] ++ pythonPath;
pythonPath = [
python3Packages.youtube-dl
python3Packages.ytmusicapi
pythonPath = with python3Packages; [
yt-dlp
ytmusicapi
];
preFixup = ''

@ -73,9 +73,11 @@ let
krecorder = callPackage ./krecorder.nix {};
ktrip = callPackage ./ktrip.nix {};
kweather = callPackage ./kweather.nix {};
neochat = callPackage ./neochat.nix {};
plasma-dialer = callPackage ./plasma-dialer.nix {};
plasma-phonebook = callPackage ./plasma-phonebook.nix {};
plasma-settings = callPackage ./plasma-settings.nix {};
plasmatube = callPackage ./plasmatube.nix {};
spacebar = callPackage ./spacebar.nix {};
};

@ -1 +1 @@
WGET_ARGS=( https://download.kde.org/stable/plasma-mobile/21.08/ -A '*.tar.xz' )
WGET_ARGS=( https://download.kde.org/stable/plasma-mobile/22.04/ -A '*.tar.xz' )

@ -10,9 +10,12 @@
, kcoreaddons
, ki18n
, kirigami2
, networkmanager-qt
, qtkeychain
, qtmultimedia
, qtquickcontrols2
, syndication
, taglib
}:
let
@ -37,9 +40,12 @@ mkDerivation rec {
kcoreaddons
ki18n
kirigami2
qtquickcontrols2
networkmanager-qt
qtkeychain
qtmultimedia
qtquickcontrols2
syndication
taglib
];
preFixup = ''

@ -5,6 +5,7 @@
, extra-cmake-modules
, kconfig
, kcoreaddons
, ki18n
, kirigami2
, qtmultimedia
@ -21,6 +22,7 @@ mkDerivation rec {
buildInputs = [
kconfig
kcoreaddons
ki18n
kirigami2
qtmultimedia

@ -1,6 +1,5 @@
{ mkDerivation
, lib
, fetchFromGitLab
, pkg-config
, cmake
, cmark
@ -28,15 +27,6 @@
mkDerivation rec {
pname = "neochat";
version = "22.02";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "network";
repo = pname;
rev = "v${version}";
sha256 = "sha256-7EBnHuwpyJ/bGrCldZHWOwcnJWDIDaNWZXHkCYkOTjs=";
};
nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ];
@ -64,7 +54,7 @@ mkDerivation rec {
];
meta = with lib; {
description = "A client for matrix, the decentralized communication protocol.";
description = "A client for matrix, the decentralized communication protocol";
homepage = "https://apps.kde.org/en/neochat";
license = licenses.gpl3Only;
maintainers = with maintainers; [ peterhoeg ];

@ -4,6 +4,7 @@
, cmake
, extra-cmake-modules
, callaudiod
, kcontacts
, kcoreaddons
, kdbusaddons
@ -12,12 +13,11 @@
, knotifications
, kpeople
, libphonenumber
, libpulseaudio
, libqofono
, modemmanager-qt
, protobuf
, pulseaudio-qt
, qtfeedback
, qtmpris
, qtquickcontrols2
, telepathy
}:
mkDerivation rec {
@ -29,6 +29,7 @@ mkDerivation rec {
];
buildInputs = [
callaudiod
kcontacts
kcoreaddons
kdbusaddons
@ -37,12 +38,11 @@ mkDerivation rec {
knotifications
kpeople
libphonenumber
libpulseaudio
libqofono
modemmanager-qt
protobuf # Needed by libphonenumber
pulseaudio-qt
qtfeedback
qtmpris
qtquickcontrols2
telepathy
];
meta = with lib; {

@ -11,6 +11,8 @@
, kdbusaddons
, ki18n
, kitemmodels
, modemmanager-qt
, networkmanager-qt
, plasma-framework
}:
@ -29,6 +31,8 @@ mkDerivation rec {
kdbusaddons
ki18n
kitemmodels
modemmanager-qt
networkmanager-qt
plasma-framework
];

@ -0,0 +1,41 @@
{ lib
, mkDerivation
, cmake
, extra-cmake-modules
, gst_all_1
, kcoreaddons
, kdeclarative
, ki18n
, kirigami2
, qtmultimedia
, qtquickcontrols2
}:
mkDerivation {
pname = "plasmatube";
nativeBuildInputs = [
extra-cmake-modules
];
buildInputs = [
kcoreaddons
kdeclarative
ki18n
kirigami2
qtmultimedia
qtquickcontrols2
] ++ (with gst_all_1; [
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gstreamer
]);
meta = {
description = "Youtube player powered by an invidious server";
homepage = "https://invent.kde.org/plasma-mobile/plasmatube";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

@ -11,8 +11,10 @@
, kpeople
, libphonenumber
, libqofono
, modemmanager-qt
, protobuf
, telepathy
, qcoro
, qtquickcontrols2
}:
mkDerivation rec {
@ -30,9 +32,10 @@ mkDerivation rec {
knotifications
kpeople
libphonenumber
libqofono
modemmanager-qt
protobuf # Needed by libphonenumber
telepathy
qcoro
qtquickcontrols2
];
meta = with lib; {

@ -4,155 +4,187 @@
{
alligator = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/alligator-21.08.tar.xz";
sha256 = "1dhwfwd1v5wmx3sldpygb79kz87j13wd0arhlkm94z1whsixan0q";
name = "alligator-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/alligator-22.04.tar.xz";
sha256 = "1f2s0ay4qr7ylqnx8d1fawwi4h15gza2d4dsvrww1gm8ar1miqwc";
name = "alligator-22.04.tar.xz";
};
};
angelfish = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/angelfish-21.08.tar.xz";
sha256 = "1gzvlha159bw767mj8lisn89592j4j4dazzfws3v4anddjh60xnh";
name = "angelfish-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/angelfish-22.04.tar.xz";
sha256 = "169bhkymfxcs93injzp86cvcdhv78pl4dfsscjahlh9c1g5lsbqa";
name = "angelfish-22.04.tar.xz";
};
};
audiotube = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/audiotube-21.08.tar.xz";
sha256 = "14h4xna9v70lmp7cfpvdnz0f5a4gwgj0q3byccmawm38xsv15v8c";
name = "audiotube-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/audiotube-22.04.tar.xz";
sha256 = "0x9xmlfz39ac15c4rbg33sl1bbjmglxgz39flmrvrrw9h2m62s2x";
name = "audiotube-22.04.tar.xz";
};
};
calindori = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/calindori-21.08.tar.xz";
sha256 = "08s16a8skh02n8ygqwryxpzczj5aqr5k58aijaz2gzx45m7ym31b";
name = "calindori-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/calindori-22.04.tar.xz";
sha256 = "1zinhlflrx230yymlfxvm98dvvq1yig3r49bq61fmyrzq6fdfv60";
name = "calindori-22.04.tar.xz";
};
};
kalk = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/kalk-21.08.tar.xz";
sha256 = "0xzrahpz47yajalsfmpzmavxjwmr4bgljwyz2dhxdg40ryjxdy23";
name = "kalk-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/kalk-22.04.tar.xz";
sha256 = "0aaqcb7jkkqypawfkzjnqglzyni17064d0mhch8g7q0qm5izvap8";
name = "kalk-22.04.tar.xz";
};
};
kasts = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/kasts-21.08.tar.xz";
sha256 = "10v6icxwv46nihzbdi0n2w71bsg7l166z7jf9rb7vf2mjh1gqavn";
name = "kasts-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/kasts-22.04.tar.xz";
sha256 = "0c60wp0i6l7ji13ap69lh21vpdq09h2nmqpzjlrwlbjqbhhx7lsh";
name = "kasts-22.04.tar.xz";
};
};
kclock = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/kclock-21.08.tar.xz";
sha256 = "1zq0fxlwd7l3b6dgfqsmv1x4wvhmrjz5r0a38hbd7j7pzgyix47d";
name = "kclock-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/kclock-22.04.tar.xz";
sha256 = "1ycln85ydd3qmzfadgg80zf7jlwx5yijxs1mbfmx7f1rr427qdk6";
name = "kclock-22.04.tar.xz";
};
};
keysmith = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/keysmith-21.08.tar.xz";
sha256 = "0fa8inli7cwmb75af0mr2cflng0r6k3pd6ckih6ph7szqbpg2x90";
name = "keysmith-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/keysmith-22.04.tar.xz";
sha256 = "0cx14r820mnlh75l3blc0ywxwmlinn2wakdnwl75w6i8l46k48li";
name = "keysmith-22.04.tar.xz";
};
};
khealthcertificate = {
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/22.04/khealthcertificate-22.04.tar.xz";
sha256 = "0sr90ki42m3cbjy63rl2ay02wm089wyka0lc4ik7jaic6wb47y5d";
name = "khealthcertificate-22.04.tar.xz";
};
};
koko = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/koko-21.08.tar.xz";
sha256 = "1sqlcl871m6dlrnkkhqa3xfwix01d74d7jf94r1a3p32hqljv76p";
name = "koko-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/koko-22.04.tar.xz";
sha256 = "0i4h2brc5dqwdmj2bs7nywrz7cgqcf7nmm6yl03047vj9aah01cw";
name = "koko-22.04.tar.xz";
};
};
kongress = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/kongress-21.08.tar.xz";
sha256 = "099ds4bv4ngx21f28hxcvc17wd2nk786kydwf2h5n3mdd2mgz3ka";
name = "kongress-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/kongress-22.04.tar.xz";
sha256 = "07yb8hddxl7m1wl0z7rcwdls3k9q89zl1d271n15j1rwrsbwiyxd";
name = "kongress-22.04.tar.xz";
};
};
krecorder = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/krecorder-21.08.tar.xz";
sha256 = "1381x889h37saf6k875iqhwz5vbixrp7650smxp31r56ycrqq26i";
name = "krecorder-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/krecorder-22.04.tar.xz";
sha256 = "0d7nvq87avw4gj6whjrlmxs361r9cvzfmfsrca5f536jlazp95pg";
name = "krecorder-22.04.tar.xz";
};
};
ktrip = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/ktrip-21.08.tar.xz";
sha256 = "0ipxi3pqd7mznq3qjf9j9w3wyck85lxnr81ay6b3ricfb08ry68x";
name = "ktrip-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/ktrip-22.04.tar.xz";
sha256 = "1ijy19axc492l4naayr3d8qdjznc286105qnki8vmcaw93p48n9x";
name = "ktrip-22.04.tar.xz";
};
};
kweather = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/22.04/kweather-22.04.tar.xz";
sha256 = "0080l00dya34d35sf6z2j3ra6lls0nafr045a9jmxv09763ydb5d";
name = "kweather-22.04.tar.xz";
};
};
neochat = {
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/kweather-21.08.tar.xz";
sha256 = "0b1zjwsakwsnh6827zjhypvb04c78gwwygr7k1cy2x3finrp5if5";
name = "kweather-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/neochat-22.04.tar.xz";
sha256 = "04i1kn52w9jjaaw8x53mksw2vzrpsq1xrq13h158c1s3q1g9jdm8";
name = "neochat-22.04.tar.xz";
};
};
plasma-dialer = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/plasma-dialer-21.08.tar.xz";
sha256 = "14vgjg0nihhm446cfrrld1l43r50dlah5xs2ypdnm68618bdc7p1";
name = "plasma-dialer-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/plasma-dialer-22.04.tar.xz";
sha256 = "0hnxasj6psplwykahhisipyvy67hfr820azixw5p820fzy11x2g4";
name = "plasma-dialer-22.04.tar.xz";
};
};
plasma-phonebook = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/plasma-phonebook-21.08.tar.xz";
sha256 = "09gr5mkwhayx6k6bhm29bmcvdlqqw8jj7gydh5fz40g9z98c84km";
name = "plasma-phonebook-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/plasma-phonebook-22.04.tar.xz";
sha256 = "14nd2yx9cf6gabb10kcaqkdn7kb96n2209qrib7daq2ldva8c9i9";
name = "plasma-phonebook-22.04.tar.xz";
};
};
plasma-settings = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/plasma-settings-21.08.tar.xz";
sha256 = "005v1gyrzl9b0k875p2wipja3l8l4awp8nl2d1jx7c28lqaspz2j";
name = "plasma-settings-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/plasma-settings-22.04.tar.xz";
sha256 = "1k40mviikpij1srar1hkg732qg14ld0176g1mpza0ysr3yr21vny";
name = "plasma-settings-22.04.tar.xz";
};
};
plasmatube = {
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/22.04/plasmatube-22.04.tar.xz";
sha256 = "01bmxdh0aclm184j5s0kddjc7a14225bdnbkr8jlk21g9wlw8cyx";
name = "plasmatube-22.04.tar.xz";
};
};
qmlkonsole = {
version = "21.08";
version = "22.04.1";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/qmlkonsole-21.08.tar.xz";
sha256 = "1p3ysf6sgiji86400523hm67rvw3znj3a7k6g6s83dxynxdh2faq";
name = "qmlkonsole-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/qmlkonsole-22.04.1.tar.xz";
sha256 = "06zfrqaag9sgihs5k93nssgm4smrs2ymh7q0fx35z7fcphngjpaw";
name = "qmlkonsole-22.04.1.tar.xz";
};
};
spacebar = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/spacebar-21.08.tar.xz";
sha256 = "1cg36iys4x7p97ywilnp2lzz1ry5a1m7jz38yh2yiw6m8wvzfqff";
name = "spacebar-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/spacebar-22.04.tar.xz";
sha256 = "0ga3symavdrq5aim924bd889b9cmv09dyplz9gcspk46w49vx3s5";
name = "spacebar-22.04.tar.xz";
};
};
tokodon = {
version = "21.08";
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/22.04/tokodon-22.04.tar.xz";
sha256 = "0c9q2ax0h047xm3g5r5cn6sxfyv2lb93dahd5z3nw67bfrzwvnw2";
name = "tokodon-22.04.tar.xz";
};
};
vakzination = {
version = "22.04";
src = fetchurl {
url = "${mirror}/stable/plasma-mobile/21.08/tokodon-21.08.tar.xz";
sha256 = "0j9zfcdss1872hv8xxrmy0jjmcz3y5kdz8gdrd6qmig5scrzjvnf";
name = "tokodon-21.08.tar.xz";
url = "${mirror}/stable/plasma-mobile/22.04/vakzination-22.04.tar.xz";
sha256 = "0zadygzw4xzpwbdnb6dwjjjls1h915gp9xaf59kbfbmzwb6m4mf8";
name = "vakzination-22.04.tar.xz";
};
};
}

@ -5,14 +5,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "snakemake";
version = "7.6.2";
version = "7.7.0";
format = "setuptools";
src = fetchFromGitHub {
owner = "snakemake";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-mIl5c+HR2kqgJzbLVTQjJlf4Ca/+Icqg9G49yIUyipc=";
hash = "sha256-KAnilLq7hZy5IU8d95D9sHSGfqibAvUAW3bRH/JwGnw=";
};
propagatedBuildInputs = with python3.pkgs; [

@ -0,0 +1,50 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -54,21 +54,7 @@ endif()
endif()
#Use c preprocessor with fortran
-
-if(UNIX AND NOT APPLE)
- set(CMAKE_Fortran_FLAGS "-cpp -Wno-argument-mismatch")
-endif()
-
-if(APPLE)
- set(CMAKE_Fortran_FLAGS "-cpp -fallow-argument-mismatch")
-endif()
-
-
-if (CMAKE_MAJOR_VERSION VERSION_GREATER_EQUAL "3")
-if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL "10")
- set(CMAKE_Fortran_FLAGS "-cpp -fallow-argument-mismatch")
-endif()
-endif()
+set(CMAKE_Fortran_FLAGS "-cpp")
#For Fortran
diff --git a/src/GetChisquare.f b/src/GetChisquare.f
index b21413fe..28391bcb 100644
--- a/src/GetChisquare.f
+++ b/src/GetChisquare.f
@@ -2418,8 +2418,8 @@ C> @Brief Interface to lapack, to dynamically allocate work arrays
integer NCovar, NDimCovar
double precision Covar(NDimCovar,NDimCovar), EigenValues(NCovar)
integer IFail
- double precision Work
- integer IWork
+ double precision Work(1)
+ integer IWork(1)
Character*80 msg
C---------------------------------------------------------------
C Determine optimal size of the work array:
@@ -2432,7 +2432,7 @@ C Determine optimal size of the work array:
$ int(work)+1, iwork
call HF_ERRLOG(14121701,msg)
call MyDSYEVD2(NCovar,Covar,NDimCovar, EigenValues,
- $ int(work)+1,iwork,ifail)
+ $ int(work(1))+1,iwork(1),ifail)
end

@ -31,10 +31,10 @@ stdenv.mkDerivation rec {
sha256 = "sha256-ZHIQ5hOY+k0/wmpE0o4Po+RZ4MkVMk+bK1Rc6eqwwH0=";
};
preConfigure = ''
substituteInPlace CMakeLists.txt \
--replace "-fallow-argument-mismatch" ""
'';
patches = [
# Avoid need for -fallow-argument-mismatch
./0001-src-GetChisquare.f-use-correct-types-in-calls-to-DSY.patch
];
nativeBuildInputs = [ cmake gfortran pkg-config ];
buildInputs =

@ -4,16 +4,16 @@ with rustPlatform;
buildRustPackage rec {
pname = "git-ignore";
version = "1.1.1";
version = "1.2.0";
src = fetchFromGitHub {
owner = "sondr3";
repo = pname;
rev = "v${version}";
sha256 = "sha256-bKIBPqGKiS3ey8vH2F4EoleV1H2PTOp+71d/YW3jkT0=";
sha256 = "sha256-Bfr+4zDi6QqirlqccW1jU95eb4q82ZFG9LtT2mCPYLc=";
};
cargoSha256 = "sha256-7jPNVBf5DYtE8nsh7LIywMCjU7ODZ3qFsmBie2mZ3h8=";
cargoSha256 = "sha256-ehEUI4M2IxqS6QhyqOncwP+w6IGbIlSFNIP/FEVH/JI=";
nativeBuildInputs = [ pkg-config installShellFiles ];
buildInputs = [ openssl ]
@ -21,9 +21,10 @@ buildRustPackage rec {
darwin.apple_sdk.frameworks.Security
];
outputs = [ "out" "man" ];
preFixup = ''
installManPage $releaseDir/build/git-ignore-*/out/git-ignore.1
postInstall = ''
installManPage assets/git-ignore.1
# There's also .elv and .ps1 completion files but I don't know where to install those
installShellCompletion assets/git-ignore.{bash,fish} --zsh assets/_git-ignore
'';
meta = with lib; {

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "console-bridge";
version = "1.0.1";
version = "1.0.2";
src = fetchFromGitHub {
owner = "ros";
repo = "console_bridge";
rev = version;
sha256 = "18qycrjnf7v8n5bipij91jsv7ap98z5dsp93w2gz9rah4lfjb80q";
sha256 = "sha256-M3GocT0hodw3Sc2NHcFDiPVZ1XN7BqIUuYLW8OaXMqM=";
};
nativeBuildInputs = [ cmake validatePkgConfig ];

@ -0,0 +1,40 @@
{ lib
, mkDerivation
, fetchFromGitHub
, qmake
, qtbase
}:
mkDerivation rec {
pname = "qtmpris";
version = "1.0.6";
src = fetchFromGitHub {
owner = "sailfishos";
repo = "qtmpris";
rev = version;
hash = "sha256-kuM8hUdsa7N+eLDbwYw3ay+PWxg35zcTBOvGow1NlzI=";
};
postPatch = ''
substituteInPlace src/src.pro \
--replace '$$[QT_INSTALL_LIBS]' "$out/lib" \
--replace '$$[QT_INSTALL_HEADERS]' "$out/include" \
--replace '$$[QMAKE_MKSPECS]' "$out/mkspecs"
'';
nativeBuildInputs = [
qmake
];
buildInputs = [
qtbase
];
meta = {
description = "Qt and QML MPRIS interface and adaptor";
homepage = "https://github.com/sailfishos/qtmpris";
license = lib.licenses.lgpl21Plus;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

@ -8,27 +8,22 @@
stdenv.mkDerivation rec {
pname = "corrosion";
version = "unstable-2021-11-23";
version = "0.2.1";
src = fetchFromGitHub {
owner = "AndrewGaspar";
owner = "corrosion-rs";
repo = "corrosion";
rev = "f679545a63a8b214a415e086f910126ab66714fa";
sha256 = "sha256-K+QdhWc5n5mH6yxiQa/v5HsrqnWJ5SM93IprVpyCVO0=";
rev = "v${version}";
hash = "sha256-nJ4ercNykECDBqecuL8cdCl4DHgbgIUmbiFBG/jiOaA=";
};
patches = [
# https://github.com/AndrewGaspar/corrosion/issues/84
./cmake-install-full-dir.patch
];
cargoRoot = "generator";
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
sourceRoot = "${src.name}/${cargoRoot}";
name = "${pname}-${version}";
sha256 = "sha256-ZvCRgXv+ASMIL00oc3luegV1qVNDieU9J7mbIhfayGk=";
hash = "sha256-4JVbHYlMOKztWPYW7tXQdvdNh/ygfpi0CY6Ly93VxsI=";
};
buildInputs = lib.optional stdenv.isDarwin libiconv;
@ -50,7 +45,8 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Tool for integrating Rust into an existing CMake project";
homepage = "https://github.com/AndrewGaspar/corrosion";
homepage = "https://github.com/corrosion-rs/corrosion";
changelog = "https://github.com/corrosion-rs/corrosion/blob/${src.rev}/RELEASES.md";
license = licenses.mit;
maintainers = with maintainers; [ dotlambda ];
};

@ -18,6 +18,12 @@ stdenv.mkDerivation rec {
"VERSION=${version}"
];
postPatch = ''
# -Werror makes this derivation fragile on compiler version upgrades, patch
# it out.
sed -i /-Werror/d Makefile
'';
preFixup = ''
# wrapProgram interacts badly with the ls-main tool, which relies on the
# shell's $0 argument to figure out which operation to run (busybox-style

@ -12,16 +12,16 @@
# server, and the FHS userenv and corresponding NixOS module should
# automatically pick up the changes.
stdenv.mkDerivation rec {
version = "1.26.0.5715-8cf78dab3";
version = "1.26.1.5798-99a4a6ac9";
pname = "plexmediaserver";
# Fetch the source
src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
hash = "sha256-Ou5DlQPk+zAt/wE5Nry4nzLaR1Id6tQdwl73qawig4M=";
hash = "sha256-Y2LW7NNdwD4t/R7dHOAEG2mxC4qFV6Z8VUh0APo8QNM=";
} else fetchurl {
url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
hash = "sha256-DQbRobiJwT7Xr4NzKS2iQOszOsd/bS/+kJ4p+QUVXfg=";
hash = "sha256-Chu4IULIvkmfMEV0LSg50i6usZJZI3UWOgCHQakbhaY=";
};
outputs = [ "out" "basedb" ];

@ -20,6 +20,7 @@ python3.pkgs.buildPythonApplication rec {
passlib
vobject
python-dateutil
pytz # https://github.com/Kozea/Radicale/issues/816
] ++ passlib.extras-require.bcrypt;
checkInputs = with python3.pkgs; [

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "stripe-cli";
version = "1.8.8";
version = "1.8.11";
src = fetchFromGitHub {
owner = "stripe";
repo = pname;
rev = "v${version}";
sha256 = "sha256-frVQ2nqOflY26ZZWVYJGMNMOdbLuIojQDu/79kLilBk=";
sha256 = "sha256-4a5GPB6R3jTzcZRMrYwDn6oNEHBdKQJUFQb+k76X5Z4=";
};
vendorSha256 = "sha256-1c+YtfRy1ey0z117YHHkrCnpb7g+DmM+LR1rjn1YwMQ=";

@ -1,21 +0,0 @@
diff --git i/beetsplug/badfiles.py w/beetsplug/badfiles.py
index 36b45de3..5208b696 100644
--- i/beetsplug/badfiles.py
+++ w/beetsplug/badfiles.py
@@ -71,14 +71,14 @@ class BadFiles(BeetsPlugin):
return status, errors, [line for line in output.split("\n") if line]
def check_mp3val(self, path):
- status, errors, output = self.run_command(["mp3val", path])
+ status, errors, output = self.run_command(["@mp3val@/bin/mp3val", path])
if status == 0:
output = [line for line in output if line.startswith("WARNING:")]
errors = len(output)
return status, errors, output
def check_flac(self, path):
- return self.run_command(["flac", "-wst", path])
+ return self.run_command(["@flac@/bin/flac", "-wst", path])
def check_custom(self, command):
def checker(path):

@ -0,0 +1,95 @@
{ stdenv
, aacgain
, essentia-extractor
, ffmpeg
, flac
, imagemagick
, keyfinder-cli
, lib
, mp3gain
, mp3val
, python3Packages
, ...
}: {
absubmit = {
enable = lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms;
wrapperBins = [ essentia-extractor ];
};
acousticbrainz.propagatedBuildInputs = [ python3Packages.requests ];
albumtypes = { };
aura.propagatedBuildInputs = with python3Packages; [ flask pillow ];
badfiles.wrapperBins = [ mp3val flac ];
bareasc = { };
beatport.propagatedBuildInputs = [ python3Packages.requests-oauthlib ];
bench = { };
bpd = { };
bpm = { };
bpsync = { };
bucket = { };
chroma.propagatedBuildInputs = [ python3Packages.pyacoustid ];
convert.wrapperBins = [ ffmpeg ];
deezer.propagatedBuildInputs = [ python3Packages.requests ];
discogs.propagatedBuildInputs = with python3Packages; [ discogs-client requests ];
duplicates = { };
edit = { };
embedart = {
propagatedBuildInputs = with python3Packages; [ pillow ];
wrapperBins = [ imagemagick ];
};
embyupdate.propagatedBuildInputs = [ python3Packages.requests ];
export = { };
fetchart = {
propagatedBuildInputs = with python3Packages; [ requests pillow ];
wrapperBins = [ imagemagick ];
};
filefilter = { };
fish = { };
freedesktop = { };
fromfilename = { };
ftintitle = { };
fuzzy = { };
gmusic = { };
hook = { };
ihate = { };
importadded = { };
importfeeds = { };
info = { };
inline = { };
ipfs = { };
keyfinder.wrapperBins = [ keyfinder-cli ];
kodiupdate.propagatedBuildInputs = [ python3Packages.requests ];
lastgenre.propagatedBuildInputs = [ python3Packages.pylast ];
lastimport.propagatedBuildInputs = [ python3Packages.pylast ];
loadext.propagatedBuildInputs = [ python3Packages.requests ];
lyrics.propagatedBuildInputs = [ python3Packages.beautifulsoup4 ];
mbcollection = { };
mbsubmit = { };
mbsync = { };
metasync = { };
missing = { };
mpdstats.propagatedBuildInputs = [ python3Packages.mpd2 ];
mpdupdate.propagatedBuildInputs = [ python3Packages.mpd2 ];
parentwork = { };
permissions = { };
play = { };
playlist.propagatedBuildInputs = [ python3Packages.requests ];
plexupdate = { };
random = { };
replaygain.wrapperBins = [ aacgain ffmpeg mp3gain ];
rewrite = { };
scrub = { };
smartplaylist = { };
sonosupdate.propagatedBuildInputs = [ python3Packages.soco ];
spotify = { };
subsonicplaylist.propagatedBuildInputs = [ python3Packages.requests ];
subsonicupdate.propagatedBuildInputs = [ python3Packages.requests ];
the = { };
thumbnails = {
propagatedBuildInputs = with python3Packages; [ pillow pyxdg ];
wrapperBins = [ imagemagick ];
};
types.testPaths = [ "test/test_types_plugin.py" ];
unimported = { };
web.propagatedBuildInputs = [ python3Packages.flask ];
zero = { };
}

@ -0,0 +1,147 @@
{ stdenv
, bashInteractive
, diffPlugins
, glibcLocales
, gobject-introspection
, gst_all_1
, lib
, python3Packages
, runtimeShell
, writeScript
# plugin deps
, aacgain
, essentia-extractor
, ffmpeg
, flac
, imagemagick
, keyfinder-cli
, mp3gain
, mp3val
, src
, version
, pluginOverrides ? { }
, disableAllPlugins ? false
}@inputs:
let
inherit (lib) attrNames attrValues concatMap;
builtinPlugins = import ./builtin-plugins.nix inputs;
mkPlugin = { enable ? !disableAllPlugins, propagatedBuildInputs ? [ ], testPaths ? [ ], wrapperBins ? [ ] }: {
inherit enable propagatedBuildInputs testPaths wrapperBins;
};
allPlugins = lib.mapAttrs (_: mkPlugin) (lib.recursiveUpdate builtinPlugins pluginOverrides);
enabledPlugins = lib.filterAttrs (_: p: p.enable) allPlugins;
disabledPlugins = lib.filterAttrs (_: p: !p.enable) allPlugins;
pluginWrapperBins = concatMap (p: p.wrapperBins) (attrValues enabledPlugins);
in
python3Packages.buildPythonApplication rec {
pname = "beets";
inherit src version;
patches = [
# Bash completion fix for Nix
./patches/bash-completion-always-print.patch
];
propagatedBuildInputs = with python3Packages; [
confuse
gobject-introspection
gst-python
jellyfish
mediafile
munkres
musicbrainzngs
mutagen
pygobject3
pyyaml
reflink
unidecode
] ++ (concatMap (p: p.propagatedBuildInputs) (attrValues enabledPlugins));
buildInputs = [
] ++ (with gst_all_1; [
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
]);
postInstall = ''
mkdir -p $out/share/zsh/site-functions
cp extra/_beet $out/share/zsh/site-functions/
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
tmphome="$(mktemp -d)"
EDITOR="${writeScript "beetconfig.sh" ''
#!${runtimeShell}
cat > "$1" <<CFG
plugins: ${lib.concatStringsSep " " (attrNames enabledPlugins)}
CFG
''}" HOME="$tmphome" "$out/bin/beet" config -e
EDITOR=true HOME="$tmphome" "$out/bin/beet" config -e
runHook postInstallCheck
'';
makeWrapperArgs = [
"--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\""
"--set GST_PLUGIN_SYSTEM_PATH_1_0 \"$GST_PLUGIN_SYSTEM_PATH_1_0\""
"--prefix PATH : ${lib.makeBinPath pluginWrapperBins}"
];
checkInputs = with python3Packages; [
pytest
mock
rarfile
responses
] ++ pluginWrapperBins;
disabledTestPaths = lib.flatten (attrValues (lib.mapAttrs (n: v: v.testPaths ++ [ "test/test_${n}.py" ]) disabledPlugins));
checkPhase = ''
runHook preCheck
# Check for undefined plugins
find beetsplug -mindepth 1 \
\! -path 'beetsplug/__init__.py' -a \
\( -name '*.py' -o -path 'beetsplug/*/__init__.py' \) -print \
| sed -n -re 's|^beetsplug/([^/.]+).*|\1|p' \
| sort -u > plugins_available
${diffPlugins (attrNames allPlugins) "plugins_available"}
export BEETS_TEST_SHELL="${bashInteractive}/bin/bash --norc"
export HOME="$(mktemp -d)"
args=" -m pytest -r fEs"
eval "disabledTestPaths=($disabledTestPaths)"
for path in ''${disabledTestPaths[@]}; do
if [ -e "$path" ]; then
args+=" --ignore \"$path\""
else
echo "Skipping non-existent test path '$path'"
fi
done
python $args
runHook postCheck
'';
meta = with lib; {
description = "Music tagger and library organizer";
homepage = "https://beets.io";
license = licenses.mit;
maintainers = with maintainers; [ aszlig doronbehar lovesegfault pjones ];
platforms = platforms.linux;
};
}

@ -1,34 +0,0 @@
diff --git i/beetsplug/convert.py w/beetsplug/convert.py
index 6bc07c28..039fb452 100644
--- i/beetsplug/convert.py
+++ w/beetsplug/convert.py
@@ -118,22 +118,22 @@ class ConvertPlugin(BeetsPlugin):
'id3v23': 'inherit',
'formats': {
'aac': {
- 'command': 'ffmpeg -i $source -y -vn -acodec aac '
+ 'command': '@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec aac '
'-aq 1 $dest',
'extension': 'm4a',
},
'alac': {
- 'command': 'ffmpeg -i $source -y -vn -acodec alac $dest',
+ 'command': '@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec alac $dest',
'extension': 'm4a',
},
- 'flac': 'ffmpeg -i $source -y -vn -acodec flac $dest',
- 'mp3': 'ffmpeg -i $source -y -vn -aq 2 $dest',
+ 'flac': '@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec flac $dest',
+ 'mp3': '@ffmpeg@/bin/ffmpeg -i $source -y -vn -aq 2 $dest',
'opus':
- 'ffmpeg -i $source -y -vn -acodec libopus -ab 96k $dest',
+ '@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec libopus -ab 96k $dest',
'ogg':
- 'ffmpeg -i $source -y -vn -acodec libvorbis -aq 3 $dest',
+ '@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec libvorbis -aq 3 $dest',
'wma':
- 'ffmpeg -i $source -y -vn -acodec wmav2 -vn $dest',
+ '@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec wmav2 -vn $dest',
},
'max_bitrate': 500,
'auto': False,

@ -1,279 +1,50 @@
{ stdenv
, lib
{ lib
, callPackage
, fetchFromGitHub
, writeScript
, glibcLocales
, diffPlugins
, substituteAll
, pythonPackages
# can be null, if you wish to disable a reference to it. It's needed for the
# artresizer, see:
# https://beets.readthedocs.io/en/v1.6.0/plugins/fetchart.html#image-resizing
, imagemagick
, gobject-introspection
, gst_all_1
, runtimeShell
# external plugins package set
, beetsExternalPlugins
, enableAbsubmit ? lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms, essentia-extractor
, enableAcousticbrainz ? true
, enableAcoustid ? true
, enableAura ? true
, enableBadfiles ? true, flac, mp3val
, enableBeatport ? true
, enableBpsync ? true
, enableConvert ? true, ffmpeg
, enableDeezer ? true
, enableDiscogs ? true
, enableEmbyupdate ? true
, enableFetchart ? true
, enableKeyfinder ? true, keyfinder-cli
, enableKodiupdate ? true
, enableLastfm ? true
, enableLoadext ? true
, enableLyrics ? true
, enableMpd ? true
, enablePlaylist ? true
, enableReplaygain ? true
, enableSonosUpdate ? true
, enableSubsonicplaylist ? true
, enableSubsonicupdate ? true
, enableThumbnails ? true
, enableWeb ? true
# External plugins
, enableAlternatives ? false
, enableCopyArtifacts ? false
, enableExtraFiles ? false
, bashInteractive, bash-completion
}:
assert enableBpsync -> enableBeatport;
let
optionalPlugins = {
absubmit = enableAbsubmit;
acousticbrainz = enableAcousticbrainz;
aura = enableAura;
badfiles = enableBadfiles;
beatport = enableBeatport;
bpsync = enableBpsync;
chroma = enableAcoustid;
convert = enableConvert;
deezer = enableDeezer;
discogs = enableDiscogs;
embyupdate = enableEmbyupdate;
fetchart = enableFetchart;
keyfinder = enableKeyfinder;
kodiupdate = enableKodiupdate;
lastgenre = enableLastfm;
lastimport = enableLastfm;
loadext = enableLoadext;
lyrics = enableLyrics;
mpdstats = enableMpd;
mpdupdate = enableMpd;
playlist = enablePlaylist;
replaygain = enableReplaygain;
sonosupdate = enableSonosUpdate;
subsonicplaylist = enableSubsonicplaylist;
subsonicupdate = enableSubsonicupdate;
thumbnails = enableThumbnails;
web = enableWeb;
/*
** To customize the enabled beets plugins, use the pluginOverrides input to the
** derivation.
** Examples:
**
** Disabling a builtin plugin:
** beets.override { pluginOverrides = { beatport.enable = false; }; }
**
** Enabling an external plugin:
** beets.override { pluginOverrides = {
** alternatives = { enable = true; propagatedBuildInputs = [ beetsPackages.alternatives ]; };
** }; }
*/
lib.makeExtensible (self: {
beets = self.beets-stable;
beets-stable = callPackage ./common.nix rec {
version = "1.6.0";
src = fetchFromGitHub {
owner = "beetbox";
repo = "beets";
rev = "v${version}";
hash = "sha256-fT+rCJJQR7bdfAcmeFRaknmh4ZOP4RCx8MXpq7/D8tM=";
};
};
pluginsWithoutDeps = [
"albumtypes" "bareasc" "bench" "bpd" "bpm" "bucket" "duplicates" "edit" "embedart"
"export" "filefilter" "fish" "freedesktop" "fromfilename" "ftintitle" "fuzzy"
"hook" "ihate" "importadded" "importfeeds" "info" "inline" "ipfs" "gmusic"
"mbcollection" "mbsubmit" "mbsync" "metasync" "missing" "parentwork" "permissions" "play"
"plexupdate" "random" "rewrite" "scrub" "smartplaylist" "spotify" "the"
"types" "unimported" "zero"
];
enabledOptionalPlugins = lib.attrNames (lib.filterAttrs (_: lib.id) optionalPlugins);
allPlugins = pluginsWithoutDeps ++ lib.attrNames optionalPlugins;
allEnabledPlugins = pluginsWithoutDeps ++ enabledOptionalPlugins;
testShell = "${bashInteractive}/bin/bash --norc";
completion = "${bash-completion}/share/bash-completion/bash_completion";
in pythonPackages.buildPythonApplication rec {
pname = "beets";
version = "1.6.0";
src = fetchFromGitHub {
owner = "beetbox";
repo = "beets";
rev = "v${version}";
sha256 = "sha256-fT+rCJJQR7bdfAcmeFRaknmh4ZOP4RCx8MXpq7/D8tM=";
beets-minimal = self.beets.override { disableAllPlugins = true; };
beets-unstable = callPackage ./common.nix {
version = "unstable-2022-05-08";
src = fetchFromGitHub {
owner = "beetbox";
repo = "beets";
rev = "e06cf7969bfdfa4773049699320471be45d56054";
hash = "sha256-yWwxYSzSSmx2UfCn0EBH23hQGZKSRn/c8ryvxLUeHdM=";
};
pluginOverrides = {
# unstable has a new plugin, so we register it here.
limit = { };
};
};
propagatedBuildInputs = [
pythonPackages.six
pythonPackages.enum34
pythonPackages.jellyfish
pythonPackages.munkres
pythonPackages.musicbrainzngs
pythonPackages.mutagen
pythonPackages.pyyaml
pythonPackages.unidecode
pythonPackages.gst-python
pythonPackages.pygobject3
pythonPackages.reflink
pythonPackages.confuse
pythonPackages.mediafile
gobject-introspection
] ++ lib.optional enableAbsubmit essentia-extractor
++ lib.optional enableAcoustid pythonPackages.pyacoustid
++ lib.optional enableBeatport pythonPackages.requests-oauthlib
++ lib.optional enableConvert ffmpeg
++ lib.optional enableDiscogs pythonPackages.discogs-client
++ lib.optional (enableFetchart
|| enableDeezer
|| enableEmbyupdate
|| enableKodiupdate
|| enableLoadext
|| enablePlaylist
|| enableSubsonicplaylist
|| enableSubsonicupdate
|| enableAcousticbrainz) pythonPackages.requests
++ lib.optional enableKeyfinder keyfinder-cli
++ lib.optional enableLastfm pythonPackages.pylast
++ lib.optional enableLyrics pythonPackages.beautifulsoup4
++ lib.optional enableMpd pythonPackages.mpd2
++ lib.optional enableSonosUpdate pythonPackages.soco
++ lib.optional enableThumbnails pythonPackages.pyxdg
++ lib.optional (enableAura
|| enableWeb) pythonPackages.flask
++ lib.optional enableAlternatives beetsExternalPlugins.alternatives
++ lib.optional enableCopyArtifacts beetsExternalPlugins.copyartifacts
++ lib.optional enableExtraFiles beetsExternalPlugins.extrafiles
;
buildInputs = [
] ++ (with gst_all_1; [
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
]);
checkInputs = with pythonPackages; [
beautifulsoup4
mock
nose
rarfile
responses
# Although considered as plugin dependencies, they are needed for the
# tests, for disabling them via an override makes the build fail. see:
# https://github.com/beetbox/beets/blob/v1.6.0/setup.py
pylast
mpd2
discogs-client
pyxdg
];
patches = [
# Bash completion fix for Nix
./bash-completion-always-print.patch
]
# Fix path to imagemagick, used for the artresizer.py file. This reference
# to imagemagick might be expensive for some people, so the patch can be
# disabled if imagemagick is set to null
++ lib.optional (imagemagick != null) (substituteAll {
src = ./imagemagick-nix-path.patch;
inherit imagemagick;
})
# We need to force ffmpeg as the default, since we do not package
# bs1770gain, and set the absolute path there, to avoid impurities.
++ lib.optional enableReplaygain (substituteAll {
src = ./replaygain-default-ffmpeg.patch;
ffmpeg = lib.getBin ffmpeg;
})
# Put absolute Nix paths in place
++ lib.optional enableConvert (substituteAll {
src = ./convert-plugin-ffmpeg-path.patch;
ffmpeg = lib.getBin ffmpeg;
})
++ lib.optional enableBadfiles (substituteAll {
src = ./badfiles-plugin-nix-paths.patch;
inherit mp3val flac;
})
;
# Disable failing tests
postPatch = ''
echo echo completion tests passed > test/rsrc/test_completion.sh
# https://github.com/beetbox/beets/issues/1187
sed -i -e 's/len(mf.images)/0/' test/test_zero.py
'';
postInstall = ''
mkdir -p $out/share/zsh/site-functions
cp extra/_beet $out/share/zsh/site-functions/
'';
doCheck = true;
preCheck = ''
find beetsplug -mindepth 1 \
\! -path 'beetsplug/__init__.py' -a \
\( -name '*.py' -o -path 'beetsplug/*/__init__.py' \) -print \
| sed -n -re 's|^beetsplug/([^/.]+).*|\1|p' \
| sort -u > plugins_available
${diffPlugins allPlugins "plugins_available"}
'';
checkPhase = ''
runHook preCheck
LANG=en_US.UTF-8 \
LOCALE_ARCHIVE=${assert stdenv.isLinux; glibcLocales}/lib/locale/locale-archive \
BEETS_TEST_SHELL="${testShell}" \
BASH_COMPLETION_SCRIPT="${completion}" \
HOME="$(mktemp -d)" nosetests -v
runHook postCheck
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
tmphome="$(mktemp -d)"
EDITOR="${writeScript "beetconfig.sh" ''
#!${runtimeShell}
cat > "$1" <<CFG
plugins: ${lib.concatStringsSep " " allEnabledPlugins}
CFG
''}" HOME="$tmphome" "$out/bin/beet" config -e
EDITOR=true HOME="$tmphome" "$out/bin/beet" config -e
runHook postInstallCheck
'';
makeWrapperArgs = [
"--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\""
"--set GST_PLUGIN_SYSTEM_PATH_1_0 \"$GST_PLUGIN_SYSTEM_PATH_1_0\""
];
passthru = {
# FIXME: remove in favor of pkgs.beetsExternalPlugins
externalPlugins = beetsExternalPlugins;
};
meta = with lib; {
description = "Music tagger and library organizer";
homepage = "https://beets.io";
license = licenses.mit;
maintainers = with maintainers; [ aszlig doronbehar lovesegfault pjones ];
platforms = platforms.linux;
};
}
alternatives = callPackage ./plugins/alternatives.nix { beets = self.beets-minimal; };
copyartifacts = callPackage ./plugins/copyartifacts.nix { beets = self.beets-minimal; };
extrafiles = callPackage ./plugins/extrafiles.nix { beets = self.beets-minimal; };
})

@ -1,20 +0,0 @@
diff --git i/beets/util/artresizer.py w/beets/util/artresizer.py
index 8683e228..2f38b4d6 100644
--- i/beets/util/artresizer.py
+++ w/beets/util/artresizer.py
@@ -334,13 +334,8 @@ class ArtResizer(metaclass=Shareable):
# not, fall back to the older, separate convert and identify
# commands.
if self.method[0] == IMAGEMAGICK:
- self.im_legacy = self.method[2]
- if self.im_legacy:
- self.im_convert_cmd = ['convert']
- self.im_identify_cmd = ['identify']
- else:
- self.im_convert_cmd = ['magick']
- self.im_identify_cmd = ['magick', 'identify']
+ self.im_convert_cmd = ['@imagemagick@/bin/magick']
+ self.im_identify_cmd = ['@imagemagick@/bin/magick', 'identify']
def resize(
self, maxwidth, path_in, path_out=None, quality=0, max_filesize=0

@ -1,6 +1,6 @@
{ lib, fetchFromGitHub, beets, pythonPackages }:
{ lib, fetchFromGitHub, beets, python3Packages }:
pythonPackages.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "beets-alternatives";
version = "unstable-2021-02-01";
@ -18,7 +18,7 @@ pythonPackages.buildPythonApplication rec {
nativeBuildInputs = [ beets ];
checkInputs = with pythonPackages; [
checkInputs = with python3Packages; [
pytestCheckHook
mock
];

@ -1,6 +1,6 @@
{ lib, fetchFromGitHub, beets, pythonPackages, glibcLocales }:
{ lib, fetchFromGitHub, beets, python3Packages }:
pythonPackages.buildPythonApplication {
python3Packages.buildPythonApplication {
pname = "beets-copyartifacts";
version = "unstable-2020-02-15";
@ -15,20 +15,20 @@ pythonPackages.buildPythonApplication {
sed -i -e '/install_requires/,/\]/{/beets/d}' setup.py
sed -i -e '/namespace_packages/d' setup.py
printf 'from pkgutil import extend_path\n__path__ = extend_path(__path__, __name__)\n' >beetsplug/__init__.py
# Skip test which is already failing upstream.
sed -i -e '1i import unittest' \
-e 's/\(^ *\)# failing/\1@unittest.skip/' \
tests/test_reimport.py
'';
nativeBuildInputs = [ beets pythonPackages.nose glibcLocales ];
pytestFlagsArray = [ "-r fEs" ];
checkPhase = "LANG=en_US.UTF-8 nosetests";
checkInputs = with python3Packages; [
pytestCheckHook
beets
six
];
meta = {
description = "Beets plugin to move non-music files during the import process";
homepage = "https://github.com/sbarakat/beets-copyartifacts";
license = lib.licenses.mit;
inherit (beets.meta) platforms;
};
}

@ -1,6 +1,6 @@
{ lib, fetchFromGitHub, beets, pythonPackages }:
{ lib, fetchFromGitHub, beets, python3Packages }:
pythonPackages.buildPythonApplication rec {
python3Packages.buildPythonApplication {
pname = "beets-extrafiles";
version = "unstable-2020-12-13";
@ -17,17 +17,21 @@ pythonPackages.buildPythonApplication rec {
sed -i -e 's/mediafile~=0.6.0/mediafile>=0.6.0/' setup.py
'';
nativeBuildInputs = [ beets ];
propagatedBuildInputs = with python3Packages; [ mediafile ];
propagatedBuildInputs = with pythonPackages; [ mediafile ];
checkInputs = [
python3Packages.pytestCheckHook
beets
];
preCheck = ''
HOME=$TEMPDIR
HOME="$(mktemp -d)"
'';
meta = {
homepage = "https://github.com/Holzhaus/beets-extrafiles";
description = "A plugin for beets that copies additional files and directories during the import process";
license = lib.licenses.mit;
inherit (beets.meta) platforms;
};
}

@ -1,26 +0,0 @@
diff --git i/beetsplug/replaygain.py w/beetsplug/replaygain.py
index b6297d93..5c1cbbc0 100644
--- i/beetsplug/replaygain.py
+++ w/beetsplug/replaygain.py
@@ -139,7 +139,7 @@ class FfmpegBackend(Backend):
def __init__(self, config, log):
super().__init__(config, log)
- self._ffmpeg_path = "ffmpeg"
+ self._ffmpeg_path = "@ffmpeg@/bin/ffmpeg"
# check that ffmpeg is installed
try:
@@ -975,11 +975,10 @@ class ReplayGainPlugin(BeetsPlugin):
def __init__(self):
super().__init__()
- # default backend is 'command' for backward-compatibility.
self.config.add({
'overwrite': False,
'auto': True,
- 'backend': 'command',
+ 'backend': 'ffmpeg',
'threads': cpu_count(),
'parallel_on_import': False,
'per_disc': False,

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "httm";
version = "0.9.0";
version = "0.10.9";
src = fetchFromGitHub {
owner = "kimono-koans";
repo = pname;
rev = version;
sha256 = "sha256-uqzwS7+OQsPdMv3+fWdn3yVFJwtFZNd8kVWw//mQZj8=";
sha256 = "L8yqf+QadN+uZxBjT3RWG7L3QqIerNrNc1u9PP1pt1I=";
};
cargoSha256 = "sha256-EC3E5NawsDe+CU5WEu0G3FWVLuqW5nXOoUURN0iDPK0=";
cargoSha256 = "UxqgJBgKD7hGT0UjAVYqb+sjbZ1sYVVOQSDvRQROOso=";
nativeBuildInputs = [ installShellFiles ];

@ -6,17 +6,17 @@
buildGoModule rec {
pname = "opentelemetry-collector-contrib";
version = "0.47.0";
version = "0.51.0";
src = fetchFromGitHub {
owner = "open-telemetry";
repo = "opentelemetry-collector-contrib";
rev = "v${version}";
sha256 = "sha256-IbpQd01uU6/Ihli+gVDjTB8T8cj//XHoZYcDjXD635Q=";
sha256 = "sha256-lMTOJFGuJhdXOvCk70Bee97Vb0HBCDnOLeK2q7S4hW8=";
};
# proxy vendor to avoid hash missmatches between linux and macOS
proxyVendor = true;
vendorSha256 = "sha256-1svBCXfutjXfXfVqVHUTAt9T1ON/qbiS+VCt5kP/YIc=";
vendorSha256 = "sha256-CzFcSvJCMfS83Semk92XUd9iSX6OjOrDzRUNNLVtpi4=";
subPackages = [ "cmd/otelcontribcol" ];

@ -12,17 +12,17 @@ let
in
buildGoModule rec {
pname = "opentelemetry-collector";
version = "0.47.0";
version = "0.51.0";
src = fetchFromGitHub {
owner = "open-telemetry";
repo = "opentelemetry-collector";
rev = "v${version}";
sha256 = "sha256-1dMdQWV+gxbMc/2iVsB1LCsYxR0bt5AJEvoFq2/KHCg=";
sha256 = "sha256-XCOyvFWvgGxjuOdyFk4Rh+HO8GBdRfWcR73h+7lF+8E=";
};
# there is a nested go.mod
sourceRoot = "source/cmd/otelcorecol";
vendorSha256 = "sha256-ps6fUVg7vhGgy47WTJv/U1qHQ2MGXIWXNZ5Rddo1yQY=";
vendorSha256 = "sha256-BAcJpiO6jFKcjtbBA9LDad1ifDpb47nWOylH8dDBUN0=";
preBuild = ''
# set the build version, can't be done via ldflags

@ -112,6 +112,7 @@ mapAliases ({
bazel_0_29 = throw "bazel 0.29 is past end of life as it is not an lts version"; # Added 2022-05-09
bazel_1 = throw "bazel 1 is past end of life as it is not an lts version"; # Added 2022-05-09
bcat = throw "bcat has been removed because upstream is dead"; # Added 2021-08-22
beetsExternalPlugins = throw "beetsExternalPlugins has been deprecated, use beetsPackages.$pluginname"; # Added 2022-05-07
beret = throw "beret has been removed"; # Added 2021-11-16
bin_replace_string = throw "bin_replace_string has been removed: deleted by upstream"; # Added 2022-01-07
bird2 = bird; # Added 2022-02-21
@ -871,6 +872,7 @@ mapAliases ({
navit = throw "navit has been removed from nixpkgs, due to being unmaintained"; # Added 2021-06-07
ncat = throw "'ncat' has been renamed to/replaced by 'nmap'"; # Converted to throw 2022-02-22
neap = throw "neap was removed from nixpkgs, as it relies on python2"; # Added 2022-01-12
neochat = libsForQt5.plasmaMobileGear.neochat; # added 2022-05-10
netease-cloud-music = throw "netease-cloud-music has been removed together with deepin"; # Added 2020-08-31
networkmanager_fortisslvpn = throw "'networkmanager_fortisslvpn' has been renamed to/replaced by 'networkmanager-fortisslvpn'"; # Converted to throw 2022-02-22
networkmanager_iodine = throw "'networkmanager_iodine' has been renamed to/replaced by 'networkmanager-iodine'"; # Converted to throw 2022-02-22

@ -4409,28 +4409,8 @@ with pkgs;
bee-clef = callPackage ../applications/networking/bee/bee-clef.nix { };
beets = callPackage ../tools/audio/beets {
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;
copyartifacts = callPackage ../tools/audio/beets/plugins/copyartifacts.nix pluginArgs;
extrafiles = callPackage ../tools/audio/beets/plugins/extrafiles.nix pluginArgs;
};
beetsPackages = lib.recurseIntoAttrs (callPackage ../tools/audio/beets { });
inherit (beetsPackages) beets beets-unstable;
bento4 = callPackage ../tools/video/bento4 { };
@ -8524,8 +8504,6 @@ with pkgs;
neo-cowsay = callPackage ../tools/misc/neo-cowsay { };
neochat = libsForQt5.callPackage ../applications/networking/instant-messengers/neochat { };
neofetch = callPackage ../tools/misc/neofetch { };
nerdfonts = callPackage ../data/fonts/nerdfonts { };
@ -16580,10 +16558,7 @@ with pkgs;
arrayfire = callPackage ../development/libraries/arrayfire {};
arrow-cpp = callPackage ../development/libraries/arrow-cpp ({
} // lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
stdenv = overrideCC stdenv buildPackages.gcc6; # hidden symbol `__divmoddi4'
});
arrow-cpp = callPackage ../development/libraries/arrow-cpp {};
arsenal = callPackage ../tools/security/arsenal { };

@ -203,6 +203,8 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea
inherit (pkgs.darwin.apple_sdk.frameworks) CoreFoundation Security;
};
qtmpris = callPackage ../development/libraries/qtmpris { };
qtpbfimageplugin = callPackage ../development/libraries/qtpbfimageplugin { };
qtstyleplugins = callPackage ../development/libraries/qtstyleplugins { };

Loading…
Cancel
Save