diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index 7df8464917cf..7fb8ba2e7c27 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -1664,6 +1664,26 @@ self: super: { } ``` +### How to override a Python package for all Python versions using extensions? {#how-to-override-a-python-package-for-all-python-versions-using-extensions} + +The following overlay overrides the call to `buildPythonPackage` for the +`foo` package for all interpreters by appending a Python extension to the +`pythonPackagesExtensions` list of extensions. + +```nix +final: prev: { + pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ + ( + python-final: python-prev: { + foo = python-prev.foo.overridePythonAttrs (oldAttrs: { + ... + }); + } + ) + ]; +} +``` + ### How to use Intel’s MKL with numpy and scipy? {#how-to-use-intels-mkl-with-numpy-and-scipy} MKL can be configured using an overlay. See the section "[Using overlays to diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv index 691c0edd9bb8..349238b625cb 100644 --- a/maintainers/scripts/luarocks-packages.csv +++ b/maintainers/scripts/luarocks-packages.csv @@ -71,6 +71,7 @@ luasql-sqlite3,,,,,,vyp luassert,,,,,, luasystem,,,,,, luaunbound,,,,, +luaunit,,,,,,lockejan luautf8,,,,,,pstn luazip,,,,,, lua-yajl,,,,,,pstn diff --git a/pkgs/applications/blockchains/charge-lnd/default.nix b/pkgs/applications/blockchains/charge-lnd/default.nix index 1571e09e3e9a..83b3c0c29b39 100644 --- a/pkgs/applications/blockchains/charge-lnd/default.nix +++ b/pkgs/applications/blockchains/charge-lnd/default.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { pname = "charge-lnd"; - version = "0.2.4"; + version = "0.2.12"; src = fetchFromGitHub { owner = "accumulator"; repo = pname; rev = "v${version}"; - sha256 = "1d1cbpmpppp7z1bmsarwfs314c7ypchlyr4calx0fzxfpxzfks5k"; + sha256 = "uiXmLdQAglgLxOX6IoF1iNZvje4EM7Tr25Okx9TPyzI="; }; propagatedBuildInputs = with python3Packages; [ @@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec { ]; postInstall = '' - install README.md charge.config.example -Dt $out/share/doc/charge-lnd + install README.md -Dt $out/share/doc/charge-lnd ''; doInstallCheck = true; @@ -34,6 +34,6 @@ python3Packages.buildPythonApplication rec { description = "Simple policy-based fee manager for lightning network daemon"; homepage = "https://github.com/accumulator/charge-lnd"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ mmilata ]; + maintainers = with maintainers; [ mmilata mariaa144 ]; }; } diff --git a/pkgs/applications/blockchains/erigon.nix b/pkgs/applications/blockchains/erigon.nix index 0f127c4f0d47..e17baf49dc71 100644 --- a/pkgs/applications/blockchains/erigon.nix +++ b/pkgs/applications/blockchains/erigon.nix @@ -2,17 +2,17 @@ buildGoModule rec { pname = "erigon"; - version = "2022.07.02"; + version = "2022.07.03"; src = fetchFromGitHub { owner = "ledgerwatch"; repo = pname; rev = "v${version}"; - sha256 = "sha256-/aT8E60dCk5spj5l5Zw/8FL1LfzXWYi7agiLflLYI5c="; + sha256 = "sha256-zWygG06H5+QuG11klRq+7T2v40FNMxmYENdsK3KB+ko="; fetchSubmodules = true; }; - vendorSha256 = "sha256-NBWK0wsUbv4bFbmW3xGaQ7LCgmgfRF5zbc/awm8ZZZY="; + vendorSha256 = "sha256-vxLe8uEjuQ96JiIDxlSrpVATScNl2fscXVUqFKmMPxs="; proxyVendor = true; # Build errors in mdbx when format hardening is enabled: diff --git a/pkgs/applications/blockchains/framesh/default.nix b/pkgs/applications/blockchains/framesh/default.nix index 098d56ec4a71..a1ded4cc7cce 100644 --- a/pkgs/applications/blockchains/framesh/default.nix +++ b/pkgs/applications/blockchains/framesh/default.nix @@ -2,10 +2,10 @@ let pname = "framesh"; - version = "0.5.0-beta.21"; + version = "0.5.0-beta.22"; src = fetchurl { url = "https://github.com/floating/frame/releases/download/v${version}/Frame-${version}.AppImage"; - sha256 = "sha256-rWZ7oC74qrylNPIfBzHnNMcsYjccGL2zeXFab9OwBNA="; + sha256 = "sha256-/y7Pf1ADtz0CBeKKCHtSPOYvU7HCpq7hM/J4Ddq1XiA="; }; appimageContents = appimageTools.extractType2 { diff --git a/pkgs/applications/blockchains/namecoin/default.nix b/pkgs/applications/blockchains/namecoin/default.nix index e9b9d1044107..a42e474c258a 100644 --- a/pkgs/applications/blockchains/namecoin/default.nix +++ b/pkgs/applications/blockchains/namecoin/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "namecoin" + lib.optionalString (!withGui) "d"; - version = "22.0"; + version = "23.0"; src = fetchFromGitHub { owner = "namecoin"; repo = "namecoin-core"; rev = "nc${version}"; - sha256 = "sha256-Z3CLDe0c4IpFPPTie8yoh0kcuvGmiegSgl4ITNSDkgY="; + sha256 = "sha256-MfqJ7EcJvlQ01Mr1RQpXVNUlGIwNqFTxrVwGa+Hus+A="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/blockchains/particl-core/default.nix b/pkgs/applications/blockchains/particl-core/default.nix index 2bcc6c62be94..fb9fc3dc4bac 100644 --- a/pkgs/applications/blockchains/particl-core/default.nix +++ b/pkgs/applications/blockchains/particl-core/default.nix @@ -18,13 +18,13 @@ with lib; stdenv.mkDerivation rec { pname = "particl-core"; - version = "0.19.2.14"; + version = "0.19.2.20"; src = fetchFromGitHub { owner = "particl"; repo = "particl-core"; rev = "v${version}"; - sha256 = "sha256-gJLEMfEvQ35xjKt8iN/FXi2T/GBMSS7eUqOC8XHKPBg="; + sha256 = "sha256-gvpqOCJTUIhzrNbOaYFftx/G/dO0BCfHAMUrBk6pczc="; }; nativeBuildInputs = [ pkg-config autoreconfHook ]; diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix index 6d4ca5ced053..abf56d54fe6b 100644 --- a/pkgs/applications/blockchains/polkadot/default.nix +++ b/pkgs/applications/blockchains/polkadot/default.nix @@ -10,13 +10,13 @@ }: rustPlatform.buildRustPackage rec { pname = "polkadot"; - version = "0.9.26"; + version = "0.9.27"; src = fetchFromGitHub { owner = "paritytech"; repo = "polkadot"; rev = "v${version}"; - sha256 = "sha256-f/E4aK7eUlNgd9kEDjYAiNaeMTlKu1aqo8IjB++/Yts="; + sha256 = "sha256-abDkDkFXBG4C7lvE9g6cvUYTfQt7ObZ+Ya8V0W7ASBE="; # the build process of polkadot requires a .git folder in order to determine # the git commit hash that is being built and add it to the version string. @@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec { ''; }; - cargoSha256 = "sha256-tQ5XFv5P5EE33mKsQCBqAlJFu4+uG6ArVV17W8qbyLg="; + cargoSha256 = "sha256-xDjHu6JARIFy2fVQMGhkdU9Qcz/aqumBFe4MjlH0TCY="; buildInputs = lib.optional stdenv.isDarwin [ Security ]; diff --git a/pkgs/applications/blockchains/stellar-core/default.nix b/pkgs/applications/blockchains/stellar-core/default.nix index f89ad0eb7800..d57b94e653df 100644 --- a/pkgs/applications/blockchains/stellar-core/default.nix +++ b/pkgs/applications/blockchains/stellar-core/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "stellar-core"; - version = "18.5.0"; + version = "19.3.0"; src = fetchFromGitHub { owner = "stellar"; repo = pname; rev = "v${version}"; - sha256 = "sha256-wEi22R4zb8d5CJV5eWb776Yob8B6Ok4FrbYI0SGM0H8="; + sha256 = "sha256-6untHS4+2CyYfGQdbACjEbE+aSirjNk7LxOO2BWDZEM="; fetchSubmodules = true; }; diff --git a/pkgs/applications/blockchains/wasabiwallet/default.nix b/pkgs/applications/blockchains/wasabiwallet/default.nix index 71ee38328239..70c67db31c99 100644 --- a/pkgs/applications/blockchains/wasabiwallet/default.nix +++ b/pkgs/applications/blockchains/wasabiwallet/default.nix @@ -25,11 +25,11 @@ let in stdenv.mkDerivation rec { pname = "wasabiwallet"; - version = "1.1.13.1"; + version = "2.0.1.3"; src = fetchurl { url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz"; - sha256 = "sha256-AtsNbUqEBQx0DPWR2LjNl7pdviYmvkv3bYKNBoeJHbw="; + sha256 = "sha256-cATqg/n4/BDQtuCVjHAx3EfMLmlX5EjeQ01gavy/L8o="; }; dontBuild = true; diff --git a/pkgs/applications/blockchains/zecwallet-lite/default.nix b/pkgs/applications/blockchains/zecwallet-lite/default.nix new file mode 100644 index 000000000000..2a15d2fa9233 --- /dev/null +++ b/pkgs/applications/blockchains/zecwallet-lite/default.nix @@ -0,0 +1,30 @@ +{ lib, fetchurl, appimageTools }: + +appimageTools.wrapType2 rec { + pname = "zecwallet-lite"; + version = "1.7.13"; + + src = fetchurl { + url = "https://github.com/adityapk00/zecwallet-lite/releases/download/v${version}/Zecwallet.Lite-${version}.AppImage"; + hash = "sha256-uBiLGHBgm0vurfvOJjJ+RqVoGnVccEHTFO2T7LDqUzU="; + }; + + extraInstallCommands = + let contents = appimageTools.extract { inherit pname version src; }; + in '' + mv $out/bin/${pname}-${version} $out/bin/${pname} + + install -m 444 -D ${contents}/${pname}.desktop -t $out/share/applications + substituteInPlace $out/share/applications/${pname}.desktop \ + --replace 'Exec=AppRun' 'Exec=${pname}' + cp -r ${contents}/usr/share/icons $out/share + ''; + + meta = with lib; { + description = "A fully featured shielded wallet for Zcash"; + homepage = "https://www.zecwallet.co/"; + license = licenses.mit; + maintainers = with maintainers; [ colinsane ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/editors/pinegrow/default.nix b/pkgs/applications/editors/pinegrow/default.nix index a3454180b0e0..eca556fa86a8 100644 --- a/pkgs/applications/editors/pinegrow/default.nix +++ b/pkgs/applications/editors/pinegrow/default.nix @@ -14,7 +14,9 @@ stdenv.mkDerivation rec { pname = "pinegrow"; - version = "6.6"; + # deactivate auto update, because an old 6.21 version is getting mixed up + # see e.g. https://github.com/NixOS/nixpkgs/pull/184460 + version = "6.6"; # nixpkgs-update: no auto update src = fetchurl { url = "https://download.pinegrow.com/PinegrowLinux64.${version}.zip"; diff --git a/pkgs/applications/misc/electrum/ltc.nix b/pkgs/applications/misc/electrum/ltc.nix index 5f65fd4a368a..c9332be23094 100644 --- a/pkgs/applications/misc/electrum/ltc.nix +++ b/pkgs/applications/misc/electrum/ltc.nix @@ -20,7 +20,7 @@ }: let - version = "4.0.9.3"; + version = "4.2.2.1"; libsecp256k1_name = if stdenv.isLinux then "libsecp256k1.so.0" @@ -36,7 +36,7 @@ let owner = "pooler"; repo = "electrum-ltc"; rev = version; - sha256 = "sha256-oZjQnrnj8nCaQjrIz8bWNt6Ib8Wu2ZMXHEPfCCy2fjk="; + sha256 = "sha256-qu72LIV07pgHqvKv+Kcw9ZmNk6IBz+4/vdJELlT5tE4="; postFetch = '' mv $out ./all @@ -44,19 +44,6 @@ let ''; }; - py = python3.override { - packageOverrides = self: super: { - - aiorpcx = super.aiorpcx.overridePythonAttrs (oldAttrs: rec { - version = "0.18.7"; - src = oldAttrs.src.override { - inherit version; - sha256 = "1rswrspv27x33xa5bnhrkjqzhv0sknv5kd7pl1vidw9d2z4rx2l0"; - }; - }); - }; - }; - in python3.pkgs.buildPythonApplication { @@ -65,7 +52,7 @@ python3.pkgs.buildPythonApplication { src = fetchurl { url = "https://electrum-ltc.org/download/Electrum-LTC-${version}.tar.gz"; - sha256 = "sha256-+oox0BGqkvj0OGOKJF8tUoKdsZFeffNb6rTF8E8mo08="; + sha256 = "sha256-7F28cve+HD5JDK5igfkGD/NvTCfA33g+DmQJ5mwPM9Q="; }; postUnpack = '' @@ -73,19 +60,9 @@ python3.pkgs.buildPythonApplication { cp -ar ${tests} $sourceRoot/electrum_ltc/tests ''; - prePatch = '' - substituteInPlace contrib/requirements/requirements.txt \ - --replace "dnspython>=2.0,<2.1" "dnspython>=2.0" - - # according to upstream, this is fine - # https://github.com/spesmilo/electrum/issues/7361 - substituteInPlace contrib/requirements/requirements.txt \ - --replace "qdarkstyle<2.9" "qdarkstyle>=2.7" - ''; - nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ]; - propagatedBuildInputs = with py.pkgs; [ + propagatedBuildInputs = with python3.pkgs; [ aiohttp aiohttp-socks aiorpcx diff --git a/pkgs/applications/terminal-emulators/wezterm/default.nix b/pkgs/applications/terminal-emulators/wezterm/default.nix index 4fed03db0dd0..7a39a487e5f8 100644 --- a/pkgs/applications/terminal-emulators/wezterm/default.nix +++ b/pkgs/applications/terminal-emulators/wezterm/default.nix @@ -22,6 +22,7 @@ , Cocoa , Foundation , libiconv +, UserNotifications , nixosTests , runCommand }: @@ -71,6 +72,7 @@ rustPlatform.buildRustPackage rec { CoreGraphics Foundation libiconv + UserNotifications ]; postInstall = '' @@ -119,7 +121,5 @@ rustPlatform.buildRustPackage rec { license = licenses.mit; maintainers = with maintainers; [ SuperSandro2000 ]; platforms = platforms.unix; - # Fails on missing UserNotifications framework while linking - broken = stdenv.isDarwin; }; } diff --git a/pkgs/applications/video/ffmpeg-normalize/default.nix b/pkgs/applications/video/ffmpeg-normalize/default.nix index 6287f2820194..606045d0b803 100644 --- a/pkgs/applications/video/ffmpeg-normalize/default.nix +++ b/pkgs/applications/video/ffmpeg-normalize/default.nix @@ -7,11 +7,11 @@ buildPythonApplication rec { pname = "ffmpeg-normalize"; - version = "1.23.1"; + version = "1.24.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-23s5mYwoIUiBs1MXGJVepycGj8e1xCuFAgim5NHKZRc="; + sha256 = "sha256-sQ8Qorf74ypMmpRd9b/wrqg28TZ295t6qkKosxyaG1I="; }; propagatedBuildInputs = [ ffmpeg ffmpeg-progress-yield ]; diff --git a/pkgs/applications/window-managers/sommelier/default.nix b/pkgs/applications/window-managers/sommelier/default.nix new file mode 100644 index 000000000000..0528553b1894 --- /dev/null +++ b/pkgs/applications/window-managers/sommelier/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, fetchzip, meson, ninja, pkg-config, wayland-scanner +, libxkbcommon, mesa, pixman, xorg, wayland, gtest +}: + +stdenv.mkDerivation { + pname = "sommelier"; + version = "104.0"; + + src = fetchzip rec { + url = "https://chromium.googlesource.com/chromiumos/platform2/+archive/${passthru.rev}/vm_tools/sommelier.tar.gz"; + passthru.rev = "af5434fd9903936a534e1316cbd22361e67949ec"; + stripRoot = false; + sha256 = "LungQqHQorHIKpye2SDBLuMHPt45C1cPYcs9o5Hc3cw="; + }; + + nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ]; + buildInputs = [ libxkbcommon mesa pixman wayland xorg.libxcb ]; + + doCheck = true; + checkInputs = [ gtest ]; + + postInstall = '' + rm $out/bin/sommelier_test # why does it install the test binary? o_O + ''; + + passthru.updateScript = ./update.py; + + meta = with lib; { + homepage = "https://chromium.googlesource.com/chromiumos/platform2/+/refs/heads/main/vm_tools/sommelier/"; + description = "Nested Wayland compositor with support for X11 forwarding"; + maintainers = with maintainers; [ qyliss ]; + license = licenses.bsd3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/window-managers/sommelier/update.py b/pkgs/applications/window-managers/sommelier/update.py new file mode 100755 index 000000000000..03898c9ccdd8 --- /dev/null +++ b/pkgs/applications/window-managers/sommelier/update.py @@ -0,0 +1,58 @@ +#! /usr/bin/env nix-shell +#! nix-shell -p common-updater-scripts python3 +#! nix-shell -i python + +import csv +import json +import re +import shlex +import subprocess +from os.path import abspath, dirname, splitext +from urllib.request import urlopen + +# CrOS version numbers look like this: +# [.].. +# +# As far as I can tell, branches are where internal Google +# modifications are added to turn Chromium OS into Chrome OS, and +# branch branches are used for fixes for specific devices. So for +# Chromium OS they will always be 0. This is a best guess, and is not +# documented. +with urlopen('https://chromiumdash.appspot.com/cros/download_serving_builds_csv?deviceCategory=ChromeOS') as resp: + reader = csv.reader(map(bytes.decode, resp)) + header = reader.__next__() + cr_stable_index = header.index('cr_stable') + cros_stable_index = header.index('cros_stable') + chrome_version = [] + platform_version = [] + + for line in reader: + this_chrome_version = list(map(int, line[cr_stable_index].split('.'))) + this_platform_version = list(map(int, line[cros_stable_index].split('.'))) + chrome_version = max(chrome_version, this_chrome_version) + platform_version = max(platform_version, this_platform_version) + +chrome_major_version = chrome_version[0] +chromeos_tip_build = platform_version[0] +release_branch = f'release-R{chrome_major_version}-{chromeos_tip_build}.B' + +# Determine the git revision. +with urlopen(f'https://chromium.googlesource.com/chromiumos/platform2/+/refs/heads/{release_branch}?format=JSON') as resp: + resp.readline() # Remove )]}' header + rev = json.load(resp)['commit'] + +# Determine the patch version by counting the commits that have been +# added to the release branch since it forked off the chromeos branch. +with urlopen(f'https://chromium.googlesource.com/chromiumos/platform2/+log/refs/heads/main..{rev}/vm_tools/sommelier?format=JSON') as resp: + resp.readline() # Remove )]}' header + branch_commits = json.load(resp)['log'] + version = f'{chrome_major_version}.{len(branch_commits)}' + +# Update the version, git revision, and hash in sommelier's default.nix. +subprocess.run(['update-source-version', 'sommelier', f'--rev={rev}', version]) + +# Find the path to sommelier's default.nix, so Cargo.lock can be written +# into the same directory. +argv = ['nix-instantiate', '--eval', '--json', '-A', 'sommelier.meta.position'] +position = json.loads(subprocess.check_output(argv).decode('utf-8')) +filename = re.match(r'[^:]*', position)[0] diff --git a/pkgs/development/compilers/vyper/default.nix b/pkgs/development/compilers/vyper/default.nix index 9ac9e654261a..2031935e6189 100644 --- a/pkgs/development/compilers/vyper/default.nix +++ b/pkgs/development/compilers/vyper/default.nix @@ -27,14 +27,14 @@ let in buildPythonPackage rec { pname = "vyper"; - version = "0.3.3"; + version = "0.3.5"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-BAnNj27B1HAb9VVDA69bFGbQjeOpl0g5EB2juajqBAw="; + sha256 = "sha256-ldNuADfWy1OWTPD7pTcpU5dX/mX2pV/QqSjJxkc5S28="; }; nativeBuildInputs = [ @@ -69,8 +69,5 @@ buildPythonPackage rec { homepage = "https://github.com/vyperlang/vyper"; license = licenses.asl20; maintainers = with maintainers; [ siraben ]; - knownVulnerabilities = [ - "CVE-2022-29255" - ]; }; } diff --git a/pkgs/development/interpreters/kerf/default.nix b/pkgs/development/interpreters/kerf/default.nix new file mode 100644 index 000000000000..5b605c6564b3 --- /dev/null +++ b/pkgs/development/interpreters/kerf/default.nix @@ -0,0 +1,92 @@ +{ lib, stdenv, fetchFromGitHub +, libedit, zlib, ncurses, expect + +# darwin only below +, Accelerate, CoreGraphics, CoreVideo +}: + +stdenv.mkDerivation rec { + pname = "kerf"; + version = "unstable-2022-08-05"; + + src = fetchFromGitHub { + owner = "kevinlawler"; + repo = "kerf1"; + rev = "4ec5b592b310b96d33654d20d6a511e6fffc0f9d"; + hash = "sha256-0sU2zOk5I69lQyrn1g0qsae7S/IBT6eA/911qp0GNkk="; + }; + + sourceRoot = "source/src"; + buildInputs = [ libedit zlib ncurses ] + ++ lib.optional stdenv.isDarwin ([ + Accelerate + ] ++ lib.optional stdenv.isx86_64 /* && isDarwin */ [ + CoreGraphics CoreVideo + ]); + + checkInputs = [ expect ]; + doCheck = true; + + makeFlags = [ "kerf" "kerf_test" ]; + + # avoid a huge amount of warnings to make failures clearer + NIX_CFLAGS_COMPILE = map (x: "-Wno-${x}") [ + "void-pointer-to-int-cast" + "format" + "implicit-function-declaration" + "gnu-variable-sized-type-not-at-end" + "unused-result" + ] ++ lib.optional stdenv.isDarwin [ "-fcommon" ]; + + patchPhase = '' + substituteInPlace ./Makefile \ + --replace 'CPUS ?=' 'CPUS = $(NIX_BUILD_CORES) #' \ + --replace 'termcap' 'ncurses' + ''; + + # the kerf executable uses ncurses to create a fancy terminal for input and + # reads terminal keystrokes directly, so it doesn't read from stdin as + # expected, hence why we use this fancy expect script to run the test exe and + # send 'quit' to the prompt after it finishes. + checkPhase = '' + expect < " {send "quit\r"} + timeout { exit 1 } + } + expect { + "\[DEBUG\] OK: Done OK." {} + "\[DEBUG\] FAILED: Debug failure." { exit 1 } + timeout { exit 1 } + } + exit 0 + EOD + ''; + + installPhase = "install -D kerf $out/bin/kerf"; + + meta = with lib; { + description = "Columnar tick database and time-series language"; + longDescription = '' + Kerf is a columnar tick database and small programming + language that is a superset of JSON and SQL. It can be + used for local analytics, timeseries, logfile processing, + and more. + ''; + license = with licenses; [ bsd2 ]; + homepage = "https://github.com/kevinlawler/kerf1"; + platforms = platforms.unix; + maintainers = with maintainers; [ thoughtpolice ]; + + # aarch64-linux seems hopeless, with over 2,000 warnings + # generated? + broken = (stdenv.isLinux && stdenv.isAarch64); + }; +} diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix index fd7e684113e7..25446f5fca89 100644 --- a/pkgs/development/interpreters/python/cpython/2.7/default.nix +++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix @@ -68,7 +68,7 @@ let executable = libPrefix; pythonVersion = with sourceVersion; "${major}.${minor}"; sitePackages = "lib/${libPrefix}/site-packages"; - inherit hasDistutilsCxxPatch; + inherit hasDistutilsCxxPatch pythonAttr; pythonOnBuildForBuild = pkgsBuildBuild.${pythonAttr}; pythonOnBuildForHost = pkgsBuildHost.${pythonAttr}; pythonOnBuildForTarget = pkgsBuildTarget.${pythonAttr}; diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index a52935c69dfd..dca7d9bb0db5 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -91,7 +91,7 @@ let executable = libPrefix; pythonVersion = with sourceVersion; "${major}.${minor}"; sitePackages = "lib/${libPrefix}/site-packages"; - inherit hasDistutilsCxxPatch; + inherit hasDistutilsCxxPatch pythonAttr; pythonOnBuildForBuild = override pkgsBuildBuild.${pythonAttr}; pythonOnBuildForHost = override pkgsBuildHost.${pythonAttr}; pythonOnBuildForTarget = override pkgsBuildTarget.${pythonAttr}; diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 5593158e7f36..471f96b51887 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -19,9 +19,14 @@ with pkgs; , pythonOnBuildForTarget , pythonOnHostForHost , pythonOnTargetForTarget + , pythonAttr ? null , self # is pythonOnHostForTarget }: let pythonPackages = callPackage + # Function that when called + # - imports python-packages.nix + # - adds spliced package sets to the package set + # - applies overrides from `packageOverrides` and `pythonPackagesOverlays`. ({ pkgs, stdenv, python, overrides }: let pythonPackagesFun = import ../../../top-level/python-packages.nix { inherit stdenv pkgs lib; @@ -74,7 +79,7 @@ with pkgs; extra = _: {}; optionalExtensions = cond: as: if cond then as else []; python2Extension = import ../../../top-level/python2-packages.nix; - extensions = lib.composeManyExtensions ((optionalExtensions (!self.isPy3k) [python2Extension]) ++ [ overrides ]); + extensions = lib.composeManyExtensions ((optionalExtensions (!self.isPy3k) [python2Extension]) ++ pkgs.pythonPackagesExtensions ++ [ overrides ]); aliases = self: super: lib.optionalAttrs config.allowAliases (import ../../../top-level/python-aliases.nix lib self super); in lib.makeScopeWithSplicing pkgs.splicePackages @@ -117,6 +122,8 @@ with pkgs; tests = callPackage ./tests.nix { python = self; }; + + inherit pythonAttr; }; sources = { diff --git a/pkgs/development/interpreters/python/pypy/default.nix b/pkgs/development/interpreters/python/pypy/default.nix index 668a4e24b39e..e8c7d3ba65e5 100644 --- a/pkgs/development/interpreters/python/pypy/default.nix +++ b/pkgs/development/interpreters/python/pypy/default.nix @@ -30,6 +30,7 @@ let executable = "pypy${if isPy3k then "3" else ""}"; sitePackages = "site-packages"; hasDistutilsCxxPatch = false; + inherit pythonAttr; pythonOnBuildForBuild = pkgsBuildBuild.${pythonAttr}; pythonOnBuildForHost = pkgsBuildHost.${pythonAttr}; diff --git a/pkgs/development/interpreters/python/tests.nix b/pkgs/development/interpreters/python/tests.nix index 49dfe0e4644e..037c8f87b8ba 100644 --- a/pkgs/development/interpreters/python/tests.nix +++ b/pkgs/development/interpreters/python/tests.nix @@ -11,6 +11,7 @@ , substituteAll , lib , callPackage +, pkgs }: let @@ -133,6 +134,17 @@ let # test-overrideScope = let # myPackages = python.pkgs.overrideScope extension; # in assert myPackages.foobar == myPackages.numpy; myPackages.python.withPackages(ps: with ps; [ foobar ]); + } // lib.optionalAttrs (python ? pythonAttr) { + # Test applying overrides using pythonPackagesOverlays. + test-pythonPackagesExtensions = let + pkgs_ = pkgs.extend(final: prev: { + pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ + (python-final: python-prev: { + foo = python-prev.setuptools; + }) + ]; + }); + in pkgs_.${python.pythonAttr}.pkgs.foo; }; condaTests = let diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix index 40f954a1ff8c..3c146f50b00a 100644 --- a/pkgs/development/lua-modules/generated-packages.nix +++ b/pkgs/development/lua-modules/generated-packages.nix @@ -2172,6 +2172,32 @@ buildLuarocksPackage { }; }) {}; +luaunit = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast +, fetchurl, lua +}: +buildLuarocksPackage { + pname = "luaunit"; + version = "3.4-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luaunit-3.4-1.rockspec"; + sha256 = "111435fa8p2819vcvg76qmknj0wqk01gy9d1nh55c36616xnj54n"; + }).outPath; + src = fetchurl { + url = "https://github.com/bluebird75/luaunit/releases/download/LUAUNIT_V3_4/rock-luaunit-3.4.zip"; + sha256 = "1v8nkiwz2nr242h5cl4af6vmn5gxmn94skps1qhb55ak60j20nvr"; + }; + + disabled = with lua; (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua lua ]; + + meta = { + homepage = "http://github.com/bluebird75/luaunit"; + description = "A unit testing framework for Lua"; + maintainers = with lib.maintainers; [ lockejan ]; + license.fullName = "BSD"; + }; +}) {}; + luautf8 = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast , fetchurl, lua }: diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix index f4bb93610266..ffe017698df1 100644 --- a/pkgs/development/python-modules/cupy/default.nix +++ b/pkgs/development/python-modules/cupy/default.nix @@ -70,5 +70,8 @@ in buildPythonPackage rec { license = licenses.mit; platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ hyphon81 ]; + + # See https://github.com/NixOS/nixpkgs/pull/179912#issuecomment-1206265922. + broken = true; }; } diff --git a/pkgs/development/python-modules/etils/default.nix b/pkgs/development/python-modules/etils/default.nix new file mode 100644 index 000000000000..25f956480681 --- /dev/null +++ b/pkgs/development/python-modules/etils/default.nix @@ -0,0 +1,89 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, flit-core + + # tests +, chex +, jaxlib +, pytest-subtests +, pytest-xdist +, pytestCheckHook +, yapf + + # optional +, jupyter +, mediapy +, numpy +, importlib-resources +, typing-extensions +, zipp +, absl-py +, tqdm +, dm-tree +, jax +, tensorflow +}: + +buildPythonPackage rec { + pname = "etils"; + version = "0.6.0"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-ZnckEFGDXQ2xHElHvK2Tj1e1HqECKQYk+JLx5OUbcOU="; + }; + + nativeBuildInputs = [ + flit-core + ]; + + passthru.optional-dependencies = rec { + array-types = enp; + ecolab = [ jupyter numpy mediapy ] ++ enp ++ epy; + edc = epy; + enp = [ numpy ] ++ epy; + epath = [ importlib-resources typing-extensions zipp ] ++ epy; + epy = [ typing-extensions ]; + etqdm = [ absl-py tqdm ] ++ epy; + etree = array-types ++ epy ++ enp ++ etqdm; + etree-dm = [ dm-tree ] ++ etree; + etree-jax = [ jax ] ++ etree; + etree-tf = [ tensorflow etree ] ++ etree; + all = array-types ++ ecolab ++ edc ++ enp ++ epath ++ epy ++ etqdm + ++ etree ++ etree-dm ++ etree-jax ++ etree-tf; + }; + + doCheck = false; # disable tests until https://github.com/NixOS/nixpkgs/issues/185273 is resolved + + pythonImportsCheck = [ + "etils" + ]; + + checkInputs = [ + chex + jaxlib + pytest-subtests + pytest-xdist + pytestCheckHook + yapf + ] + ++ passthru.optional-dependencies.all; + + disabledTests = [ + "test_repr" # known to fail on Python 3.10, see https://github.com/google/etils/issues/143 + "test_public_access" # requires network access + "test_resource_path" # known to fail on Python 3.10, see https://github.com/google/etils/issues/143 + ]; + + meta = with lib; { + description = "Collection of eclectic utils for python"; + homepage = "https://github.com/google/etils"; + license = licenses.asl20; + maintainers = with maintainers; [ mcwitt ]; + }; +} diff --git a/pkgs/development/tools/ec2-metadata-mock/default.nix b/pkgs/development/tools/ec2-metadata-mock/default.nix index 3967a061de9e..7fd87e839be5 100644 --- a/pkgs/development/tools/ec2-metadata-mock/default.nix +++ b/pkgs/development/tools/ec2-metadata-mock/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "ec2-metadata-mock"; - version = "1.11.1"; + version = "1.11.2"; src = fetchFromGitHub { owner = "aws"; repo = "amazon-ec2-metadata-mock"; rev = "v${version}"; - sha256 = "sha256-H10aZB1xx2Q3cItmqmGAUiVgr+9+VloH3pzDrzP2MQw="; + sha256 = "sha256-hYyJtkwAzweH8boUY3vrvy6Ug+Ier5f6fvR52R+Di8o="; }; vendorSha256 = "sha256-T45abGVoiwxAEO60aPH3hUqiH6ON3aRhkrOFcOi+Bm8="; diff --git a/pkgs/development/tools/rust/sqlx-cli/default.nix b/pkgs/development/tools/rust/sqlx-cli/default.nix index d5ec6f1228bf..f34efb944180 100644 --- a/pkgs/development/tools/rust/sqlx-cli/default.nix +++ b/pkgs/development/tools/rust/sqlx-cli/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "sqlx-cli"; - version = "0.6.0"; + version = "0.6.1"; src = fetchFromGitHub { owner = "launchbadge"; repo = "sqlx"; rev = "v${version}"; - sha256 = "sha256-wAPZVDhT6Z8hTOYgbrCGu9uhxNhBLuygAsSpwVGzZxc="; + sha256 = "sha256-4XJ0dNbACCcbN5+d05H++jlRKuL+au3iOLMoBR/whOs="; }; - cargoSha256 = "sha256-YUIeph0aacrC4OXb5qcjM5CSvKZEG+gYk6r45urmUeg="; + cargoSha256 = "sha256-sIe+uVCzTVUTePNIBekCA/uwRG+GWGonnvzhRDwh5Y4="; doCheck = false; cargoBuildFlags = [ "-p sqlx-cli" ]; diff --git a/pkgs/games/wargus/default.nix b/pkgs/games/wargus/default.nix index fda4f792c7b2..ca4b70923eca 100644 --- a/pkgs/games/wargus/default.nix +++ b/pkgs/games/wargus/default.nix @@ -1,11 +1,30 @@ { stdenv, lib, callPackage, fetchFromGitHub +, fetchurl, runCommand, unzip, bchunk, p7zip , cmake, pkg-config, makeWrapper , zlib, bzip2, libpng -, dialog, python3, cdparanoia +, dialog, python3, cdparanoia, ffmpeg }: let stratagus = callPackage ./stratagus.nix {}; + + dataDownload = fetchurl { + url = "https://archive.org/download/warcraft-ii-tides-of-darkness_202105/Warcess.zip"; + sha256 = "0yxgvf8xpv1w2bjmny4a38pa3xcdgqckk9abj21ilkc5zqzqmm9b"; + }; + + data = runCommand "warcraft2" { + buildInputs = [ unzip bchunk p7zip ]; + meta.license = lib.licenses.unfree; + } '' + unzip ${dataDownload} "Warcraft.II.Tides.of.Darkness/Warcraft II - Tides of Darkness (1995)/games/WarcrafD/cd/"{WC2BTDP.img,WC2BTDP.cue} + bchunk "Warcraft.II.Tides.of.Darkness/Warcraft II - Tides of Darkness (1995)/games/WarcrafD/cd/"{WC2BTDP.img,WC2BTDP.cue} WC2BTDP + rm -r Warcraft.II.Tides.of.Darkness + 7z x WC2BTDP01.iso + rm WC2BTDP*.{iso,cdr} + cp -r DATA $out + ''; + in stdenv.mkDerivation rec { pname = "wargus"; @@ -15,10 +34,10 @@ stdenv.mkDerivation rec { owner = "wargus"; repo = "wargus"; rev = "v${version}"; - sha256 = "0dibm68jxaqzgzcyblfj2bmwyz9v5ax0njnnbvak7xjk1zlh11sx"; + sha256 = "sha256-yJeMFxCD0ikwVPQApf+IBuMQ6eOjn1fVKNmqh6r760c="; }; - nativeBuildInputs = [ cmake pkg-config makeWrapper ]; + nativeBuildInputs = [ cmake pkg-config makeWrapper ffmpeg ]; buildInputs = [ zlib bzip2 libpng ]; cmakeFlags = [ "-DSTRATAGUS=${stratagus}/games/stratagus" @@ -26,7 +45,12 @@ stdenv.mkDerivation rec { ]; postInstall = '' makeWrapper $out/games/wargus $out/bin/wargus \ - --prefix PATH : ${lib.makeBinPath [ "$out" cdparanoia python3 ]} + --prefix PATH : ${lib.makeBinPath [ "$out" ]} + substituteInPlace $out/share/applications/wargus.desktop \ + --replace $out/games/wargus $out/bin/wargus + + $out/bin/wartool -v -r ${data} $out/share/games/stratagus/wargus + ln -s $out/share/games/stratagus/wargus/{contrib/black_title.png,graphics/ui/black_title.png} ''; meta = with lib; { diff --git a/pkgs/games/wargus/stratagus.nix b/pkgs/games/wargus/stratagus.nix index aa050442bfdb..fc4f23427994 100644 --- a/pkgs/games/wargus/stratagus.nix +++ b/pkgs/games/wargus/stratagus.nix @@ -1,25 +1,25 @@ { lib, stdenv, fetchFromGitHub , cmake, pkg-config, makeWrapper , zlib, bzip2, libpng, lua5_1, toluapp -, SDL, SDL_mixer, SDL_image, libGL +, SDL2, SDL2_mixer, SDL2_image, libGL }: stdenv.mkDerivation rec { pname = "stratagus"; - version = "2.4.3"; + version = "3.3.1"; src = fetchFromGitHub { owner = "wargus"; repo = "stratagus"; rev = "v${version}"; - sha256 = "128m5n9axq007xi8a002ig7d4dyw8j060542x220ld66ibfprhcn"; + sha256 = "sha256-q8AvIWr/bOzI0wV0D2emxIXYEKDYmFxbtwr2BS+xYfA="; }; nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ zlib bzip2 libpng lua5_1 toluapp - (lib.getDev SDL) SDL_image SDL_mixer libGL + (lib.getDev SDL2) SDL2_image SDL2_mixer libGL ]; cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-Wno-error=format-overflow" diff --git a/pkgs/servers/nfs-ganesha/default.nix b/pkgs/servers/nfs-ganesha/default.nix index 0c8b871ade71..34d0fde0e88d 100644 --- a/pkgs/servers/nfs-ganesha/default.nix +++ b/pkgs/servers/nfs-ganesha/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "nfs-ganesha"; - version = "4.0"; + version = "4.0.7"; src = fetchFromGitHub { owner = "nfs-ganesha"; repo = "nfs-ganesha"; rev = "V${version}"; - sha256 = "1zv7aprmydyjs53xnn1h1s6xxb22pic7va23459zq0nfnhmsgd26"; + sha256 = "sha256-SI8n3QdjI72QXQsK+LOj4wmmKQGPU+Y1Ysmfo+N+fY0="; }; preConfigure = "cd src"; diff --git a/pkgs/servers/redpanda/default.nix b/pkgs/servers/redpanda/default.nix index 58e9ef05c5ae..44be67fc89be 100644 --- a/pkgs/servers/redpanda/default.nix +++ b/pkgs/servers/redpanda/default.nix @@ -1,13 +1,13 @@ { lib, stdenv, fetchzip }: let - version = "22.1.6"; + version = "22.1.7"; platform = if stdenv.isLinux then "linux" else "darwin"; arch = if stdenv.isAarch64 then "arm" else "amd"; sha256s = { darwin.amd = "sha256-AXk3aP1SGiHTfHTCBRTagX0DAVmdcVVIkxWaTnZxB8g="; darwin.arm = "sha256-pvOVvNc8lZ2d2fVZVYWvumVWYpnLORNY/3o1t4BN2N4="; - linux.amd = "sha256-17fLmvjv7+uCnOXfIgWqK8gL8GVOEvOgKOuH6HsfAbI="; + linux.amd = "sha256-FjDDrJmLvelQ8PmTEtnvV+5zpixizR0bowoJPLyPFcA="; linux.arm = "sha256-WHjYAbytiu747jFqN0KZ/CkIwAVI7fb32ywtRiQOBm8="; }; in stdenv.mkDerivation rec { diff --git a/pkgs/tools/admin/stripe-cli/default.nix b/pkgs/tools/admin/stripe-cli/default.nix index 8ed36c029025..141496eaa65c 100644 --- a/pkgs/tools/admin/stripe-cli/default.nix +++ b/pkgs/tools/admin/stripe-cli/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "stripe-cli"; - version = "1.9.0"; + version = "1.10.3"; src = fetchFromGitHub { owner = "stripe"; repo = pname; rev = "v${version}"; - sha256 = "sha256-OKCrz+A+y9XmYKsN5wsrcpDeBLMlalVULib/1FCKqhM="; + sha256 = "sha256-jos6SZ2ZkUeWOM0ALlsc5a+5kcullNF/2AknTQpRnIc="; }; vendorSha256 = "sha256-1c+YtfRy1ey0z117YHHkrCnpb7g+DmM+LR1rjn1YwMQ="; diff --git a/pkgs/tools/filesystems/httm/default.nix b/pkgs/tools/filesystems/httm/default.nix index 0373f7aa725b..efcb1241b611 100644 --- a/pkgs/tools/filesystems/httm/default.nix +++ b/pkgs/tools/filesystems/httm/default.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "httm"; - version = "0.14.7"; + version = "0.14.8"; src = fetchFromGitHub { owner = "kimono-koans"; repo = pname; rev = version; - sha256 = "sha256-Bn2ZksGUiRNFb9AncPYlhzvjhYRdP89aKJmDP8qnTNg="; + sha256 = "sha256-PakfSEQCp4LG7mInJvPKFnpRqI7HVr5BxEOM2TronXQ="; }; - cargoSha256 = "sha256-zoK8J8b70sKKDSb2Hhh1v9qY2PlNn26/H18hAWnHETk="; + cargoSha256 = "sha256-hCoStHD+RG700IBXMV4I007mzFvaKk/bVpnte3cigYk="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 21979f95ba29..46efeea98205 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1788,8 +1788,8 @@ with pkgs; wayst = callPackage ../applications/terminal-emulators/wayst { }; - wezterm = callPackage ../applications/terminal-emulators/wezterm { - inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics Foundation; + wezterm = darwin.apple_sdk_11_0.callPackage ../applications/terminal-emulators/wezterm { + inherit (darwin.apple_sdk_11_0.frameworks) Cocoa CoreGraphics Foundation UserNotifications; }; x3270 = callPackage ../applications/terminal-emulators/x3270 { }; @@ -2639,6 +2639,14 @@ with pkgs; goku = callPackage ../os-specific/darwin/goku { }; + kerf = kerf_1; /* kerf2 is WIP */ + kerf_1 = callPackage ../development/interpreters/kerf { + stdenv = clangStdenv; + inherit (darwin.apple_sdk.frameworks) + Accelerate CoreGraphics CoreVideo + ; + }; + kwakd = callPackage ../servers/kwakd { }; kwm = callPackage ../os-specific/darwin/kwm { }; @@ -14916,6 +14924,8 @@ with pkgs; pythonInterpreters = callPackage ./../development/interpreters/python { }; inherit (pythonInterpreters) python27 python37 python38 python39 python310 python311 python3Minimal pypy27 pypy38 pypy37 rustpython; + # List of extensions with overrides to apply to all Python package sets. + pythonPackagesExtensions = [ ]; # Python package sets. python27Packages = python27.pkgs; python37Packages = python37.pkgs; @@ -30322,6 +30332,8 @@ with pkgs; snixembed = callPackage ../applications/misc/snixembed { }; + sommelier = callPackage ../applications/window-managers/sommelier { }; + sooperlooper = callPackage ../applications/audio/sooperlooper { }; sops = callPackage ../tools/security/sops { }; @@ -32110,6 +32122,8 @@ with pkgs; stdenv = if stdenv.isDarwin then stdenv else llvmPackages_13.stdenv; }; + zecwallet-lite = callPackage ../applications/blockchains/zecwallet-lite { }; + lightwalletd = callPackage ../applications/blockchains/lightwalletd { }; openethereum = callPackage ../applications/blockchains/openethereum { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c5a7f89d4c31..4f59405ccfc0 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -17546,10 +17546,10 @@ let ParallelPipes = buildPerlModule { pname = "Parallel-Pipes"; - version = "0.005"; + version = "0.102"; src = fetchurl { - url = "mirror://cpan/authors/id/S/SK/SKAJI/Parallel-Pipes-0.005.tar.gz"; - sha256 = "44bd9e2be33d7b314f81c9b886a95d53514689090635f9fad53181f2d3051fd5"; + url = "mirror://cpan/authors/id/S/SK/SKAJI/Parallel-Pipes-0.102.tar.gz"; + sha256 = "sha256-JjZfgQXcYGsUC9HUX41w1cMFQ5D3Xk/bdISj5ZHL+pc="; }; buildInputs = [ ModuleBuildTiny ]; meta = { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 60485dcd9ea3..8a001705c8a4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2900,6 +2900,8 @@ in { eth-utils = callPackage ../development/python-modules/eth-utils { }; + etils = callPackage ../development/python-modules/etils { }; + etuples = callPackage ../development/python-modules/etuples { }; et_xmlfile = callPackage ../development/python-modules/et_xmlfile { };