Merge master into staging-next

This commit is contained in:
github-actions[bot] 2022-04-12 06:01:18 +00:00 committed by GitHub
commit f6d51151f1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
30 changed files with 3480 additions and 1087 deletions

View file

@ -0,0 +1,50 @@
{ lib
, stdenv
, fetchFromGitHub
, pipewire
, cmake
, extra-cmake-modules
, gnumake
, wrapQtAppsHook
, qtbase
, qttools
, kirigami2
, kcoreaddons
, ki18n
, qtquickcontrols2
}:
stdenv.mkDerivation rec {
pname = "pipecontrol";
version = "0.2.2";
src = fetchFromGitHub {
owner = "portaloffreedom";
repo = pname;
rev = "v${version}";
sha256 = "sha256-BeubRDx82MQX1gB7GnGJlQ2FyYX1S83C3gqPZgIjgoM=";
};
nativeBuildInputs = [
cmake
extra-cmake-modules
wrapQtAppsHook
qttools
];
buildInputs = [
pipewire
qtbase
kirigami2
kcoreaddons
ki18n
qtquickcontrols2
];
meta = with lib; {
description = "Pipewire control GUI program in Qt (Kirigami2)";
homepage = "https://github.com/portaloffreedom/pipecontrol";
license = licenses.gpl3Only;
maintainers = with maintainers; [ tilcreator ];
};
}

View file

