Merge master into staging-next
This commit is contained in:
@@ -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"; })
|
||||
];
|
||||
}
|
||||
+3
-1
@@ -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, '*', '_'), '<', '_'), '>', '_'), ':', '_'))" />
|
||||
<xsl:variable name="id" select="
|
||||
concat('opt-',
|
||||
translate(
|
||||
attr[@name = 'name']/string/@value,
|
||||
'*< >[]:',
|
||||
'_______'
|
||||
))" />
|
||||
<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
-11
@@ -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/21.08/kweather-21.08.tar.xz";
|
||||
sha256 = "0b1zjwsakwsnh6827zjhypvb04c78gwwygr7k1cy2x3finrp5if5";
|
||||
name = "kweather-21.08.tar.xz";
|
||||
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/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/21.08/tokodon-21.08.tar.xz";
|
||||
sha256 = "0j9zfcdss1872hv8xxrmy0jjmcz3y5kdz8gdrd6qmig5scrzjvnf";
|
||||
name = "tokodon-21.08.tar.xz";
|
||||
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/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; [
|
||||
|
||||
+50
@@ -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
|
||||
}:
|
||||
/*
|
||||
** 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;
|
||||
|
||||
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;
|
||||
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"
|
||||
];
|
||||
beets-minimal = self.beets.override { disableAllPlugins = true; };
|
||||
|
||||
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-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 { };
|
||||
|
||||
Reference in New Issue
Block a user