Merge staging-next into staging

Changed files
+214 -130
lib
maintainers
nixos
modules
services
audio
pkgs
applications
audio
flac2all
misc
keepass
networking
browsers
cluster
terraform
development
compilers
picat
interpreters
trealla
libraries
libpgf
games
simutrans
os-specific
linux
kernel-headers
servers
filtron
nosql
ferretdb
tailscale
tools
graphics
system
text
epubcheck
mawk
virtualization
cloud-init
top-level
+5 -2
lib/options.nix
···
inherit (lib.types)
mkOptionType
;
+
prioritySuggestion = ''
+
Use `lib.mkForce value` or `lib.mkDefault value` to change the priority on any of these definitions.
+
'';
in
rec {
···
if length defs == 1
then (head defs).value
else assert length defs > 1;
-
throw "The option `${showOption loc}' is defined multiple times.\n${message}\nDefinition values:${showDefs defs}";
+
throw "The option `${showOption loc}' is defined multiple times while it's expected to be unique.\n${message}\nDefinition values:${showDefs defs}\n${prioritySuggestion}";
/* "Merge" option definitions by checking that they all have the same value. */
mergeEqualOption = loc: defs:
···
else if length defs == 1 then (head defs).value
else (foldl' (first: def:
if def.value != first.value then
-
throw "The option `${showOption loc}' has conflicting definition values:${showDefs [ first def ]}"
+
throw "The option `${showOption loc}' has conflicting definition values:${showDefs [ first def ]}\n${prioritySuggestion}"
else
first) (head defs) (tail defs)).value;
+6
maintainers/maintainer-list.nix
···
githubId = 139251;
name = "Tom Hunger";
+
tehmatt = {
+
name = "tehmatt";
+
email = "nix@programsareproofs.com";
+
github = "tehmatt";
+
githubId = 3358866;
+
};
tejasag = {
name = "Tejas Agarwal";
email = "tejasagarwalbly@gmail.com";
+39 -1
nixos/modules/services/audio/ympd.nix
···
systemd.services.ympd = {
description = "Standalone MPD Web GUI written in C";
+
wantedBy = [ "multi-user.target" ];
-
serviceConfig.ExecStart = "${pkgs.ympd}/bin/ympd --host ${cfg.mpd.host} --port ${toString cfg.mpd.port} --webport ${toString cfg.webPort} --user nobody";
+
after = [ "network-online.target" ];
+
+
serviceConfig = {
+
ExecStart = ''
+
${pkgs.ympd}/bin/ympd \
+
--host ${cfg.mpd.host} \
+
--port ${toString cfg.mpd.port} \
+
--webport ${toString cfg.webPort}
+
'';
+
+
DynamicUser = true;
+
NoNewPrivileges = true;
+
+
ProtectProc = "invisible";
+
ProtectSystem = "strict";
+
ProtectHome = "tmpfs";
+
+
PrivateTmp = true;
+
PrivateDevices = true;
+
PrivateIPC = true;
+
+
ProtectHostname = true;
+
ProtectClock = true;
+
ProtectKernelTunables = true;
+
ProtectKernelModules = true;
+
ProtectKernelLogs = true;
+
ProtectControlGroups = true;
+
+
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+
RestrictRealtime = true;
+
RestrictSUIDSGID = true;
+
+
SystemCallFilter = [
+
"@system-service"
+
"~@process"
+
"~@setuid"
+
];
+
};
};
};
+45
pkgs/applications/audio/flac2all/default.nix
···
+
{ python3Packages, lib, flac, lame, opusTools, vorbis-tools, ffmpeg }:
+
+
python3Packages.buildPythonApplication rec {
+
pname = "flac2all";
+
version = "5.1";
+
+
src = python3Packages.fetchPypi {
+
inherit pname version;
+
sha256 = "OBjlr7cbSx2WOIfZUNwHy5Hpb2Fmh3vmZdc70JiWsiI=";
+
};
+
+
# Not sure why this is needed, but setup.py expects this to be set
+
postPatch = ''
+
echo ${version} > ./flac2all_pkg/version
+
'';
+
+
propagatedBuildInputs = [
+
python3Packages.pyzmq
+
];
+
+
postInstall = ''
+
wrapProgram $out/bin/flac2all \
+
--set PATH ${lib.makeBinPath [
+
# Hard requirements
+
flac
+
lame
+
# Optional deps depending on encoding types
+
opusTools
+
vorbis-tools
+
ffmpeg
+
]}
+
'';
+
+
# Has no standard tests, so we verify a few imports instead.
+
doCheck = false;
+
pythonImportsCheck = [ "flac2all_pkg.vorbis" "flac2all_pkg.mp3" ];
+
+
meta = with lib; {
+
description = "Multi process, clustered, FLAC to multi codec audio converter with tagging support";
+
homepage = "https://github.com/ZivaVatra/flac2all";
+
license = licenses.gpl3;
+
# TODO: This has only been tested on Linux, but may work on Mac too.
+
platforms = platforms.linux;
+
};
+
}
+2 -2
pkgs/applications/misc/keepass/default.nix
···
inherit (builtins) add length readFile replaceStrings unsafeDiscardStringContext toString map;
in buildDotnetPackage rec {
pname = "keepass";
-
version = "2.53";
+
version = "2.53.1";
src = fetchurl {
url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip";
-
hash = "sha256-wpXbLH9VyjJyb+KuQ8xmbik1jq+xqAFRxsxAuLM5MI0=";
+
hash = "sha256-R7KWxlxrhl55nOaDNYwA/cJJl+kd5ZYy6eZVqyrxxnM=";
};
sourceRoot = ".";
+2 -11
pkgs/applications/networking/browsers/chromium/common.nix
···
libdrm wayland mesa.drivers libxkbcommon
curl
libepoxy
+
libffi
] ++ lib.optional systemdSupport systemd
++ lib.optionals cupsSupport [ libgcrypt cups ]
-
++ lib.optional pulseSupport libpulseaudio
-
++ lib.optional (chromiumVersionAtLeast "110") libffi;
+
++ lib.optional pulseSupport libpulseaudio;
patches = [
# Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed):
···
chrome_pgo_phase = 0;
clang_base_path = "${llvmPackages.clang}";
use_qt = false;
-
} // lib.optionalAttrs (!chromiumVersionAtLeast "110") {
-
# The default has changed to false. We'll build with libwayland from
-
# Nixpkgs for now but might want to eventually use the bundled libwayland
-
# as well to avoid incompatibilities (if this continues to be a problem
-
# from time to time):
-
use_system_libwayland = true;
-
# The default value is hardcoded instead of using pkg-config:
-
system_wayland_scanner_path = "${wayland.bin}/bin/wayland-scanner";
-
} // lib.optionalAttrs (chromiumVersionAtLeast "110") {
# To fix the build as we don't provide libffi_pic.a
# (ld.lld: error: unable to find library -l:libffi_pic.a):
use_system_libffi = true;
+7 -7
pkgs/applications/networking/browsers/chromium/upstream-info.json
···
}
},
"ungoogled-chromium": {
-
"version": "109.0.5414.120",
-
"sha256": "1yvfd0a7zfz4x00f83irrs6hy15wn85mrbbm7mk5wy4gjwg5zyrj",
+
"version": "110.0.5481.78",
+
"sha256": "1m67xfdgggaan09xsbppna209b8sm882xq587i0hsnnnzb3fdxdj",
"sha256bin64": null,
"deps": {
"gn": {
-
"version": "2022-11-10",
+
"version": "2022-12-12",
"url": "https://gn.googlesource.com/gn",
-
"rev": "1c4151ff5c1d6fbf7fa800b8d4bb34d3abc03a41",
-
"sha256": "02621c9nqpr4pwcapy31x36l5kbyd0vdgd0wdaxj5p8hrxk67d6b"
+
"rev": "5e19d2fb166fbd4f6f32147fbb2f497091a54ad8",
+
"sha256": "1b5fwldfmkkbpp5x63n1dxv0nc965hphc8rm8ah7zg44zscm9z30"
},
"ungoogled-patches": {
-
"rev": "109.0.5414.120-1",
-
"sha256": "0hq48lsjl7da8rdq129mc7cd0z5ykqbaf1sbhhs1d10dzm5zs4p3"
+
"rev": "110.0.5481.78-1",
+
"sha256": "1ffb2wf1bdmzlxk4ih8qq439jzqz17f8nchvx7na52y48am1qr3c"
}
}
}
+3 -3
pkgs/applications/networking/cluster/terraform/default.nix
···
mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform {
-
version = "1.3.7";
-
sha256 = "sha256-z49DXJ9oYObJQWHPeuKvQ6jJtAheYuy0+QmvZ74ZbTQ";
-
vendorSha256 = "sha256-fviukVGBkbxFs2fJpEp/tFMymXex7NRQdcGIIA9W88k=";
+
version = "1.3.8";
+
sha256 = "sha256-AXLk5s3qu3QZ1aXx/FwPNq3hM26skBj0wyn/x8nVMkE=";
+
vendorSha256 = "sha256-CE6jNBvM0980+R0e5brK5lMrkad+91qTt9mp2h3NZyY=";
patches = [ ./provider-path-0_15.patch ];
passthru = {
inherit plugins;
+3 -3
pkgs/development/compilers/picat/default.nix
···
in
stdenv.mkDerivation {
pname = "picat";
-
version = "3.0p4";
+
version = "3.3p3";
src = fetchurl {
-
url = "http://picat-lang.org/download/picat30_4_src.tar.gz";
-
sha256 = "1rwin44m7ni2h2v51sh2r8gj2k6wm6f86zgaylrria9jr57inpqj";
+
url = "http://picat-lang.org/download/picat333_src.tar.gz";
+
hash = "sha256-LMmAHCGKgon/wNbrXTUH9hiHyGVwwSDpB1236xawzXs=";
};
buildInputs = [ zlib ];
+4 -3
pkgs/development/interpreters/trealla/default.nix
···
-
{ lib, stdenv, fetchFromGitHub, readline, openssl, libffi, withThread ? true, withSSL ? true, xxd }:
+
{ lib, stdenv, fetchFromGitHub, readline, openssl, libffi, valgrind, withThread ? true, withSSL ? true, xxd }:
stdenv.mkDerivation rec {
pname = "trealla";
-
version = "2.2.6";
+
version = "2.8.4";
src = fetchFromGitHub {
owner = "trealla-prolog";
repo = "trealla";
rev = "v${version}";
-
sha256 = "sha256-DxlexijQPcNxlPjo/oIvsN//8nZ0injXFHc2t3n4yjg=";
+
sha256 = "sha256-/jB4jlYotvdU068+zj9Z+G0g75sI9dTmtgN874i0qAE=";
};
postPatch = ''
···
nativeBuildInputs = [ xxd ];
buildInputs = [ readline openssl libffi ];
+
checkInputs = [ valgrind ];
enableParallelBuilding = true;
installPhase = ''
+15 -7
pkgs/development/libraries/libpgf/default.nix
···
-
{ lib, stdenv, fetchzip, autoreconfHook }:
+
{ lib
+
, stdenv
+
, fetchzip
+
, autoreconfHook
+
, dos2unix
+
}:
stdenv.mkDerivation rec {
pname = "libpgf";
-
version = "7.21.2";
+
version = "7.21.7";
src = fetchzip {
url = "mirror://sourceforge/${pname}/${pname}/${version}/${pname}.zip";
-
sha256 = "0l1j5b1d02jn27miggihlppx656i0pc70cn6x89j1rpj33zn0g9r";
+
hash = "sha256-TAWIuikijfyeTRetZWoMMdB/FeGAR7ZjNssVxUevlVg=";
};
-
nativeBuildInputs = [ autoreconfHook ];
-
-
autoreconfPhase = ''
+
postPatch = ''
+
find . -type f | xargs dos2unix
mv README.txt README
-
sh autogen.sh
'';
+
+
nativeBuildInputs = [
+
autoreconfHook
+
dos2unix
+
];
meta = {
homepage = "https://www.libpgf.org/";
+1 -1
pkgs/games/simutrans/default.nix
···
homepage = "http://www.simutrans.com/";
license = with licenses; [ artistic1 gpl1Plus ];
-
maintainers = with maintainers; [ phile314 ];
+
maintainers = with maintainers; [ ];
platforms = with platforms; linux; # TODO: ++ darwin;
};
};
+2 -5
pkgs/os-specific/linux/kernel-headers/default.nix
···
{ stdenvNoCC, lib, buildPackages, fetchurl, perl, elf-header
-
, bison ? null, flex ? null, python ? null, rsync ? null
+
, bison, flex, rsync
, writeTextFile
}:
-
-
assert stdenvNoCC.hostPlatform.isAndroid ->
-
(flex != null && bison != null && python != null && rsync != null);
let
···
nativeBuildInputs = [
perl elf-header
] ++ lib.optionals stdenvNoCC.hostPlatform.isAndroid [
-
flex bison python rsync
+
bison flex rsync
] ++ lib.optionals (stdenvNoCC.buildPlatform.isDarwin &&
stdenvNoCC.hostPlatform.isMips) [
darwin-endian-h
+18 -8
pkgs/servers/filtron/default.nix
···
-
{ lib, buildGoPackage, fetchFromGitHub }:
+
{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
-
buildGoPackage rec {
+
buildGoModule rec {
pname = "filtron";
version = "0.2.0";
-
goPackagePath = "github.com/asciimoo/filtron";
-
src = fetchFromGitHub {
owner = "asciimoo";
repo = "filtron";
rev = "v${version}";
-
sha256 = "18d3h0i2sfqbc0bjx26jm2n9f37zwp8z9z4wd17sw7nvkfa72a26";
+
hash = "sha256-RihxlJvbHq5PaJz89NHl/wyXrKjSiC4XYAs7LSKAo6E=";
};
-
goDeps = ./deps.nix;
+
vendorHash = "sha256-1DRR16WiBGvhOpq12L5njJJRRCIA7ajs1Py9j/3cWPE=";
-
# The upstream test checks are obsolete/unmaintained.
-
doCheck = false;
+
patches = [
+
# Update golang version in go.mod
+
(fetchpatch {
+
url = "https://github.com/asciimoo/filtron/commit/365a0131074b3b12aaa65194bfb542182a63413c.patch";
+
hash = "sha256-QGR6YetEzA/b6tC4uD94LBkWv0+9PG7RD72Tpkn2gQU=";
+
})
+
# Add missing go.sum file
+
(fetchpatch {
+
url = "https://github.com/asciimoo/filtron/commit/077769282b4e392e96a194c8ae71ff9f693560ea.patch";
+
hash = "sha256-BhHbXDKiRjSzC6NKhKUiH6rjt/EgJcEprHMMJ1x/wiQ=";
+
})
+
];
+
+
ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "Reverse HTTP proxy to filter requests by different rules.";
-41
pkgs/servers/filtron/deps.nix
···
-
[
-
{
-
goPackagePath = "github.com/valyala/fasthttp";
-
fetch = {
-
type = "git";
-
url = "https://github.com/valyala/fasthttp";
-
rev = "v1.41.0";
-
sha256 = "sha256-lV9FP7GjnQk/kJACE9l5CZ/8kzORdNpYS5lPokEYrZM=";
-
};
-
}
-
-
{
-
goPackagePath = "github.com/klauspost/compress";
-
fetch = {
-
type = "git";
-
url = "https://github.com/klauspost/compress";
-
rev = "v1.15.12";
-
sha256 = "sha256-D41sCSbaqX9tXIRcTU9TYyjPyZpuKLDeQMXETE2ulbM=";
-
};
-
}
-
-
{
-
goPackagePath = "github.com/valyala/bytebufferpool";
-
fetch = {
-
type = "git";
-
url = "https://github.com/valyala/bytebufferpool";
-
rev = "v1.0.0";
-
sha256 = "sha256-I9FPZ3kCNRB+o0dpMwBnwZ35Fj9+ThvITn8a3Jr8mAY=";
-
};
-
}
-
-
{
-
goPackagePath = "github.com/andybalholm/brotli";
-
fetch = {
-
type = "git";
-
url = "https://github.com/andybalholm/brotli";
-
rev = "v1.0.4";
-
sha256 = "sha256-gAnPRdGP4yna4hiRIEDyBtDOVJqd7RU27wlPu96Rdf8=";
-
};
-
}
-
]
+9 -6
pkgs/servers/nosql/ferretdb/default.nix
···
buildGoModule rec {
pname = "ferretdb";
-
version = "0.7.1";
+
version = "0.9.0";
src = fetchFromGitHub {
owner = "FerretDB";
repo = "FerretDB";
rev = "v${version}";
-
sha256 = "sha256-i3XCYVJfZ2sF4XGOxaBZqBOw7nRdzcGKhNNdqQMccPU=";
+
sha256 = "sha256-+tmClWkW3uhBXuQzuSMJnzeA1rrkpLV0QLCzcKhbThw=";
};
postPatch = ''
-
echo ${version} > internal/util/version/gen/version.txt
+
echo v${version} > build/version/version.txt
+
echo nixpkgs > build/version/package.txt
'';
-
vendorSha256 = "sha256-qyAc5EVg8QPTnXQjqJGpT3waDrfn8iXz+O1iESCzCIc=";
+
vendorSha256 = "sha256-43FxDRcif8FDHyXdNL/FJEt5ZnCQ8r7d5Red3l9442Q=";
CGO_ENABLED = 0;
subPackages = [ "cmd/ferretdb" ];
+
tags = [ "ferretdb_tigris" ];
+
meta = with lib; {
description = "A truly Open Source MongoDB alternative";
-
homepage = "https://github.com/FerretDB/FerretDB";
+
homepage = "https://www.ferretdb.io/";
license = licenses.asl20;
-
maintainers = with maintainers; [ dit7ya ];
+
maintainers = with maintainers; [ dit7ya noisersup ];
};
}
+3 -3
pkgs/servers/tailscale/default.nix
···
buildGoModule rec {
pname = "tailscale";
-
version = "1.36.0";
+
version = "1.36.1";
src = fetchFromGitHub {
owner = "tailscale";
repo = "tailscale";
rev = "v${version}";
-
sha256 = "sha256-hNyEABs/GdfOx6vLTVBgbOzkbFvEDYZ0y1y0a0mIsfA=";
+
sha256 = "sha256-xTfMq8n9Io99qg/cc7SAWelcxXaWr21IQhsICeDCDNU=";
};
-
vendorSha256 = "sha256-Jy3kjUA8qLhcw9XLw4Xo1zhD+IWZrDNM79TsbnKpx/g=";
+
vendorSha256 = "sha256-xdZlwv/2knOE7xaGeNHYNdztflhLLmirGzPOJpDvk3s=";
nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ];
+25 -14
pkgs/tools/graphics/pgf/default.nix
···
-
{ lib, stdenv, fetchurl, autoconf, automake, libtool, dos2unix, libpgf, freeimage, doxygen }:
+
{ lib
+
, stdenv
+
, fetchzip
+
, autoreconfHook
+
, dos2unix
+
, doxygen
+
, freeimage
+
, libpgf
+
}:
stdenv.mkDerivation rec {
pname = "pgf";
-
version = "6.14.12";
+
version = "7.21.7";
-
src = fetchurl {
-
url = "mirror://sourceforge/libpgf/pgf-console-src-${version}.tar.gz";
-
sha256 = "1vfm12cfq3an3xg0679bcwdmjq2x1bbij1iwsmm60hwmrm3zvab0";
+
src = fetchzip {
+
url = "mirror://sourceforge/libpgf/libpgf/${version}/pgf-console.zip";
+
hash = "sha256-W9eXYhbynLtvZQsn724Uw0SZ5TuyK2MwREwYKGFhJj0=";
};
-
nativeBuildInputs = [ autoconf automake ];
-
buildInputs = [ libtool dos2unix libpgf freeimage doxygen ];
-
-
patchPhase = ''
-
sed 1i'#include <inttypes.h>' -i src/PGF.cpp
-
sed s/__int64/int64_t/g -i src/PGF.cpp
-
rm include/FreeImage.h include/FreeImagePlus.h
+
postPatch = ''
+
find . -type f | xargs dos2unix
+
mv README.txt README
'';
-
preConfigure = "dos2unix configure.ac; sh autogen.sh";
+
nativeBuildInputs = [
+
autoreconfHook
+
dos2unix
+
doxygen
+
];
-
# configureFlags = optional static "--enable-static --disable-shared";
+
buildInputs = [
+
freeimage
+
libpgf
+
];
meta = {
homepage = "https://www.libpgf.org/";
+5 -6
pkgs/tools/system/netdata/go.d.plugin.nix
···
-
{ lib, fetchFromGitHub, buildGoModule }:
-
-
buildGoModule rec {
+
{ lib, fetchFromGitHub, buildGo119Module }:
+
buildGo119Module rec {
pname = "netdata-go.d.plugin";
-
version = "0.32.3";
+
version = "0.50.0";
src = fetchFromGitHub {
owner = "netdata";
repo = "go.d.plugin";
rev = "v${version}";
-
sha256 = "sha256-SayFqr6n6OLLUXseYiR8iBIf2xeDEHXHD0qBrgHY6+o=";
+
sha256 = "5kDc6zszVuFTDkNMuHBRwrfDnH+AdD6ULzmywtvL8iA=";
};
-
vendorSha256 = "sha256-tIuHWfAjvr5s2nJSnhnMZIjyy77BbobwgQoDOy4gdGI=";
+
vendorSha256 = "sha256-Wv6xqzpQxlZCrVnS+g9t1qiYCkm3NfXfW8XDYA9Txxs=";
doCheck = false;
+13 -2
pkgs/tools/system/rex/default.nix
···
-
{ pkgs, lib, fetchurl, perlPackages, rsync, ... }:
+
{ pkgs, lib, fetchurl, perlPackages, rsync, installShellFiles, ... }:
perlPackages.buildPerlPackage rec {
pname = "Rex";
···
rsync
];
-
nativeBuildInputs = with perlPackages; [ ParallelForkManager ];
+
nativeBuildInputs = with perlPackages; [ installShellFiles ParallelForkManager ];
propagatedBuildInputs = with perlPackages; [
AWSSignature4
···
];
doCheck = false;
+
+
outputs = [ "out" ];
+
+
fixupPhase = ''
+
for sh in bash zsh; do
+
substituteInPlace ./share/rex-tab-completion.$sh \
+
--replace 'perl' "${pkgs.perl.withPackages (ps: [ ps.YAML ])}/bin/perl"
+
done
+
installShellCompletion --name _rex --zsh ./share/rex-tab-completion.zsh
+
installShellCompletion --name rex --bash ./share/rex-tab-completion.bash
+
'';
meta = {
homepage = "https://www.rexify.org";
+2 -2
pkgs/tools/text/epubcheck/default.nix
···
stdenv.mkDerivation rec {
pname = "epubcheck";
-
version = "4.2.6";
+
version = "5.0.0";
src = fetchzip {
url = "https://github.com/w3c/epubcheck/releases/download/v${version}/epubcheck-${version}.zip";
-
sha256 = "sha256-f4r0ODKvZrl+YBcP2T9Z+zEuCyvQm9W7GNiLTr4p278=";
+
sha256 = "sha256-Lcd+rLO4G2i5FTq/okjKQ1+EIfuZ8khkCijgeDxxwq8=";
};
nativeBuildInputs = [ makeWrapper ];
+2 -2
pkgs/tools/text/mawk/default.nix
···
stdenv.mkDerivation rec {
pname = "mawk";
-
version = "1.3.4-20200120";
+
version = "1.3.4-20230203";
src = fetchurl {
urls = [
"ftp://ftp.invisible-island.net/mawk/mawk-${version}.tgz"
"https://invisible-mirror.net/archives/mawk/mawk-${version}.tgz"
];
-
sha256 = "0dw2icf8bnqd9y0clfd9pkcxz4b2phdihwci13z914mf3wgcvm3z";
+
sha256 = "sha256-bbejKsecURB60xpAfU+SxrhC3eL2inUztOe3sD6JAL4=";
};
meta = with lib; {
+1 -1
pkgs/tools/virtualization/cloud-init/default.nix
···
homepage = "https://cloudinit.readthedocs.org";
description = "Provides configuration and customization of cloud instance";
license = with licenses; [ asl20 gpl3Plus ];
-
maintainers = with maintainers; [ phile314 illustris ];
+
maintainers = with maintainers; [ illustris ];
platforms = platforms.all;
};
}
+2
pkgs/top-level/all-packages.nix
···
alsa-scarlett-gui = callPackage ../applications/audio/alsa-scarlett-gui { };
+
flac2all = callPackage ../applications/audio/flac2all {};
+
tuner = callPackage ../applications/audio/tuner { };
locate-dominating-file = callPackage ../tools/misc/locate-dominating-file { };