@ -0,0 +1,27 @@
{ lib
, fetchurl
, appimageTools
}:
appimageTools.wrapType2 rec {
pname = "sonixd";
version = "0.14.0";
src = fetchurl {
url = "https://github.com/jeffvli/sonixd/releases/download/v${version}/Sonixd-${version}-linux-x86_64.AppImage";
sha256 = "sha256-q+26Ut5wN9gFDBdqirR+he/ppu/b1wiqq23WkcRAQd4=";
};
extraInstallCommands = ''
mv $out/bin/sonixd-${version} $out/bin/sonixd
'';
meta = with lib; {
description = "Full-featured Subsonic/Jellyfin compatible desktop music player";
homepage = "https://github.com/jeffvli/sonixd";
license = licenses.gpl3Only;
maintainers = with maintainers; [ onny ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "otpclient";
version = "2.4.9.1";
version = "2.5.1";
src = fetchFromGitHub {
owner = "paolostivanin";
repo = pname;
rev = "v${version}";
sha256 = "sha256-QcdPyuwbGK12Kul+gGTfRGmXfghr0qugpBEcrgATOT4=";
sha256 = "sha256-VUrLbGaDfPE+Ak20ZCJDmO/sgBzdf4S+SqvyQ7F6SQU=";
};
buildInputs = [ gtk3 jansson libgcrypt libzip libpng libcotp zbar ];

View file

@ -2,14 +2,14 @@
rustPlatform.buildRustPackage rec {
pname = "toipe";
version = "0.3.1";
version = "0.4.0";
src = fetchCrate {
inherit pname version;
sha256 = "sha256-/vO5ABMldw3soh7mscjhN5TAZOcs+iMTaMxcdMmV0Xo=";
sha256 = "sha256-lAvFCvNm55SjRmrhIkMBiM0nSlAG+jUEKLlLaGs1RkY=";
};
cargoSha256 = "sha256-AsRQ8kvDy1cH4/kaFAoU7en3dzDiG1T+O+4r6PKa0hM=";
cargoSha256 = "sha256-WmWH/x69H17uHQEB0+GRUtApJnSEkoeFLLweP8NoBrk=";
meta = with lib; {
description = "Trusty terminal typing tester";

View file

@ -6,13 +6,13 @@
buildGoModule rec {
pname = "arkade";
version = "0.8.20";
version = "0.8.22";
src = fetchFromGitHub {
owner = "alexellis";
repo = "arkade";
rev = version;
sha256 = "sha256-DIXvsYYckNlxFzeJqk3TYRQIAtafAfylyDc/a20kl+0=";
sha256 = "sha256-mn/UX2xNMthCtXYFUXqiiPnMltwO2Hk/qveudEYAOZ0=";
};
CGO_ENABLED = 0;

View file

@ -60,7 +60,7 @@ in stdenv.mkDerivation rec {
remove-references-to -t ${stdenv.cc} "$(readlink -f $out/lib/libnetcdf.settings)"
'';
doCheck = !mpiSupport;
doCheck = !(mpiSupport || (stdenv.isDarwin && stdenv.isAarch64));
meta = {
description = "Libraries for the Unidata network Common Data Format";

View file

@ -28,18 +28,27 @@ buildPythonPackage rec {
};
propagatedBuildInputs = [
aiofiles
cryptography
libusb1
pyasn1
rsa
];
passthru.extras-require = {
async = [
aiofiles
];
usb = [
libusb1
];
};
checkInputs = [
mock
pycryptodome
pytestCheckHook
];
]
++ passthru.extras-require.async
++ passthru.extras-require.usb;
disabledTests = lib.optionals (pythonAtLeast "3.10") [
# Tests are failing with Python 3.10

View file

@ -25,14 +25,22 @@ buildPythonPackage rec {
propagatedBuildInputs = [
adb-shell
aiofiles
pure-python-adb
];
passthru.extras-require = {
async = [
aiofiles
];
inherit (adb-shell.extras-require) usb;
};
checkInputs = [
mock
pytestCheckHook
];
]
++ passthru.extras-require.async
++ passthru.extras-require.usb;
disabledTests = [
# Requires git but fails anyway

View file

@ -1,4 +1,10 @@
{ aiofiles, buildPythonPackage, fetchPypi, lib, pythonOlder }:
{ aiofiles
, buildPythonPackage
, fetchPypi
, lib
, pythonOlder
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "pure-python-adb";
@ -11,11 +17,24 @@ buildPythonPackage rec {
sha256 = "0kdr7w2fhgjpcf1k3l6an9im583iqkr6v8hb4q1zw30nh3bqkk0f";
};
propagatedBuildInputs = [ aiofiles ];
# Disable tests as they require docker, docker-compose and a dedicated
# android emulator
doCheck = false;
pythonImportsCheck = [ "ppadb.client" "ppadb.client_async" ];
passthru.extras-require = {
async = [
aiofiles
];
};
doCheck = pythonOlder "3.10"; # all tests result in RuntimeError on 3.10
checkInputs = [
pytestCheckHook
]
++ passthru.extras-require.async;
pythonImportsCheck = [
"ppadb.client"
] ++ lib.optionals doCheck [
"ppadb.client_async"
];
meta = with lib; {
description = "Pure python implementation of the adb client";

View file

@ -0,0 +1,30 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytestCheckHook
}:
let
pname = "py3rijndael";
version = "0.3.3";
in
buildPythonPackage {
inherit pname version;
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-tmVaPr/zoQVA6u0EnoeI7qOsk9a3GzpqwrACJLvs6ag=";
};
checkInputs = [
pytestCheckHook
];
meta = with lib; {
description = "Rijndael algorithm library";
homepage = "https://github.com/meyt/py3rijndael";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
};
}

View file

@ -22,15 +22,19 @@ buildPythonPackage rec {
};
propagatedBuildInputs = [
pexpect
pyserial
];
passthru.extras-require.GATTTOOL = [
pexpect
];
checkInputs = [
mock
nose
pytestCheckHook
];
]
++ passthru.extras-require.GATTTOOL;
postPatch = ''
# Not support for Python < 3.4

View file

@ -21,14 +21,17 @@ buildPythonPackage rec {
hash = "sha256-12ol+2CnoPfkxmDGJJAkoafHGpQuWC4lh0N7lSvx2DE=";
};
propagatedBuildInputs = [
aiocoap
dtlssocket
];
passthru.extras-require = {
async = [
aiocoap
dtlssocket
];
};
checkInputs = [
pytestCheckHook
];
]
++ passthru.extras-require.async;
pythonImportsCheck = [
"pytradfri"

View file

@ -1,4 +1,8 @@
{ lib, buildPythonPackage, fetchPypi
{ lib
, buildPythonPackage
, fetchPypi
# extra: websocket
, websocket-client
}:
@ -11,9 +15,12 @@ buildPythonPackage rec {
sha256 = "0ipz3fd65rqkxlb02sql0awc3vnslrwb2pfrsnpfnf8bfgxpbh9g";
};
propagatedBuildInputs = [
websocket-client
];
passthru.extras-require = {
websocket = [
websocket-client
];
# interactive_ui requires curses package
};
# no tests
doCheck = false;

View file

@ -1,29 +1,62 @@
{ lib, buildPythonPackage, fetchPypi, isPy27
, aiohttp
{ lib
, buildPythonPackage
, fetchFromGitHub
, isPy27
# propagates:
, requests
, websocket-client
# extras: async
, aiohttp
, websockets
# extras: encrypted
, cryptography
, py3rijndael
# tests
, aioresponses
, pytest-asyncio
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "samsungtvws";
version = "2.5.0";
format = "setuptools";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "sha256-AFCN1b80GZ24g3oWe1qqc72yWQy4+/sorL8zwOYM7vo=";
src = fetchFromGitHub {
owner = "xchwarze";
repo = "samsung-tv-ws-api";
rev = "v${version}";
hash = "sha256-AimG5tyTRBETpivC2BwCuoR4o7y98YT6u5sogJlcmoo=";
};
propagatedBuildInputs = [
aiohttp
requests
websocket-client
websockets
];
# no tests
doCheck = false;
passthru.extras-require = {
async = [
aiohttp
websockets
];
encrypted = [
cryptography
py3rijndael
];
};
checkInputs = [
aioresponses
pytest-asyncio
pytestCheckHook
]
++ passthru.extras-require.async
++ passthru.extras-require.encrypted;
pythonImportsCheck = [ "samsungtvws" ];

View file

@ -2,19 +2,20 @@
let
pname = "beekeeper-studio";
version = "3.1.0";
version = "3.3.8";
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/beekeeper-studio/beekeeper-studio/releases/download/v${version}/Beekeeper-Studio-${version}.AppImage";
name="${pname}-${version}.AppImage";
sha512 = "sha512:1zv4fclac94fzzhgqmjgc5pllxcxajjx6yjf3zblj53cc7m4sp4ydjx3wh4db57j75x8vh7xc3q1xpq6q3sj1dafnap0j0icfi6wznk";
name = "${pname}-${version}.AppImage";
sha512 = "sha512-riBKlvOzBovJhXUf7YX6SJKshxwGiQR0jyWHfJRkq9+WMspPkpXg4sJMXziARHaa6durXZtqCfzQ08HrfqA4Qg==";
};
appimageContents = appimageTools.extractType2 {
inherit name src;
};
in appimageTools.wrapType2 {
in
appimageTools.wrapType2 {
inherit name src;
multiPkgs = null; # no 32bit needed

View file

@ -0,0 +1,33 @@
{ lib
, stdenv
, fetchFromGitHub
}:
stdenv.mkDerivation rec {
pname = "acr";
version = "2.0.0";
src = fetchFromGitHub {
owner = "radareorg";
repo = "acr";
rev = version;
hash = "sha256-ma4KhwGFlLCfRQvQ11OdyovgGbKQUBo6qVRrE7V2pNo=";
};
preConfigure = ''
chmod +x ./autogen.sh && ./autogen.sh
'';
meta = with lib; {
homepage = "https://github.com/radareorg/acr/";
description = "Pure shell autoconf replacement";
longDescription = ''
ACR tries to replace autoconf functionality generating a full-compatible
'configure' script (runtime flags). But using shell-script instead of
m4. This means that ACR is faster, smaller and easy to use.
'';
license = licenses.gpl2Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = with platforms; all;
};
}

View file

@ -11,14 +11,14 @@
rustPlatform.buildRustPackage rec {
pname = "rust-analyzer-unwrapped";
version = "2022-04-04";
cargoSha256 = "sha256-5PA4EHCwuRO3uOK+Q+Lkp8Fs4MMlmOSOqdcEctkME4A=";
version = "2022-04-11";
cargoSha256 = "sha256-pc8S+5g67vN9170ABiHGe1t4Go0F63UiOeLd71USYCI=";
src = fetchFromGitHub {
owner = "rust-analyzer";
repo = "rust-analyzer";
rev = version;
sha256 = "sha256-ZzghqbLHMxAabG+RDu7Zniy8bJQMdtQVn3oLTnP3jLc=";
sha256 = "sha256-miMIrDawSS1zXh6EuX03x5ACM2NTabksssSyutSNpjY=";
};
patches = [

View file

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "stylua";
version = "0.13.0";
version = "0.13.1";
src = fetchFromGitHub {
owner = "johnnymorganz";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Ecv6am4JT4cJKAApieOWQZG3XZkeCpmLrs6K7+4c8xA=";
sha256 = "sha256-0Pl8SogCSZcboLHVAI45JqCLojAqIWBFuoZAK4gTzrs=";
};
cargoSha256 = "sha256-r09fTZTmOZQCI3qIWcnQnhUXYLVK8pF5y0y/dQl88CI=";
cargoSha256 = "sha256-VFgA5kOwUJG0GgKU4AUYCB/psAPM2GdTz5oRFgkrNi8=";
buildFeatures = lib.optional lua52Support "lua52"
++ lib.optional luauSupport "luau";

View file

@ -96,7 +96,7 @@ stdenv.mkDerivation rec {
homepage = "https://www.freedesktop.org/wiki/Software/Plymouth/";
description = "Boot splash and boot logger";
license = licenses.gpl2Plus;
maintainers = [ maintainers.goibhniu teams.gnome.members ];
maintainers = [ maintainers.goibhniu ] ++ teams.gnome.members;
platforms = platforms.linux;
};
}

File diff suppressed because it is too large Load diff

View file

@ -98,13 +98,37 @@ def get_reqs(components: Dict[str, Dict[str, Any]], component: str, processed: S
return requirements
def repository_root() -> str:
return os.path.abspath(sys.argv[0] + "/../../../..")
# For a package attribute and and an extra, check if the package exposes it via passthru.extras-require
def has_extra(package: str, extra: str):
cmd = [
"nix-instantiate",
repository_root(),
"-A",
f"{package}.extras-require.{extra}",
]
try:
subprocess.run(
cmd,
check=True,
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL,
)
except subprocess.CalledProcessError:
return False
return True
def dump_packages() -> Dict[str, Dict[str, str]]:
# Store a JSON dump of Nixpkgs' python3Packages
output = subprocess.check_output(
[
"nix-env",
"-f",
os.path.dirname(sys.argv[0]) + "/../../..",
repository_root(),
"-qa",
"-A",
PKG_SET,
@ -158,6 +182,7 @@ def main() -> None:
outdated = {}
for component in sorted(components.keys()):
attr_paths = []
extra_attrs = []
missing_reqs = []
reqs = sorted(get_reqs(components, component, set()))
for req in reqs:
@ -165,9 +190,10 @@ def main() -> None:
# Therefore, if there's a "#" in the line, only take the part after it
req = req[req.find("#") + 1 :]
name, required_version = req.split("==", maxsplit=1)
# Remove extra_require from name, e.g. samsungctl instead of
# samsungctl[websocket]
# Split package name and extra requires
extras = []
if name.endswith("]"):
extras = name[name.find("[")+1:name.find("]")].split(",")
name = name[:name.find("[")]
attr_path = name_to_attr_path(name, packages)
if our_version := get_pkg_version(name, packages):
@ -178,11 +204,20 @@ def main() -> None:
}
if attr_path is not None:
# Add attribute path without "python3Packages." prefix
attr_paths.append(attr_path[len(PKG_SET + ".") :])
pname = attr_path[len(PKG_SET + "."):]
attr_paths.append(pname)
for extra in extras:
# Check if package advertises extra requirements
extra_attr = f"{pname}.extras-require.{extra}"
if has_extra(attr_path, extra):
extra_attrs.append(extra_attr)
else:
missing_reqs.append(extra_attr)
else:
missing_reqs.append(name)
else:
build_inputs[component] = (attr_paths, missing_reqs)
build_inputs[component] = (attr_paths, extra_attrs, missing_reqs)
with open(os.path.dirname(sys.argv[0]) + "/component-packages.nix", "w") as f:
f.write("# Generated by parse-requirements.py\n")
@ -191,11 +226,14 @@ def main() -> None:
f.write(f' version = "{version}";\n')
f.write(" components = {\n")
for component, deps in build_inputs.items():
available, missing = deps
available, extras, missing = deps
f.write(f' "{component}" = ps: with ps; [')
if available:
f.write(" " + " ".join(available))
f.write(" ];")
f.write("\n " + "\n ".join(available))
f.write("\n ]")
if extras:
f.write("\n ++ " + "\n ++ ".join(extras))
f.write(";")
if len(missing) > 0:
f.write(f" # missing inputs: {' '.join(missing)}")
f.write("\n")
@ -203,7 +241,7 @@ def main() -> None:
f.write(" # components listed in tests/components for which all dependencies are packaged\n")
f.write(" supportedComponentsWithTests = [\n")
for component, deps in build_inputs.items():
available, missing = deps
available, extras, missing = deps
if len(missing) == 0 and component in components_with_tests:
f.write(f' "{component}"' + "\n")
f.write(" ];\n")

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, writeText, unzip, nixosTests }:
{ lib, stdenv, fetchurl, writeText, unzip, nixosTests, fetchpatch }:
stdenv.mkDerivation rec {
pname = "invoiceplane";
@ -9,6 +9,37 @@ stdenv.mkDerivation rec {
sha256 = "137g0xps4kb3j7f5gz84ql18iggbya6d9dnrfp05g2qcbbp8kqad";
};
patches = [
# Fix CVE-2021-29024, unauthenticated directory listing
# Should be included in a later release > 1.5.11
# https://github.com/NixOS/nixpkgs/issues/166655
# https://github.com/InvoicePlane/InvoicePlane/pull/754
(fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/InvoicePlane/InvoicePlane/pull/754.patch";
sha256 = "sha256-EHXw7Zqli/nA3tPIrhxpt8ueXvDtshz0XRzZT78sdQk=";
})
# Fix CVE-2021-29023, password reset rate-limiting
# Should be included in a later release > 1.5.11
# https://github.com/NixOS/nixpkgs/issues/166655
# https://github.com/InvoicePlane/InvoicePlane/pull/739
(fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/InvoicePlane/InvoicePlane/pull/739.patch";
sha256 = "sha256-6ksJjW6awr3lZsDRxa22pCcRGBVBYyV8+TbhOp6HBq0=";
})
# Fix CVE-2021-29022, full path disclosure
# Should be included in a later release > 1.5.11
# https://github.com/NixOS/nixpkgs/issues/166655
# https://github.com/InvoicePlane/InvoicePlane/pull/767
#(fetchpatch {
# url = "https://patch-diff.githubusercontent.com/raw/InvoicePlane/InvoicePlane/pull/767.patch";
# sha256 = "sha256-rSWDH8KeHSRWLyQEa7RSwv+8+ja9etTz+6Q9XThuwUo=";
#})
];
nativeBuildInputs = [ unzip ];
sourceRoot = ".";

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "zsh-prezto";
version = "unstable-2021-11-16";
version = "unstable-2022-04-05";
src = fetchFromGitHub {
owner = "sorin-ionescu";
repo = "prezto";
rev = "ecaed1cfa7591d2304d7eb5d69b42b54961a7145";
sha256 = "+7KYBHmzXkdMgyj/x7o7Bf8f1DDFJ6nUMWe8vLUxbZo=";
rev = "2c663313168490d28f607738e962aa45ada0e26b";
sha256 = "05n2801xqdxc5nx0709mak1pr73l7aq5azd9adm0ym7si3vl59sj";
fetchSubmodules = true;
};

View file

@ -2,14 +2,14 @@
buildGoModule rec {
pname = "aliyun-cli";
version = "3.0.115";
version = "3.0.116";
src = fetchFromGitHub {
rev = "v${version}";
owner = "aliyun";
repo = pname;
fetchSubmodules = true;
sha256 = "sha256-lWWycvzZaVoEzEHp392mEDGcrksC4Y9XjGZYeL9RY6s=";
sha256 = "sha256-KZZT7XVhJLfrQ7L3FFOTw9bLT5GqewvDTGQQd/ovjbg=";
};
vendorSha256 = "sha256-f3GXkAvTe8rPFWCR5TM4mDK/VOQWt2lrZrfJ/Wvw8Uc=";

View file

@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "lisgd";
version = "0.3.2";
version = "0.3.3";
src = fetchFromSourcehut {
owner = "~mil";
repo = "lisgd";
rev = version;
sha256 = "sha256-yE2CUv1XDvo8fW0bLS1O2oxgDUu4drCO3jFpxPgAYKU=";
sha256 = "sha256-zcDxR2fKsjuX+vxjhr5UcqEsiNM+zWd2SBaA6Xly3AI=";
};
inherit patches;

View file

@ -2,18 +2,18 @@
buildGoModule rec {
pname = "cloud-sql-proxy";
version = "1.29.0";
version = "1.30.0";
src = fetchFromGitHub {
owner = "GoogleCloudPlatform";
repo = "cloudsql-proxy";
rev = "v${version}";
sha256 = "sha256-V/dNS/tbPPkVpgaCkGa5pfH/vj8y7mO9OQDLhgWbRCE=";
sha256 = "sha256-EbUIzAKMqCLsz8rBMWCvw00j6VX2ZYEMtNsMEx30kBU=";
};
subPackages = [ "cmd/cloud_sql_proxy" ];
vendorSha256 = "sha256-6td7rDye0sBUhDn9YARvdCgdfS/8z+VY1wYcEcUzHBs=";
vendorSha256 = "sha256-yxqLGDqdu9vX3ykHq7Kzf8oBH1ydltZkiWNWWM2l0Aw=";
checkFlags = [ "-short" ];

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "infracost";
version = "0.9.20";
version = "0.9.21";
src = fetchFromGitHub {
owner = "infracost";
rev = "v${version}";
repo = "infracost";
sha256 = "sha256-ujoKnf6f9rrPIxvWlzVnC6q+2BxzhpXgb66clgAuC+8=";
sha256 = "sha256-LoIZbA1K1s3ZLHlRz2SOFxC4nv/Vgpae0qdxIcvAVRQ=";
};
vendorSha256 = "sha256-TfO3+pGxR9dPzigkx89a/Ak+tKiBa6Z0a6U4kIdRsSQ=";

View file

@ -14,9 +14,6 @@ buildGoModule rec {
vendorSha256 = "sha256-pEQG9BHhsVDVSOoKJBocLXMLjmP72RM+GXz4nYD4D7s=";
proxyVendor = true;
# tests are failing for no obvious reasons
doCheck = false;
nativeBuildInputs = [ installShellFiles ];
ldflags = [

View file

@ -8856,6 +8856,8 @@ with pkgs;
pipe-rename = callPackage ../tools/misc/pipe-rename { };
pipecontrol = libsForQt5.callPackage ../applications/audio/pipecontrol { };
pipectl = callPackage ../tools/misc/pipectl { };
pitivi = callPackage ../applications/video/pitivi { };
@ -14445,6 +14447,8 @@ with pkgs;
autoconf269 = callPackage ../development/tools/misc/autoconf/2.69.nix { };
autoconf271 = callPackage ../development/tools/misc/autoconf { };
acr = callPackage ../development/tools/misc/acr { };
autocutsel = callPackage ../tools/X11/autocutsel{ };
automake = automake116x;
@ -26592,6 +26596,8 @@ with pkgs;
singularity = callPackage ../applications/virtualization/singularity { };
sonixd = callPackage ../applications/audio/sonixd { };
spectmorph = callPackage ../applications/audio/spectmorph { };
smallwm = callPackage ../applications/window-managers/smallwm { };

View file

@ -6679,6 +6679,8 @@ in {
py3exiv2 = callPackage ../development/python-modules/py3exiv2 { };
py3rijndael = callPackage ../development/python-modules/py3rijndael { };
py3status = callPackage ../development/python-modules/py3status { };
py3to2 = callPackage ../development/python-modules/3to2 { };