diff --git a/doc/contributing/coding-conventions.chapter.md b/doc/contributing/coding-conventions.chapter.md index 6473fa151a43..585b8d3679c9 100644 --- a/doc/contributing/coding-conventions.chapter.md +++ b/doc/contributing/coding-conventions.chapter.md @@ -453,6 +453,9 @@ In the file `pkgs/top-level/all-packages.nix` you can find fetch helpers, these } ``` +When fetching from GitHub, commits must always be referenced by their full commit hash. This is because GitHub shares commit hashes among all forks and returns `404 Not Found` when a short commit hash is ambiguous. It already happens for some short, 6-character commit hashes in `nixpkgs`. +It is a practical vector for a denial-of-service attack by pushing large amounts of auto generated commits into forks and was already [demonstrated against GitHub Actions Beta](https://blog.teddykatz.com/2019/11/12/github-actions-dos.html). + Find the value to put as `sha256` by running `nix-shell -p nix-prefetch-github --run "nix-prefetch-github --rev 1f795f9f44607cc5bec70d1300150bfefcef2aae NixOS nix"`. ## Obtaining source hash {#sec-source-hashes} diff --git a/lib/systems/default.nix b/lib/systems/default.nix index eaee4ffa2874..1e65bcc26795 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -99,7 +99,7 @@ rec { genode = "Genode"; }.${final.parsed.kernel.name} or null; - # uname -p + # uname -m processor = final.parsed.cpu.name; # uname -r diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index a92d096d9fc2..7294ffcb8aff 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -490,6 +490,15 @@ github = "akho"; githubId = 104951; }; + akkesm = { + name = "Alessandro Barenghi"; + email = "alessandro.barenghi@tuta.io"; + github = "akkesm"; + githubId = 56970006; + keys = [{ + fingerprint = "50E2 669C AB38 2F4A 5F72 1667 0D6B FC01 D45E DADD"; + }]; + }; akru = { email = "mail@akru.me"; github = "akru"; @@ -2628,6 +2637,12 @@ githubId = 244239; name = "Mauricio Collares"; }; + CompEng0001 = { + email = "sb1501@canterbury.ac.uk"; + github = "CompEng0001"; + githubId = 40290417; + name = "Seb Blair"; + }; copumpkin = { email = "pumpkingod@gmail.com"; github = "copumpkin"; @@ -3121,6 +3136,12 @@ github = "delan"; githubId = 465303; }; + delehef = { + name = "Franklin Delehelle"; + email = "nix@odena.eu"; + github = "delehef"; + githubId = 1153808; + }; deliciouslytyped = { email = "47436522+deliciouslytyped@users.noreply.github.com"; github = "deliciouslytyped"; @@ -4893,6 +4914,15 @@ fingerprint = "5214 2D39 A7CE F8FA 872B CA7F DE62 E1E2 A614 5556"; }]; }; + gp2112 = { + email = "me@guip.dev"; + github = "gp2112"; + githubId = 26512375; + name = "Guilherme Paixão"; + keys = [{ + fingerprint = "4382 7E28 86E5 C34F 38D5 7753 8C81 4D62 5FBD 99D1"; + }]; + }; gpanders = { name = "Gregory Anders"; email = "greg@gpanders.com"; @@ -5532,6 +5562,12 @@ githubId = 1550265; name = "Dominic Steinitz"; }; + ifurther = { + email = "55025025+ifurther@users.noreply.github.com"; + github = "ifurther"; + githubId = 55025025; + name = "Feather Lin"; + }; igsha = { email = "igor.sharonov@gmail.com"; github = "igsha"; @@ -5643,6 +5679,16 @@ githubId = 510202; name = "Ismaël Bouya"; }; + impl = { + email = "noah@noahfontes.com"; + matrix = "@impl:matrix.org"; + github = "impl"; + githubId = 41129; + name = "Noah Fontes"; + keys = [{ + fingerprint = "F5B2 BE1B 9AAD 98FE 2916 5597 3665 FFF7 9D38 7BAA"; + }]; + }; imsofi = { email = "sofi+git@mailbox.org"; github = "imsofi"; diff --git a/nixos/lib/test-driver/test_driver/machine.py b/nixos/lib/test-driver/test_driver/machine.py index 117d9d59e025..e45c83086fb5 100644 --- a/nixos/lib/test-driver/test_driver/machine.py +++ b/nixos/lib/test-driver/test_driver/machine.py @@ -712,7 +712,7 @@ class Machine: status, _ = self.execute("nc -z localhost {}".format(port)) return status != 0 - with self.nested("waiting for TCP port {} to be closed"): + with self.nested("waiting for TCP port {} to be closed".format(port)): retry(port_is_closed) def start_job(self, jobname: str, user: Optional[str] = None) -> Tuple[int, str]: diff --git a/nixos/modules/services/monitoring/grafana.nix b/nixos/modules/services/monitoring/grafana.nix index d72aaf0464ed..dd99fa3ddccd 100644 --- a/nixos/modules/services/monitoring/grafana.nix +++ b/nixos/modules/services/monitoring/grafana.nix @@ -792,7 +792,7 @@ in { SystemCallArchitectures = "native"; # Upstream grafana is not setting SystemCallFilter for compatibility # reasons, see https://github.com/grafana/grafana/pull/40176 - SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ]; + SystemCallFilter = [ "@system-service" "~@privileged" ]; UMask = "0027"; }; preStart = '' diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix index 0eb9b158e686..0b70ae47ccf5 100644 --- a/nixos/modules/services/networking/nat.nix +++ b/nixos/modules/services/networking/nat.nix @@ -319,7 +319,10 @@ in } ]; - environment.systemPackages = [ pkgs.iptables ]; + # Use the same iptables package as in config.networking.firewall. + # When the firewall is enabled, this should be deduplicated without any + # error. + environment.systemPackages = [ config.networking.firewall.package ]; boot = { kernelModules = [ "nf_nat_ftp" ]; @@ -347,7 +350,7 @@ in description = "Network Address Translation"; wantedBy = [ "network.target" ]; after = [ "network-pre.target" "systemd-modules-load.service" ]; - path = [ pkgs.iptables ]; + path = [ config.networking.firewall.package ]; unitConfig.ConditionCapability = "CAP_NET_ADMIN"; serviceConfig = { diff --git a/pkgs/applications/editors/emacs/generic.nix b/pkgs/applications/editors/emacs/generic.nix index 6a1f199461ac..34853b890417 100644 --- a/pkgs/applications/editors/emacs/generic.nix +++ b/pkgs/applications/editors/emacs/generic.nix @@ -15,10 +15,10 @@ , libgccjit, targetPlatform, makeWrapper # native-comp params , fetchFromSavannah , systemd ? null -, withX ? !stdenv.isDarwin +, withX ? !stdenv.isDarwin && !withPgtk , withNS ? stdenv.isDarwin , withGTK2 ? false, gtk2-x11 ? null -, withGTK3 ? false, gtk3-x11 ? null, gsettings-desktop-schemas ? null +, withGTK3 ? withPgtk, gtk3-x11 ? null, gsettings-desktop-schemas ? null , withXwidgets ? false, webkitgtk ? null, wrapGAppsHook ? null, glib-networking ? null , withMotif ? false, motif ? null , withSQLite3 ? false @@ -29,7 +29,7 @@ , nativeComp ? true , withAthena ? false , withToolkitScrollBars ? true -, withPgtk ? false +, withPgtk ? false, gtk3 ? null , withXinput2 ? withX && lib.versionAtLeast version "29" , withImageMagick ? lib.versionOlder version "27" && (withX || withNS) , toolkit ? ( @@ -45,9 +45,10 @@ assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise assert withNS -> !withX; assert withNS -> stdenv.isDarwin; assert (withGTK2 && !withNS) -> withX; -assert (withGTK3 && !withNS) -> withX; -assert withGTK2 -> !withGTK3 && gtk2-x11 != null; -assert withGTK3 -> !withGTK2 && gtk3-x11 != null; +assert (withGTK3 && !withNS) -> withX || withPgtk; +assert withGTK2 -> !withGTK3 && gtk2-x11 != null && !withPgtk; +assert withGTK3 -> !withGTK2 && ((gtk3-x11 != null) || withPgtk); +assert withPgtk -> withGTK3 && !withX && gtk3 != null; assert withXwidgets -> withGTK3 && webkitgtk != null; @@ -134,7 +135,9 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp { ++ lib.optionals withImageMagick [ imagemagick ] ++ lib.optionals (stdenv.isLinux && withX) [ m17n_lib libotf ] ++ lib.optional (withX && withGTK2) gtk2-x11 - ++ lib.optionals (withX && withGTK3) [ gtk3-x11 gsettings-desktop-schemas ] + ++ lib.optional (withX && withGTK3) gtk3-x11 + ++ lib.optional withGTK3 gsettings-desktop-schemas + ++ lib.optional withPgtk gtk3 ++ lib.optional (withX && withMotif) motif ++ lib.optional withSQLite3 sqlite ++ lib.optional withWebP libwebp diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 6ddf060d5405..5643cad16cbe 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -48,6 +48,22 @@ let }; }; + _2gua.rainbow-brackets = buildVscodeMarketplaceExtension { + mktplcRef = { + publisher = "2gua"; + name = "rainbow-brackets"; + version = "0.0.6"; + sha256 = "TVBvF/5KQVvWX1uHwZDlmvwGjOO5/lXbgVzB26U8rNQ="; + }; + meta = with lib; { + description = "A Visual Studio Code extension providing rainbow brackets"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=2gua.rainbow-brackets"; + homepage = "https://github.com/lcultx/rainbow-brackets"; + license = licenses.mit; + maintainers = with maintainers; [ CompEng0001 ]; + }; + }; + _4ops.terraform = buildVscodeMarketplaceExtension { mktplcRef = { publisher = "4ops"; diff --git a/pkgs/applications/graphics/yacreader/default.nix b/pkgs/applications/graphics/yacreader/default.nix index 0a25889c2dcd..990e279c5901 100644 --- a/pkgs/applications/graphics/yacreader/default.nix +++ b/pkgs/applications/graphics/yacreader/default.nix @@ -1,22 +1,22 @@ { mkDerivation, lib, fetchFromGitHub, qmake, poppler, pkg-config, libunarr -, libGLU, qtdeclarative, qtgraphicaleffects, qtmultimedia, qtquickcontrols +, libGLU, qtdeclarative, qtgraphicaleffects, qtmultimedia, qtquickcontrols2 , qtscript }: mkDerivation rec { pname = "yacreader"; - version = "9.8.2"; + version = "9.9.1"; src = fetchFromGitHub { owner = "YACReader"; repo = pname; rev = version; - sha256 = "sha256-Xvf0xXtMs3x1fPgAvS4GJXrZgDZWhzIgrOF4yECr7/g="; + sha256 = "sha256-D+ZmFMg9ZixZNUAMjPHwz7gcwKjG49lm5hTEqftbIrY="; }; nativeBuildInputs = [ qmake pkg-config ]; buildInputs = [ poppler libunarr libGLU qtmultimedia qtscript ]; - propagatedBuildInputs = [ qtquickcontrols qtgraphicaleffects qtdeclarative ]; + propagatedBuildInputs = [ qtquickcontrols2 qtgraphicaleffects qtdeclarative ]; meta = { description = "A comic reader for cross-platform reading and managing your digital comic collection"; diff --git a/pkgs/applications/misc/electrum-grs/default.nix b/pkgs/applications/misc/electrum-grs/default.nix index d35941ccfb1b..e07e337477ae 100644 --- a/pkgs/applications/misc/electrum-grs/default.nix +++ b/pkgs/applications/misc/electrum-grs/default.nix @@ -9,7 +9,7 @@ }: let - version = "4.2.0"; + version = "4.3.1"; libsecp256k1_name = if stdenv.isLinux then "libsecp256k1.so.0" @@ -18,6 +18,7 @@ let libzbar_name = if stdenv.isLinux then "libzbar.so.0" + else if stdenv.isDarwin then "libzbar.0.dylib" else "libzbar${stdenv.hostPlatform.extensions.sharedLibrary}"; in @@ -30,7 +31,7 @@ python3.pkgs.buildPythonApplication { owner = "Groestlcoin"; repo = "electrum-grs"; rev = "refs/tags/v${version}"; - sha256 = "15n6snrs1kgdqkhp4wgs0bxxdz6mzl8dvf8h7s0jzc6r4b74vv3n"; + sha256 = "1h9r32wdn0p7br36r719x96c8gay83dijw80y2ks951mam16mkkb"; }; nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ]; @@ -63,7 +64,6 @@ python3.pkgs.buildPythonApplication { ]; preBuild = '' - sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py substituteInPlace ./electrum_grs/ecc_fast.py \ --replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary} '' + (if enableQt then '' @@ -74,16 +74,11 @@ python3.pkgs.buildPythonApplication { ''); postInstall = lib.optionalString stdenv.isLinux '' - # Despite setting usr_share above, these files are installed under $out/nix ... - mv $out/${python3.sitePackages}/nix/store/*/share $out - rm -rf $out/${python3.sitePackages}/nix - substituteInPlace $out/share/applications/electrum-grs.desktop \ --replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum-grs %u"' \ "Exec=$out/bin/electrum-grs %u" \ --replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum-grs --testnet %u"' \ "Exec=$out/bin/electrum-grs --testnet %u" - ''; postFixup = lib.optionalString enableQt '' diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix index 0fbfbcba3139..8f7ab1e5f9e0 100644 --- a/pkgs/applications/misc/gpxsee/default.nix +++ b/pkgs/applications/misc/gpxsee/default.nix @@ -1,14 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, qmake, qttools, qttranslations, qtlocation, qtpbfimageplugin, wrapQtAppsHook, substituteAll }: +{ lib, stdenv, fetchFromGitHub, nix-update-script, substituteAll +, qmake, qttools, qttranslations, qtlocation, qtpbfimageplugin, wrapQtAppsHook +}: stdenv.mkDerivation rec { pname = "gpxsee"; - version = "11.3"; + version = "11.4"; src = fetchFromGitHub { owner = "tumic0"; repo = "GPXSee"; rev = version; - sha256 = "sha256-n8busir6IYyWyGOv9AzYjm8erR0fjMAduIzITH+EvVI="; + hash = "sha256-aePX82B810I45n2t0OVCt1FlmkVKWgNgzCD71lYyngU="; }; patches = (substituteAll { @@ -30,6 +32,12 @@ stdenv.mkDerivation rec { mv GPXSee.app $out/Applications ''; + passthru = { + updateScript = nix-update-script { + attrPath = pname; + }; + }; + meta = with lib; { description = "GPS log file viewer and analyzer"; longDescription = '' diff --git a/pkgs/applications/misc/gum/default.nix b/pkgs/applications/misc/gum/default.nix index b552b6083258..8d77d75dafeb 100644 --- a/pkgs/applications/misc/gum/default.nix +++ b/pkgs/applications/misc/gum/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "gum"; - version = "0.5.0"; + version = "0.6.0"; src = fetchFromGitHub { owner = "charmbracelet"; repo = pname; rev = "v${version}"; - sha256 = "sha256-S+sbfo7F6+bJeHywxM3jkZN+7MNQh9YRyLPHTC4wZnk="; + sha256 = "sha256-pEULArQDwKZzpD0GVH21L1v9xVZiBz91kL/jPJjJav4="; }; vendorSha256 = "sha256-vvNoO5eABGVwvAzK33uPelmo3BKxfqiYgEXZI7kgeSo="; diff --git a/pkgs/applications/misc/passky-desktop/default.nix b/pkgs/applications/misc/passky-desktop/default.nix new file mode 100644 index 000000000000..f247329158ac --- /dev/null +++ b/pkgs/applications/misc/passky-desktop/default.nix @@ -0,0 +1,59 @@ +{ lib, stdenv, fetchurl, appimageTools, undmg }: + +let + pname = "passky-desktop"; + version = "5.0.0"; + + srcs = { + x86_64-linux = fetchurl { + url = "https://github.com/Rabbit-Company/Passky-Desktop/releases/download/v${version}/Passky-${version}.AppImage"; + sha256 = "19sy9y2bcxrf10ifszinh4yn32q3032h3d1qxm046zffzl069807"; + }; + x86_64-darwin = fetchurl { + url = "https://github.com/Rabbit-Company/Passky-Desktop/releases/download/v${version}/Passky-${version}.dmg"; + sha256 = "sha256-lclJOaYe+2XeKhJb2WcOAzjBMzK3YEmlS4rXuRUJYU0="; + }; + }; + src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + appimageContents = appimageTools.extract { inherit pname version src; }; + meta = with lib; { + homepage = "https://passky.org"; + downloadPage = "https://github.com/Rabbit-Company/Passky-Desktop/releases"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ akkesm ]; + platforms = builtins.attrNames srcs; + }; + + linux = appimageTools.wrapType2 { + inherit pname version src meta; + + extraInstallCommands = '' + mv $out/bin/${pname}-${version} $out/bin/${pname} + + install -D ${appimageContents}/passky.desktop \ + $out/share/applications/${pname}.desktop + + substituteInPlace $out/share/applications/${pname}.desktop \ + --replace 'Exec=AppRun' 'Exec=${pname}' + + cp -r ${appimageContents}/usr/share/icons $out/share + ''; + }; + + darwin = stdenv.mkDerivation { + inherit pname version src meta; + + nativeBuildInputs = [ undmg ]; + + sourceRoot = "."; + + installPhase = '' + mkdir -p $out/Applications + cp -r *.app $out/Applications + ''; + }; +in +if stdenv.isDarwin + then darwin + else linux diff --git a/pkgs/applications/misc/phockup/default.nix b/pkgs/applications/misc/phockup/default.nix new file mode 100644 index 000000000000..f93c2b78c4a1 --- /dev/null +++ b/pkgs/applications/misc/phockup/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, python3, fetchFromGitHub, exiftool, makeWrapper }: +let + pythonEnv = python3.withPackages (p: with p; [ tqdm ]); +in +stdenv.mkDerivation rec { + pname = "phockup"; + version = "1.7.1"; + + src = fetchFromGitHub { + owner = "ivandokov"; + repo = "phockup"; + rev = version; + sha256 = "sha256-Ho9aZjBvSwFMur2NubhP4olPN31SNTEdQGCUV7nX0uE="; + }; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + + # based roughly on https://github.com/ivandokov/phockup#linux-without-snap + mkdir -p $out/bin $out/opt + mv * $out/opt + makeWrapper ${pythonEnv.interpreter} $out/bin/phockup --add-flags "$out/opt/phockup.py" --suffix PATH : ${lib.makeBinPath [ exiftool ]} + + runHook postInstall + ''; + + meta = with lib; { + description = "Media sorting tool to organize photos and videos from your camera in folders by year, month and day"; + homepage = "https://github.com/ivandokov/phockup"; + license = licenses.mit; + maintainers = with maintainers; [ aanderse ]; + }; +} diff --git a/pkgs/applications/misc/warpd/default.nix b/pkgs/applications/misc/warpd/default.nix index e296eec1b345..185ad94f1a5a 100644 --- a/pkgs/applications/misc/warpd/default.nix +++ b/pkgs/applications/misc/warpd/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "warpd"; - version = "1.3.2"; + version = "1.3.3"; src = fetchFromGitHub { owner = "rvaiya"; repo = "warpd"; rev = "v${version}"; - sha256 = "AR/uLgNX1VLPEcfUd8cnplMiaoEJlUxQ55Fst62RnbI="; + sha256 = "sha256-QzMtPzuFVN8b4O250G38HAxerZewEu8MV/MDib7gh5A="; leaveDotGit = true; }; diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix index 932e33026f78..81066a86558e 100644 --- a/pkgs/applications/networking/browsers/brave/default.nix +++ b/pkgs/applications/networking/browsers/brave/default.nix @@ -90,11 +90,11 @@ in stdenv.mkDerivation rec { pname = "brave"; - version = "1.42.88"; + version = "1.43.89"; src = fetchurl { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; - sha256 = "sha256-Or3eTLwap6KFhO7ieLyAXS0NKga5eUbd3KyFq/YNg+c="; + sha256 = "sha256-eqwqn4cvVzoEmh206ybG6PWWg56ct53wYyRBOQ8wN5g="; }; dontConfigure = true; diff --git a/pkgs/applications/networking/cluster/arkade/default.nix b/pkgs/applications/networking/cluster/arkade/default.nix index 4b8bbc31caf9..1c1d9b024e62 100644 --- a/pkgs/applications/networking/cluster/arkade/default.nix +++ b/pkgs/applications/networking/cluster/arkade/default.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "arkade"; - version = "0.8.41"; + version = "0.8.42"; src = fetchFromGitHub { owner = "alexellis"; repo = "arkade"; rev = version; - sha256 = "sha256-PcP/D/uq+zl8Utbv7TkFGoZGpIGOddzSqaqrpSp6Rgw="; + sha256 = "sha256-bq4tCizdi8TPRWpNaDmD817rOpnSr9aR4tkDWn48K2w="; }; CGO_ENABLED = 0; diff --git a/pkgs/applications/networking/cluster/cmctl/default.nix b/pkgs/applications/networking/cluster/cmctl/default.nix index 3cef6be03c46..4a990caf3b50 100644 --- a/pkgs/applications/networking/cluster/cmctl/default.nix +++ b/pkgs/applications/networking/cluster/cmctl/default.nix @@ -7,8 +7,8 @@ buildGoModule rec { src = fetchFromGitHub { owner = "cert-manager"; repo = "cert-manager"; - rev = "v${version}"; - hash = "sha256-Z1aJ18X4mfJPlCPBC7QgfdX5Tk4+PK8mYoJZhGwz9ec="; + rev = "4486c01f726f17d2790a8a563ae6bc6e98465505"; + sha256 = "1rzm6dn88nc2c8kayg1y9r7gkmbx42s0ph93ji7z56gqqpbqjmk7"; }; vendorSha256 = "sha256-45+tZZAEHaLdTN1NQCueJVTx5x2IanwDl+Y9MELqdBE="; @@ -19,6 +19,8 @@ buildGoModule rec { "-s" "-w" "-X github.com/cert-manager/cert-manager/cmd/ctl/pkg/build.name=cmctl" "-X github.com/cert-manager/cert-manager/cmd/ctl/pkg/build/commands.registerCompletion=true" + "-X github.com/cert-manager/cert-manager/pkg/util.AppVersion=v${version}" + "-X github.com/cert-manager/cert-manager/pkg/util.AppGitCommit=${src.rev}" ]; nativeBuildInputs = [ installShellFiles ]; @@ -49,4 +51,3 @@ buildGoModule rec { maintainers = with maintainers; [ joshvanl superherointj ]; }; } - diff --git a/pkgs/applications/networking/cluster/cmctl/update.sh b/pkgs/applications/networking/cluster/cmctl/update.sh new file mode 100755 index 000000000000..70b088a6880a --- /dev/null +++ b/pkgs/applications/networking/cluster/cmctl/update.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl gnugrep gnused jq + +set -x -eu -o pipefail + +NIXPKGS_PATH="$(git rev-parse --show-toplevel)" +CMCTL_PATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" + +OLD_VERSION="$(nix-instantiate --eval -E "with import $NIXPKGS_PATH {}; cmctl.version or (builtins.parseDrvName cmctl.name).version" | tr -d '"')" +LATEST_TAG="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/cert-manager/cert-manager/releases" | jq '.[].tag_name' --raw-output | sed '/-/d' | sort --version-sort -r | head -n 1)" +LATEST_VERSION="${LATEST_TAG:1}" + +if [ ! "$OLD_VERSION" = "$LATEST_VERSION" ]; then + SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/cert-manager/cert-manager/archive/refs/tags/${LATEST_TAG}.tar.gz) + TAG_SHA=$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/cert-manager/cert-manager/git/ref/tags/${LATEST_TAG}" | jq -r '.object.sha') + TAG_COMMIT_SHA=$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/cert-manager/cert-manager/git/tags/${TAG_SHA}" | jq '.object.sha' --raw-output) + + setKV () { + sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" "${CMCTL_PATH}/default.nix" + } + + setKV version ${LATEST_VERSION} + setKV sha256 "${SHA256}" + setKV rev ${TAG_COMMIT_SHA} + setKV vendorSha256 "0000000000000000000000000000000000000000000000000000" # The same as lib.fakeSha256 + + set +e + VENDOR_SHA256=$(nix-build --no-out-link -A cmctl $NIXPKGS_PATH 2>&1 >/dev/null | grep "got:" | cut -d':' -f2 | sed 's| ||g') + set -e + + if [ -n "${VENDOR_SHA256:-}" ]; then + setKV vendorSha256 ${VENDOR_SHA256} + else + echo "Update failed. VENDOR_SHA256 is empty." + exit 1 + fi + + echo "updated cmctl to $LATEST_VERSION, please commit changes." +else + echo "cmctl is already up-to-date at $OLD_VERSION" +fi diff --git a/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix b/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix index 46115f4a56d7..235991396f57 100644 --- a/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "notmuch-bower"; - version = "0.13"; + version = "1.0"; src = fetchFromGitHub { owner = "wangp"; repo = "bower"; rev = version; - sha256 = "0r5s16pc3ym5nd33lv9ljv1p1gpb7yysrdni4g7w7yvjrnwk35l6"; + sha256 = "sha256-BNuJEVuzreI2AK/fqVMRHq8ZhPQjO33Y2FzkrWlfmm0="; }; nativeBuildInputs = [ mercury pandoc ]; diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 6fdc0e0d0051..e668b35d482f 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -4,16 +4,16 @@ let common = { stname, target, postInstall ? "" }: buildGoModule rec { pname = stname; - version = "1.20.4"; + version = "1.21.0"; src = fetchFromGitHub { owner = "syncthing"; repo = "syncthing"; rev = "v${version}"; - hash = "sha256-umnlYvCtT+76Yer17T7ZvWJ5sUdXu+7kiRikrmWrIM8="; + hash = "sha256-Qgp9fo3yZabxsCFhn7U9B2AcVSUb9GCzm7B81HrI1jY="; }; - vendorSha256 = "sha256-CJFKY69Iz8GrVpvUdDveMQQFj6RXApfgYjP7B1wfgfo="; + vendorSha256 = "sha256-rde7oyEZA8uGmkvz078Cu+aFrn9TuLTv0i7SW0ytyxU="; doCheck = false; diff --git a/pkgs/applications/office/beancount/beancount-ing-diba.nix b/pkgs/applications/office/beancount/beancount-ing-diba.nix new file mode 100644 index 000000000000..67c76f738119 --- /dev/null +++ b/pkgs/applications/office/beancount/beancount-ing-diba.nix @@ -0,0 +1,31 @@ +{ lib +, stdenv +, fetchFromGitHub +, buildPythonApplication +, poetry +}: + +buildPythonApplication rec { + pname = "beancount-ing-diba"; + version = "0.6.0"; + + src = fetchFromGitHub { + owner = "siddhantgoel"; + repo = "beancount-ing-diba"; + rev = "v${version}"; + sha256 = "sha256-1cdXqdeTz38n0g13EXJ1/IF/gJJCe1uL/Z5NJz4DL+E="; + }; + + format = "pyproject"; + + nativeBuildInputs = [ + poetry + ]; + + meta = with lib; { + homepage = "https://github.com/siddhantgoel/beancount-ing-diba"; + description = "Beancount Importers for ING-DiBa (Germany) CSV Exports"; + license = licenses.mit; + maintainers = with maintainers; [ matthiasbeyer ]; + }; +} diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix index 4e1497acc055..67a6f150efad 100644 --- a/pkgs/applications/science/chemistry/jmol/default.nix +++ b/pkgs/applications/science/chemistry/jmol/default.nix @@ -25,14 +25,14 @@ let }; in stdenv.mkDerivation rec { - version = "14.32.68"; + version = "14.32.73"; pname = "jmol"; src = let baseVersion = "${lib.versions.major version}.${lib.versions.minor version}"; in fetchurl { url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz"; - sha256 = "sha256-CCVy+24O5rlAxnd01TeYqcOhDoSrxebfR1Ez7VDDrW4="; + sha256 = "sha256-95bZ6SYPKH+CGHETfdt/0YcUiZaP1gBiNf70GfUd4+M="; }; patchPhase = '' diff --git a/pkgs/applications/science/math/polymake/default.nix b/pkgs/applications/science/math/polymake/default.nix index d132a98dcb9a..073275e410b7 100644 --- a/pkgs/applications/science/math/polymake/default.nix +++ b/pkgs/applications/science/math/polymake/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "polymake"; - version = "4.6"; + version = "4.7"; src = fetchurl { # "The minimal version is a packager friendly version which omits # the bundled sources of cdd, lrs, libnormaliz, nauty and jReality." url = "https://polymake.org/lib/exe/fetch.php/download/polymake-${version}-minimal.tar.bz2"; - sha256 = "sha256-QjpE3e8R6uqEV6sV3V2G3beovMbJuxF3b54pWNfc+dA="; + sha256 = "sha256-1qv+3gIsbM1xHh02S3ybkcvVkKS3OZDNNWfJt2nybmE="; }; buildInputs = [ diff --git a/pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch b/pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch new file mode 100644 index 000000000000..764ecffa2377 --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch @@ -0,0 +1,21 @@ +diff --git a/src/sage_docbuild/ext/multidocs.py b/src/sage_docbuild/ext/multidocs.py +index f91c7753ca..edeb81ff2e 100644 +--- a/src/sage_docbuild/ext/multidocs.py ++++ b/src/sage_docbuild/ext/multidocs.py +@@ -284,6 +284,16 @@ def init_subdoc(app): + if not app.config.multidoc_first_pass: + app.connect('env-updated', fetch_citation) + ++ def fix_matplotlib_css_permissions(app: Sphinx, env): ++ css_file = os.path.join(app.builder.outdir, '_static', 'plot_directive.css') ++ try: ++ os.chmod(css_file, 0o644) ++ except: ++ pass ++ ++ # executed after matplotlib's _copy_css_file ++ app.connect('build-finished', fix_matplotlib_css_permissions, priority=600) ++ + # Monkey patch copy_static_files to make a symlink to "../" + def link_static_files(): + """ diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index 514cbb66ea7d..8da3c0358f45 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -81,6 +81,10 @@ stdenv.mkDerivation rec { # Parallelize docubuild using subprocesses, fixing an isolation issue. See # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE ./patches/sphinx-docbuild-subprocesses.patch + + # Docbuilding copies files from the Nix store and expects them to be writable. + # Remove when https://github.com/matplotlib/matplotlib/pull/23805 lands. + ./patches/sphinx-fix-matplotlib-css-perms.patch ]; # Since sage unfortunately does not release bugfix releases, packagers must diff --git a/pkgs/applications/terminal-emulators/wezterm/default.nix b/pkgs/applications/terminal-emulators/wezterm/default.nix index 0342b6817c66..ebf7883e3657 100644 --- a/pkgs/applications/terminal-emulators/wezterm/default.nix +++ b/pkgs/applications/terminal-emulators/wezterm/default.nix @@ -29,14 +29,14 @@ rustPlatform.buildRustPackage rec { pname = "wezterm"; - version = "20220903-194523-3bb1ed61"; + version = "20220905-102802-7d4b8249"; src = fetchFromGitHub { owner = "wez"; repo = pname; rev = version; fetchSubmodules = true; - sha256 = "sha256-R5DFBO6U1hVDCjvvNF2nDoldl+mzkrjaXR5rIPCosmM="; + sha256 = "sha256-Xvi0bluLM4F3BFefIPhkhTF3dmRvP8u+qV70Rz4CGKI="; }; postPatch = '' @@ -46,7 +46,7 @@ rustPlatform.buildRustPackage rec { rm -r wezterm-ssh/tests ''; - cargoSha256 = "sha256-x2n8ti9zk+h2MrwDg/FgRWTQJmCAckxE2fOHgrWdayA="; + cargoSha256 = "sha256-XJAeMDwtLtBzHMU/cb3lZgmcw5F3ifjKzKVmuP85/RY="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix index 34246f13b0c5..b9be0a2b6eb1 100644 --- a/pkgs/applications/video/obs-studio/plugins/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/default.nix @@ -1,18 +1,34 @@ { callPackage, libsForQt5, pkgsi686Linux }: +# When adding new plugins: +# - Respect alphabetical order. On diversion, file a PR. +# - Plugin name should reflect upstream's name. Including or excluding "obs" prefix/suffix. +# - Add plugin to it's own directory (because of future patches). + { - obs-gstreamer = callPackage ./obs-gstreamer.nix {}; - obs-move-transition = callPackage ./obs-move-transition.nix {}; - obs-multi-rtmp = libsForQt5.callPackage ./obs-multi-rtmp.nix {}; - obs-ndi = libsForQt5.callPackage ./obs-ndi.nix {}; - obs-websocket = libsForQt5.callPackage ./obs-websocket.nix {}; - wlrobs = callPackage ./wlrobs.nix {}; - looking-glass-obs = callPackage ./looking-glass-obs.nix {}; - obs-nvfbc = callPackage ./obs-nvfbc.nix {}; - obs-pipewire-audio-capture = callPackage ./obs-pipewire-audio-capture.nix {}; + looking-glass-obs = callPackage ./looking-glass-obs.nix { }; + + obs-backgroundremoval = callPackage ./obs-backgroundremoval.nix { }; + + obs-gstreamer = callPackage ./obs-gstreamer.nix { }; + + obs-hyperion = callPackage ./obs-hyperion/default.nix { }; + + obs-move-transition = callPackage ./obs-move-transition.nix { }; + + obs-multi-rtmp = libsForQt5.callPackage ./obs-multi-rtmp.nix { }; + + obs-ndi = libsForQt5.callPackage ./obs-ndi.nix { }; + + obs-nvfbc = callPackage ./obs-nvfbc.nix { }; + + obs-pipewire-audio-capture = callPackage ./obs-pipewire-audio-capture.nix { }; + obs-vkcapture = callPackage ./obs-vkcapture.nix { obs-vkcapture32 = pkgsi686Linux.obs-studio-plugins.obs-vkcapture; }; - obs-backgroundremoval = callPackage ./obs-backgroundremoval.nix {}; - obs-hyperion = callPackage ./obs-hyperion/default.nix {}; + + obs-websocket = libsForQt5.callPackage ./obs-websocket.nix { }; + + wlrobs = callPackage ./wlrobs.nix { }; } diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix index a8ed68b088bd..0b7432136144 100644 --- a/pkgs/development/libraries/libxslt/default.nix +++ b/pkgs/development/libraries/libxslt/default.nix @@ -50,8 +50,7 @@ stdenv.mkDerivation rec { "--without-debug" "--without-mem-debug" "--without-debugger" - ] ++ lib.optionals pythonSupport [ - "--with-python=${python}" + (lib.withFeatureAs pythonSupport "python" python) ] ++ lib.optionals (!cryptoSupport) [ "--without-crypto" ]; diff --git a/pkgs/development/node-packages/overrides.nix b/pkgs/development/node-packages/overrides.nix index 62a3daea8398..b03a76f31005 100644 --- a/pkgs/development/node-packages/overrides.nix +++ b/pkgs/development/node-packages/overrides.nix @@ -517,8 +517,8 @@ final: prev: { postInstall = '' cd node_modules for dep in ${final.vega-cli}/lib/node_modules/vega-cli/node_modules/*; do - if [[ ! -d $dep ]]; then - ln -s "${final.vega-cli}/lib/node_modules/vega-cli/node_modules/$dep" + if [[ ! -d ''${dep##*/} ]]; then + ln -s "${final.vega-cli}/lib/node_modules/vega-cli/node_modules/''${dep##*/}" fi done ''; diff --git a/pkgs/development/php-packages/php-cs-fixer/default.nix b/pkgs/development/php-packages/php-cs-fixer/default.nix index 596e5dd0c78f..0d297a35a83c 100644 --- a/pkgs/development/php-packages/php-cs-fixer/default.nix +++ b/pkgs/development/php-packages/php-cs-fixer/default.nix @@ -1,14 +1,14 @@ { mkDerivation, fetchurl, makeWrapper, lib, php }: let pname = "php-cs-fixer"; - version = "3.10.0"; + version = "3.11.0"; in mkDerivation { inherit pname version; src = fetchurl { url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar"; - sha256 = "sha256-dhXktw9wctIwvIlME4c4yBw7qBffetiERt1C6QWCrQo="; + sha256 = "sha256-hnSHR/tDX1w/4SV6fafvUHg4JwTQJxfwKaKvEbUWJjs="; }; dontUnpack = true; diff --git a/pkgs/development/python-modules/assay/default.nix b/pkgs/development/python-modules/assay/default.nix new file mode 100644 index 000000000000..b019e24579ce --- /dev/null +++ b/pkgs/development/python-modules/assay/default.nix @@ -0,0 +1,22 @@ +{ lib, buildPythonPackage, fetchFromGitHub }: + +buildPythonPackage rec { + pname = "assay"; + version = "unstable-2022-01-19"; + + src = fetchFromGitHub { + owner = "brandon-rhodes"; + repo = pname; + rev = "bb62d1f7d51d798b05a88045fff3a2ff92c299c3"; + sha256 = "sha256-FuAD74mFJ9F9AMgB3vPmODAlZKgPR7FQ4yn7HEBS5Rw="; + }; + + pythonImportsCheck = [ "assay" ]; + + meta = with lib; { + homepage = "https://github.com/brandon-rhodes/assay"; + description = "Attempt to write a Python testing framework I can actually stand"; + license = licenses.mit; + maintainers = with maintainers; [ zane ]; + }; +} diff --git a/pkgs/development/python-modules/bayesian-optimization/default.nix b/pkgs/development/python-modules/bayesian-optimization/default.nix index ec27aa5e37ae..03ac94ad6044 100644 --- a/pkgs/development/python-modules/bayesian-optimization/default.nix +++ b/pkgs/development/python-modules/bayesian-optimization/default.nix @@ -4,8 +4,9 @@ , fetchFromGitHub , scikit-learn , scipy -, pytest +, pytestCheckHook , isPy27 +, fetchpatch }: buildPythonPackage rec { @@ -25,15 +26,31 @@ buildPythonPackage rec { scipy ]; - checkInputs = [ pytest ]; - checkPhase = '' - # New sklearn broke one test: https://github.com/fmfn/BayesianOptimization/issues/243 - pytest tests -k "not test_suggest_with_one_observation" - ''; + patches = [ + # TypeError with scipy >= 1.8 + # https://github.com/fmfn/BayesianOptimization/issues/300 + (fetchpatch { + url = "https://github.com/fmfn/BayesianOptimization/commit/b4e09a25842985a4a0acea0c0f5c8789b7be125e.patch"; + sha256 = "sha256-PfcifCFd4GRNTA+4+T+6A760QAgyZxhDCTyzNn2crdM="; + name = "scipy_18_fix.patch"; + }) + ]; + + checkInputs = [ pytestCheckHook ]; + + disabledTests = [ + # New sklearn broke one test + # https://github.com/fmfn/BayesianOptimization/issues/243 + "test_suggest_with_one_observation" + ]; + + pythonImportsCheck = [ "bayes_opt" ]; meta = with lib; { broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin; - description = "A Python implementation of global optimization with gaussian processes"; + description = '' + A Python implementation of global optimization with gaussian processes + ''; homepage = "https://github.com/fmfn/BayesianOptimization"; license = licenses.mit; maintainers = [ maintainers.juliendehos ]; diff --git a/pkgs/development/python-modules/bluemaestro-ble/default.nix b/pkgs/development/python-modules/bluemaestro-ble/default.nix new file mode 100644 index 000000000000..518a1c580a95 --- /dev/null +++ b/pkgs/development/python-modules/bluemaestro-ble/default.nix @@ -0,0 +1,55 @@ +{ lib +, bluetooth-data-tools +, bluetooth-sensor-state-data +, buildPythonPackage +, fetchFromGitHub +, poetry-core +, pytestCheckHook +, pythonOlder +, sensor-state-data +}: + +buildPythonPackage rec { + pname = "bluemaestro-ble"; + version = "0.2.0"; + format = "pyproject"; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "Bluetooth-Devices"; + repo = pname; + rev = "v${version}"; + hash = "sha256-lJYbbF6b1CazD/aVTNoZvyfH/XQf5jWBsddDdrP+FKA="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + bluetooth-data-tools + bluetooth-sensor-state-data + sensor-state-data + ]; + + checkInputs = [ + pytestCheckHook + ]; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace " --cov=bluemaestro_ble --cov-report=term-missing:skip-covered" "" + ''; + + pythonImportsCheck = [ + "bluemaestro_ble" + ]; + + meta = with lib; { + description = "Library for bluemaestro BLE devices"; + homepage = "https://github.com/Bluetooth-Devices/bluemaestro-ble"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/cairo-lang/default.nix b/pkgs/development/python-modules/cairo-lang/default.nix index de2b0253e1b5..00a9361c27f8 100644 --- a/pkgs/development/python-modules/cairo-lang/default.nix +++ b/pkgs/development/python-modules/cairo-lang/default.nix @@ -29,11 +29,11 @@ buildPythonPackage rec { pname = "cairo-lang"; - version = "0.9.1"; + version = "0.10.0"; src = fetchzip { url = "https://github.com/starkware-libs/cairo-lang/releases/download/v${version}/cairo-lang-${version}.zip"; - sha256 = "sha256-i4030QLG6PssfKD5FO4VrZxap19obMZ3Aa77p5MXlNY="; + sha256 = "sha256-+PE7RSKEGADbue63FoT6UBOwURJs7lBNkL7aNlpSxP8="; }; # TODO: remove a substantial part when https://github.com/starkware-libs/cairo-lang/pull/88/files is merged. diff --git a/pkgs/development/python-modules/ete3/default.nix b/pkgs/development/python-modules/ete3/default.nix new file mode 100644 index 000000000000..6b27d2e073bc --- /dev/null +++ b/pkgs/development/python-modules/ete3/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchPypi +, isPy3k +, numpy +, six +, withTreeVisualization ? false +, lxml +, withXmlSupport ? false +, pyqt4 +, pyqt5 +}: + +buildPythonPackage rec { + pname = "ete3"; + version = "3.1.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "4fc987b8c529889d6608fab1101f1455cb5cbd42722788de6aea9c7d0a8e59e9"; + }; + + + doCheck = false; # Tests are (i) not 3.x compatible, (ii) broken under 2.7 + pythonImportsCheck = [ "ete3" ]; + + propagatedBuildInputs = [ six numpy ] + ++ lib.optional withTreeVisualization (if isPy3k then pyqt5 else pyqt4) + ++ lib.optional withXmlSupport lxml; + + meta = with lib; { + description = "A Python framework for the analysis and visualization of trees"; + homepage = "http://etetoolkit.org/"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ delehef ]; + }; +} diff --git a/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix b/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix index 8649e0698271..dbf5b148b0f3 100644 --- a/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix +++ b/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "faraday-agent-parameters-types"; - version = "1.0.3"; + version = "1.0.4"; src = fetchPypi { pname = "faraday_agent_parameters_types"; inherit version; - sha256 = "6155669db477c3330c0850814eabe231bbbadf9d2ec57b4f734994f76eaee0e7"; + sha256 = "sha256-ldGCn0VzoMRFekCPMprNLpaL5Jts5MRv5Ym1qoJwjXA="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix b/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix index a4f9e638c3d9..bd872ab7a710 100644 --- a/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix +++ b/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix @@ -9,11 +9,11 @@ buildPythonPackage rec { pname = "google-cloud-bigquery-storage"; - version = "2.14.2"; + version = "2.15.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-VUCQSpykLuwYrzgz3YImODesRLdr1NuSreGShX2+oEw="; + sha256 = "sha256-v0g6gK4cmELH1cmRl9EDJceEOW3vKgR9GSZ2oHKzrG0="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-dlp/default.nix b/pkgs/development/python-modules/google-cloud-dlp/default.nix index a5bf4ccfa4d5..4b50072264ad 100644 --- a/pkgs/development/python-modules/google-cloud-dlp/default.nix +++ b/pkgs/development/python-modules/google-cloud-dlp/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "google-cloud-dlp"; - version = "3.8.1"; + version = "3.9.0"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-jNsIpg5M8r7SfzldmcsAqoyKI/7pwwo/Zk7KBwdOxJQ="; + hash = "sha256-fTBNCox9Hbk4iNQfxZZRfNiOozaIL5HTrsN/Parc6m0="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-translate/default.nix b/pkgs/development/python-modules/google-cloud-translate/default.nix index ce0184b8d719..dfe50519c428 100644 --- a/pkgs/development/python-modules/google-cloud-translate/default.nix +++ b/pkgs/development/python-modules/google-cloud-translate/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "google-cloud-translate"; - version = "3.8.1"; + version = "3.8.2"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-1g+bCXNeSMm166qlNU/ZwhC9IMdmPkGAtaxpYfmxOU8="; + hash = "sha256-wxKWoRQ8DW94De9Z0sOYjm+oTXuEcW5Vw3Iu4YITBQ0="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/jplephem/default.nix b/pkgs/development/python-modules/jplephem/default.nix new file mode 100644 index 000000000000..a55c1ed15ee5 --- /dev/null +++ b/pkgs/development/python-modules/jplephem/default.nix @@ -0,0 +1,28 @@ +{ lib, buildPythonPackage, fetchPypi, numpy, pytestCheckHook }: + +buildPythonPackage rec { + pname = "jplephem"; + version = "2.17"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-4cblVlxNAEhfEGMkG00e/wRFhcIrjpf60P8vbvuKqic="; + }; + + propagatedBuildInputs = [ numpy ]; + + # Weird import error, only happens in testing: + # File "/build/jplephem-2.17/jplephem/daf.py", line 10, in + # from numpy import array as numpy_array, ndarray + # ImportError: cannot import name 'array' from 'sys' (unknown location) + doCheck = false; + + pythonImportsCheck = [ "jplephem" ]; + + meta = with lib; { + homepage = "https://github.com/brandon-rhodes/python-jplephem/"; + description = "Python version of NASA DE4xx ephemerides, the basis for the Astronomical Alamanac"; + license = licenses.mit; + maintainers = with maintainers; [ zane ]; + }; +} diff --git a/pkgs/development/python-modules/libsixel/default.nix b/pkgs/development/python-modules/libsixel/default.nix new file mode 100644 index 000000000000..7760bb867479 --- /dev/null +++ b/pkgs/development/python-modules/libsixel/default.nix @@ -0,0 +1,30 @@ +{ buildPythonPackage +, lib +, libsixel +}: + +buildPythonPackage rec { + version = libsixel.version; + pname = "libsixel"; + + src = libsixel.src; + sourceRoot = "${src.name}/python"; + + prePatch = '' + substituteInPlace libsixel/__init__.py --replace \ + 'from ctypes.util import find_library' \ + 'find_library = lambda _x: "${lib.getLib libsixel}/lib/libsixel.so"' + ''; + + # no tests + doCheck = false; + + pythonImportsCheck = [ "libsixel" ]; + + meta = with lib; { + description = "SIXEL graphics encoder/decoder implementation"; + homepage = "https://github.com/libsixel/libsixel"; + license = licenses.mit; + maintainers = with maintainers; [ rmcgibbo ]; + }; +} diff --git a/pkgs/development/python-modules/niapy/default.nix b/pkgs/development/python-modules/niapy/default.nix index b83091cc1dad..867c7969e545 100644 --- a/pkgs/development/python-modules/niapy/default.nix +++ b/pkgs/development/python-modules/niapy/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "niapy"; - version = "2.0.2"; + version = "2.0.3"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -19,8 +19,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "NiaOrg"; repo = "NiaPy"; - rev = version; - hash = "sha256-b/0TEO27fPuoPzkNBCwgUqBG+8htOR2ipFikpqjYdnM="; + rev = "refs/tags/${version}"; + hash = "sha256-h3bCitNFjw2WQtsQFR25VJlNVMojdfik+lrPMKwp8Mw="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/psycopg/ctypes.patch b/pkgs/development/python-modules/psycopg/ctypes.patch new file mode 100644 index 000000000000..a76d38f85e80 --- /dev/null +++ b/pkgs/development/python-modules/psycopg/ctypes.patch @@ -0,0 +1,46 @@ +diff --git a/psycopg/psycopg/pq/_pq_ctypes.py b/psycopg/psycopg/pq/_pq_ctypes.py +index 4f9d00fb..24b90ef6 100644 +--- a/psycopg/psycopg/pq/_pq_ctypes.py ++++ b/psycopg/psycopg/pq/_pq_ctypes.py +@@ -11,14 +11,10 @@ from ctypes import Structure, CFUNCTYPE, POINTER + from ctypes import c_char, c_char_p, c_int, c_size_t, c_ubyte, c_uint, c_void_p + from typing import List, Optional, Tuple + +-from .misc import find_libpq_full_path + from ..errors import NotSupportedError + +-libname = find_libpq_full_path() +-if not libname: +- raise ImportError("libpq library not found") + +-pq = ctypes.cdll.LoadLibrary(libname) ++pq = ctypes.cdll.LoadLibrary("@libpq@") + + + class FILE(Structure): +@@ -28,9 +24,7 @@ class FILE(Structure): + FILE_ptr = POINTER(FILE) + + if sys.platform == "linux": +- libcname = ctypes.util.find_library("c") +- assert libcname +- libc = ctypes.cdll.LoadLibrary(libcname) ++ libc = ctypes.cdll.LoadLibrary("@libc@") + + fdopen = libc.fdopen + fdopen.argtypes = (c_int, c_char_p) +diff --git a/tests/fix_pq.py b/tests/fix_pq.py +index 6811a26c..c1829c82 100644 +--- a/tests/fix_pq.py ++++ b/tests/fix_pq.py +@@ -51,9 +51,7 @@ def libpq(): + from psycopg.pq.misc import find_libpq_full_path + + # Not available when testing the binary package +- libname = find_libpq_full_path() +- assert libname, "libpq libname not found" +- return ctypes.pydll.LoadLibrary(libname) ++ return ctypes.pydll.LoadLibrary("@libpq@") + except Exception as e: + if pq.__impl__ == "binary": + pytest.skip(f"can't load libpq for testing: {e}") diff --git a/pkgs/development/python-modules/psycopg/default.nix b/pkgs/development/python-modules/psycopg/default.nix index a5fe3150d5d9..1f096ccac321 100644 --- a/pkgs/development/python-modules/psycopg/default.nix +++ b/pkgs/development/python-modules/psycopg/default.nix @@ -32,19 +32,20 @@ let pname = "psycopg"; - version = "3.1"; + version = "3.1.1"; src = fetchFromGitHub { owner = "psycopg"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-N0Qc8pSWN2NFZn06lYZ7DKMbk6H8aIByS+wDnOQ/O+Y="; + hash = "sha256-PrWHjs8PLmx7bgKtyhXaiSKmz9oT2OhXDkKd4xi7e0A="; }; patches = [ (substituteAll { - src = ./libpq.patch; + src = ./ctypes.patch; libpq = "${postgresql.lib}/lib/libpq${stdenv.hostPlatform.extensions.sharedLibrary}"; + libc = "${stdenv.cc.libc}/lib/libc.so.6"; }) ]; diff --git a/pkgs/development/python-modules/psycopg/libpq.patch b/pkgs/development/python-modules/psycopg/libpq.patch deleted file mode 100644 index 51271c3021aa..000000000000 --- a/pkgs/development/python-modules/psycopg/libpq.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/psycopg/psycopg/pq/_pq_ctypes.py b/psycopg/psycopg/pq/_pq_ctypes.py -index bf04d560..9e79fc3f 100644 ---- a/psycopg/psycopg/pq/_pq_ctypes.py -+++ b/psycopg/psycopg/pq/_pq_ctypes.py -@@ -13,16 +13,7 @@ from typing import List, Optional, Tuple - - from ..errors import NotSupportedError - --if sys.platform == "win32": -- libname = ctypes.util.find_library("libpq.dll") --elif sys.platform == "darwin": -- libname = ctypes.util.find_library("libpq.dylib") --else: -- libname = ctypes.util.find_library("pq") --if not libname: -- raise ImportError("libpq library not found") -- --pq = ctypes.cdll.LoadLibrary(libname) -+pq = ctypes.cdll.LoadLibrary("@libpq@") - - # Get the libpq version to define what functions are available. - diff --git a/pkgs/development/python-modules/pyjnius/default.nix b/pkgs/development/python-modules/pyjnius/default.nix new file mode 100644 index 000000000000..b53dd83205f3 --- /dev/null +++ b/pkgs/development/python-modules/pyjnius/default.nix @@ -0,0 +1,31 @@ +{ buildPythonPackage +, cython +, fetchPypi +, jdk +, lib +, six +}: + +buildPythonPackage rec { + pname = "pyjnius"; + version = "1.4.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "8bc1a1b06fb11df8dd8b8d56f5ecceab614d4ba70cf559c64ae2f146423d53ce"; + }; + propagatedBuildInputs = [ + six + ]; + + nativeBuildInputs = [ jdk cython ]; + + pythonImportsCheck = [ "jnius" ]; + + meta = with lib; { + description = "A Python module to access Java classes as Python classes using the Java Native Interface (JNI)"; + homepage = "https://github.com/kivy/pyjnius"; + license = licenses.mit; + maintainers = with maintainers; [ ifurther ]; + }; +} diff --git a/pkgs/development/python-modules/sgp4/default.nix b/pkgs/development/python-modules/sgp4/default.nix new file mode 100644 index 000000000000..1b8ecc0b46ba --- /dev/null +++ b/pkgs/development/python-modules/sgp4/default.nix @@ -0,0 +1,22 @@ +{ lib, buildPythonPackage, fetchPypi, tox, numpy }: + +buildPythonPackage rec { + pname = "sgp4"; + version = "2.21"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-YXm4dQRId+lBYzwgr3ci/SMaiNiomvAb8wvWTzPN7O8="; + }; + + checkInputs = [ tox numpy ]; + + pythonImportsCheck = [ "sgp4" ]; + + meta = with lib; { + homepage = "https://github.com/brandon-rhodes/python-sgp4"; + description = "Python version of the SGP4 satellite position library"; + license = licenses.mit; + maintainers = with maintainers; [ zane ]; + }; +} diff --git a/pkgs/development/python-modules/skyfield/default.nix b/pkgs/development/python-modules/skyfield/default.nix new file mode 100644 index 000000000000..c6b3c69fc3e9 --- /dev/null +++ b/pkgs/development/python-modules/skyfield/default.nix @@ -0,0 +1,37 @@ +{ lib, buildPythonPackage, fetchFromGitHub, certifi, numpy, sgp4, jplephem +, pandas, ipython, matplotlib, assay +}: + +buildPythonPackage rec { + pname = "skyfield"; + version = "1.42"; + + src = fetchFromGitHub { + owner = "skyfielders"; + repo = "python-skyfield"; + rev = version; + sha256 = "sha256-aoSkuLhZcEy+13EJQOBHV2/rgmN6aZQHqfj4OOirOG0="; + }; + + propagatedBuildInputs = [ certifi numpy sgp4 jplephem ]; + + checkInputs = [ pandas ipython matplotlib assay ]; + + checkPhase = '' + runHook preCheck + + cd ci + assay --batch skyfield.tests + + runHook postCheck + ''; + + pythonImportsCheck = [ "skyfield" ]; + + meta = with lib; { + homepage = "https://github.com/skyfielders/python-skyfield"; + description = "Elegant astronomy for Python"; + license = licenses.mit; + maintainers = with maintainers; [ zane ]; + }; +} diff --git a/pkgs/development/python-modules/tcxreader/default.nix b/pkgs/development/python-modules/tcxreader/default.nix new file mode 100644 index 000000000000..1f20dfeffdf7 --- /dev/null +++ b/pkgs/development/python-modules/tcxreader/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "tcxreader"; + version = "0.4.1"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "alenrajsp"; + repo = "tcxreader"; + rev = "v${version}"; + hash = "sha256-gPoYxdYCHVzSjCxhodRsbd60dGbPQtQQihdT0h3uVpU="; + }; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "tcxreader" + ]; + + meta = with lib; { + description = "A reader for Garmin’s TCX file format."; + homepage = "https://github.com/alenrajsp/tcxreader"; + license = licenses.mit; + maintainers = with maintainers; [ firefly-cpp ]; + }; +} + diff --git a/pkgs/development/python-modules/telegraph/default.nix b/pkgs/development/python-modules/telegraph/default.nix new file mode 100644 index 000000000000..a27db889c887 --- /dev/null +++ b/pkgs/development/python-modules/telegraph/default.nix @@ -0,0 +1,52 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, requests +, httpx +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "telegraph"; + version = "2.1.0"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + repo = "telegraph"; + owner = "python273"; + sha256 = "ChlQJu4kHkXUf4gOtW5HS+ThP3eQL7LsyANeS/10pLo="; + rev = "da629de7c00c3b8b0c7ab8ef4bf23caf419a3c6c"; + }; + + checkInputs = [ pytestCheckHook ]; + + pytestFlagsArray = [ "tests/" ]; + + disabledTests = [ + "test_get_page" + ]; + + doCheck = true; + + propagatedBuildInputs = [ + requests + ]; + + passthru.optional-dependencies = { + aio = [ + httpx + ]; + }; + + + pythonImportsCheck = [ "telegraph" ]; + + meta = with lib; { + homepage = "https://github.com/python273/telegraph"; + description = "Telegraph API wrapper"; + license = licenses.mit; + maintainers = with maintainers; [ gp2112 ]; + }; +} + diff --git a/pkgs/development/tools/build-managers/goredo/default.nix b/pkgs/development/tools/build-managers/goredo/default.nix new file mode 100644 index 000000000000..473cbb8202bd --- /dev/null +++ b/pkgs/development/tools/build-managers/goredo/default.nix @@ -0,0 +1,58 @@ +{ buildGoModule +, fetchurl +, lib +, zstd +, sharness +, python3 +, perl +}: + +buildGoModule rec { + pname = "goredo"; + version = "1.21.0"; + + src = fetchurl { + url = "http://www.goredo.cypherpunks.ru/download/${pname}-${version}.tar.zst"; + hash = "sha256-h882pt+xZWlhFLQar1kfmSAzMscwMXAajT6ezZl9P8M="; + }; + + patches = [ ./fix-tests.diff ]; + + nativeBuildInputs = [ zstd ]; + + checkInputs = lib.optionals doCheck [ python3 perl ]; + + SHARNESS_TEST_SRCDIR = sharness + "/share/sharness"; + + vendorSha256 = null; + subPackages = [ "." ]; + + preBuild = "cd src"; + + postBuild = '' + ( cd $GOPATH/bin; ./goredo -symlinks ) + cd .. + ''; + + doCheck = true; + checkPhase = '' + runHook preCheck + export PATH=$GOPATH/bin:$PATH + prove -f + runHook postCheck + ''; + + postInstall = '' + mkdir -p "$out/share/info" + cp goredo.info "$out/share/info" + ''; + + outputs = [ "out" "info" ]; + + meta = with lib; { + description = "djb's redo, a system for building files from source files. Written in Go"; + homepage = "https://www.goredo.cypherpunks.ru"; + license = licenses.gpl3; + maintainers = [ maintainers.spacefrogg ]; + }; +} diff --git a/pkgs/development/tools/build-managers/goredo/fix-tests.diff b/pkgs/development/tools/build-managers/goredo/fix-tests.diff new file mode 100644 index 000000000000..dd754870f75f --- /dev/null +++ b/pkgs/development/tools/build-managers/goredo/fix-tests.diff @@ -0,0 +1,36 @@ +diff -ur goredo-1.4.1/t/apenwarr/105-sympath/all.do goredo-1.4.1.new/t/apenwarr/105-sympath/all.do +--- goredo-1.4.1/t/apenwarr/105-sympath/all.do 2021-04-29 14:03:11.000000000 +0200 ++++ goredo-1.4.1.new/t/apenwarr/105-sympath/all.do 2021-05-10 15:04:46.912799930 +0200 +@@ -11,12 +11,13 @@ + ( + cd y/x/x/x/x/x + IFS=$(printf '\n') ++ _wd=$(env pwd) + redo-ifchange static x/x/x/static $PWD/static \ +- $(/bin/pwd)/static /etc/passwd ++ $_wd/static /etc/passwd + # goredo: that symlink path is not resolving even at OS level + # redo-ifchange $PWD/../static 2>/dev/null && exit 35 + redo-ifchange 1.dyn x/x/x/2.dyn $PWD/3.dyn \ +- $PWD/../4.dyn $(/bin/pwd)/5.dyn ++ $PWD/../4.dyn $_wd/5.dyn + ) + [ -e y/1.dyn ] || exit $((iter + 1)) + [ -e y/2.dyn ] || exit $((iter + 2)) +diff -ur goredo-1.4.1/t/apenwarr/clean.do goredo-1.4.1.new/t/apenwarr/clean.do +--- goredo-1.4.1/t/apenwarr/clean.do 2021-04-29 14:03:11.000000000 +0200 ++++ goredo-1.4.1.new/t/apenwarr/clean.do 2021-05-10 15:06:07.099591609 +0200 +@@ -1,3 +1,3 @@ +-/bin/ls [0-9s][0-9][0-9]*/clean.do | ++env ls [0-9s][0-9][0-9]*/clean.do | + sed 's/\.do$//' | + xargs redo +diff -ur goredo-1.4.1/t/redo-sh.tests/clean.do goredo-1.4.1.new/t/redo-sh.tests/clean.do +--- goredo-1.4.1/t/redo-sh.tests/clean.do 2021-04-29 14:03:11.000000000 +0200 ++++ goredo-1.4.1.new/t/redo-sh.tests/clean.do 2021-05-10 15:02:41.607562802 +0200 +@@ -1,4 +1,4 @@ + for f in * ; do + [ -d $f ] || continue +- find $f ! -name test -delete ++ find $f ! -name test -delete || true + done diff --git a/pkgs/development/tools/build-managers/jam/default.nix b/pkgs/development/tools/build-managers/jam/default.nix index c4d73785db49..192c27682ab5 100644 --- a/pkgs/development/tools/build-managers/jam/default.nix +++ b/pkgs/development/tools/build-managers/jam/default.nix @@ -1,45 +1,88 @@ -{ lib, stdenv, fetchurl, bison }: +{ lib, stdenv, fetchurl, bison, buildPackages }: -stdenv.mkDerivation rec { - pname = "jam"; - version = "2.6.1"; +let + mkJam = { meta ? { }, ... } @ args: stdenv.mkDerivation (args // { + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ bison ]; - src = fetchurl { - url = "https://swarm.workshop.perforce.com/projects/perforce_software-jam/download/main/${pname}-${version}.tar"; - sha256 = "19xkvkpycxfsncxvin6yqrql3x3z9ypc1j8kzls5k659q4kv5rmc"; + # Jambase expects ar to have flags. + preConfigure = '' + export AR="$AR rc" + ''; + + LOCATE_TARGET = "bin.unix"; + + buildPhase = '' + runHook preBuild + make $makeFlags jam0 + ./jam0 -j$NIX_BUILD_CORES -sCC=${buildPackages.stdenv.cc.targetPrefix}cc jambase.c + ./jam0 -j$NIX_BUILD_CORES + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin $out/doc/jam + cp bin.unix/jam $out/bin/jam + cp *.html $out/doc/jam + runHook postInstall + ''; + + enableParallelBuilding = true; + + meta = with lib; meta // { + license = licenses.free; + mainProgram = "jam"; + platforms = platforms.unix; + }; + }); +in +{ + jam = let + pname = "jam"; + version = "2.6.1"; + in mkJam { + inherit pname version; + + src = fetchurl { + url = "https://swarm.workshop.perforce.com/projects/perforce_software-jam/download/main/${pname}-${version}.tar"; + sha256 = "19xkvkpycxfsncxvin6yqrql3x3z9ypc1j8kzls5k659q4kv5rmc"; + }; + + meta = with lib; { + description = "Just Another Make"; + homepage = "https://www.perforce.com/resources/documentation/jam"; + maintainers = with maintainers; [ impl orivej ]; + }; }; - nativeBuildInputs = [ bison ]; + ftjam = let + pname = "ftjam"; + version = "2.5.2"; + in mkJam { + inherit pname version; - preConfigure = '' - unset AR - ''; + src = fetchurl { + url = "https://downloads.sourceforge.net/project/freetype/${pname}/${version}/${pname}-${version}.tar.bz2"; + hash = "sha256-6JdzUAqSkS3pGOn+v/q+S2vOedaa8ZRDX04DK4ptZqM="; + }; - buildPhase = '' - runHook preBuild + postPatch = '' + substituteInPlace Jamfile --replace strip ${stdenv.cc.targetPrefix}strip + ''; - make jam0 + # Doesn't understand how to cross compile once bootstrapped, so we'll just + # use the Makefile for the bootstrapping portion. + configurePlatforms = [ "build" "target" ]; + configureFlags = [ + "CC=${buildPackages.stdenv.cc.targetPrefix}cc" + "--host=${stdenv.buildPlatform.config}" + ]; - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - ./jam0 -j$NIX_BUILD_CORES -sBINDIR=$out/bin install - mkdir -p $out/doc/jam - cp *.html $out/doc/jam - - runHook postInstall - ''; - - enableParallelBuilding = true; - - meta = with lib; { - homepage = "https://www.perforce.com/resources/documentation/jam"; - license = licenses.free; - description = "Just Another Make"; - maintainers = with maintainers; [ orivej ]; - platforms = platforms.unix; + meta = with lib; { + description = "FreeType's enhanced, backwards-compatible Jam clone"; + homepage = "https://freetype.org/jam/"; + maintainers = with maintainers; [ AndersonTorres impl ]; + }; }; } diff --git a/pkgs/development/tools/build-managers/jam/ftjam.nix b/pkgs/development/tools/build-managers/jam/ftjam.nix deleted file mode 100644 index 1f106401c0d1..000000000000 --- a/pkgs/development/tools/build-managers/jam/ftjam.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ lib -, stdenv -, fetchurl -, bison -}: - -stdenv.mkDerivation rec { - pname = "ftjam"; - version = "2.5.2"; - - src = fetchurl { - url = "https://downloads.sourceforge.net/project/freetype/${pname}/${version}/${pname}-${version}.tar.bz2"; - hash = "sha256-6JdzUAqSkS3pGOn+v/q+S2vOedaa8ZRDX04DK4ptZqM="; - }; - - nativeBuildInputs = [ - bison - ]; - - preConfigure = '' - unset AR - ''; - - buildPhase = '' - runHook preBuild - - make jam0 - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - ./jam0 -j$NIX_BUILD_CORES -sBINDIR=$out/bin install - mkdir -p $out/doc/jam - cp *.html $out/doc/jam - - runHook postInstall - ''; - - enableParallelBuilding = true; - - meta = with lib; { - description = "Freetype's enhanced, backwards-compatible Jam clone"; - homepage = "https://freetype.org/jam/"; - license = licenses.free; - maintainers = with maintainers; [ AndersonTorres ]; - mainProgram = "jam"; - platforms = platforms.unix; - }; -} -# TODO: setup hook for Jam diff --git a/pkgs/development/tools/ddosify/default.nix b/pkgs/development/tools/ddosify/default.nix index a077c2f1246d..9d5436ba1712 100644 --- a/pkgs/development/tools/ddosify/default.nix +++ b/pkgs/development/tools/ddosify/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "ddosify"; - version = "0.8.1"; + version = "0.8.2"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-cedgJJd1+iWw3sxbKVBpi5XvmZdDcDL0sHhTELbkY9Q="; + sha256 = "sha256-GvRooRsSLny+KZcro/rmagp4QAt4U52THiqTWqdvhK8="; }; vendorSha256 = "sha256-mq82KNa01gHvW+RUREra+ysaJ1YWIwX0v/uYMxmFN4M="; diff --git a/pkgs/development/tools/pipenv/default.nix b/pkgs/development/tools/pipenv/default.nix index 6f51eb892df8..2a8a78f7b52b 100644 --- a/pkgs/development/tools/pipenv/default.nix +++ b/pkgs/development/tools/pipenv/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , python3 , installShellFiles }: @@ -13,6 +14,9 @@ let pip virtualenv virtualenv-clone + ] + ++ lib.optionals stdenv.hostPlatform.isAndroid [ + pyjnius ]; pythonEnv = python3.withPackages runtimeDeps; diff --git a/pkgs/development/tools/rust/cargo-public-api/default.nix b/pkgs/development/tools/rust/cargo-public-api/default.nix index f51837cd3410..f5638d2043cb 100644 --- a/pkgs/development/tools/rust/cargo-public-api/default.nix +++ b/pkgs/development/tools/rust/cargo-public-api/default.nix @@ -8,14 +8,14 @@ rustPlatform.buildRustPackage rec { pname = "cargo-public-api"; - version = "0.15.0"; + version = "0.17.0"; src = fetchCrate { inherit pname version; - sha256 = "sha256-3DBpvsjreBJz6NPHJsPV3dK+PvAvdwz7/gp9p/zBieI="; + sha256 = "sha256-NwWoF7VkCy+9/8xwaIhR7763JGtC3UheuJdj/FtGzMg="; }; - cargoSha256 = "sha256-sP3oMphy+jbs8NUqyvanWHyDtEoFaUVQHKeTbOLfTH0="; + cargoSha256 = "sha256-HFTGtDS4dWzt0q2iC0qgby4fDvnoaNd+Y1eKzhwb3Hs="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/games/freenukum/default.nix b/pkgs/games/freenukum/default.nix index 0d2f833671e3..89c26099db09 100644 --- a/pkgs/games/freenukum/default.nix +++ b/pkgs/games/freenukum/default.nix @@ -6,6 +6,7 @@ , dejavu_fonts , SDL2 , SDL2_ttf +, SDL2_image }: let pname = "freenukum"; @@ -24,16 +25,17 @@ let in rustPlatform.buildRustPackage rec { inherit pname; - version = "0.3.5"; + version = "0.4.0"; src = fetchFromGitLab { + domain = "salsa.debian.org"; owner = "silwol"; - repo = pname; + repo = "freenukum"; rev = "v${version}"; - sha256 = "0yqfzh0c8fqk92q9kmidy15dc5li0ak1gbn3v7p3xw5fkrzf99gy"; + sha256 = "sha256-Tk9n2gPwyPin6JZ4RSO8d/+xVpEz4rF8C2eGKwrAXU0="; }; - cargoSha256 = "1nss5zbdvxkr1mfb6vi6yjxcih99w836kvfr4r3n5dvzlkvga2vf"; + cargoSha256 = "sha256-8RfiObWDqZJg+sjjDBk+sRoS5CiECIdNPH79T+O8e8M="; nativeBuildInputs = [ installShellFiles @@ -42,6 +44,7 @@ rustPlatform.buildRustPackage rec { buildInputs = [ SDL2 SDL2_ttf + SDL2_image ]; postPatch = '' @@ -55,13 +58,15 @@ rustPlatform.buildRustPackage rec { ${dejavu_fonts}/share/fonts/truetype/DejaVuSans.ttf \ $out/share/fonts/truetype/dejavu/DejaVuSans.ttf mkdir -p $out/share/doc/freenukum - install -Dm644 README.md CHANGELOG.md COPYING $out/share/doc/freenukum/ + install -Dm644 README.md CHANGELOG.md $out/share/doc/freenukum/ installManPage doc/freenukum.6 install -Dm644 "${desktopItem}/share/applications/"* -t $out/share/applications/ ''; meta = with lib; { description = "Clone of the original Duke Nukum 1 Jump'n Run game"; + homepage = "https://salsa.debian.org/silwol/freenukum"; + changelog = "https://salsa.debian.org/silwol/freenukum/-/blob/v${version}/CHANGELOG.md"; license = licenses.agpl3Plus; maintainers = with maintainers; [ _0x4A6F ]; broken = stdenv.isDarwin; diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix index f32f46f1f145..78877c8b0d8a 100644 --- a/pkgs/games/steam/fhsenv.nix +++ b/pkgs/games/steam/fhsenv.nix @@ -227,6 +227,14 @@ in buildFHSUserEnv rec { export TZ="$new_TZ" fi fi + + # udev event notifications don't work reliably inside containers. + # SDL2 already tries to automatically detect flatpak and pressure-vessel + # and falls back to inotify-based discovery [1]. We make SDL2 do the + # same by telling it explicitly. + # + # [1] + export SDL_JOYSTICK_DISABLE_UDEV=1 '' + extraProfile; runScript = writeScript "steam-wrapper.sh" '' diff --git a/pkgs/os-specific/linux/ksmbd-tools/default.nix b/pkgs/os-specific/linux/ksmbd-tools/default.nix new file mode 100644 index 000000000000..d0a1f1f4e684 --- /dev/null +++ b/pkgs/os-specific/linux/ksmbd-tools/default.nix @@ -0,0 +1,40 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoconf +, automake +, glib +, libkrb5 +, libnl +, libtool +, pkg-config +, withKerberos ? false +}: + +stdenv.mkDerivation rec { + pname = "ksmbd-tools"; + version = "3.4.5"; + + src = fetchFromGitHub { + owner = "cifsd-team"; + repo = pname; + rev = version; + sha256 = "sha256-sSCLXNdVUAdk+GnFlVx/BsAzyfz0KDdugJ1isrOztgs="; + }; + + buildInputs = [ glib libnl ] ++ lib.optional withKerberos libkrb5; + + nativeBuildInputs = [ autoconf automake libtool pkg-config ]; + + preConfigure = "./autogen.sh"; + + configureFlags = lib.optional withKerberos "--enable-krb5"; + + meta = with lib; { + description = "Userspace utilities for the ksmbd kernel SMB server"; + homepage = "https://www.kernel.org/doc/html/latest/filesystems/cifs/ksmbd.html"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ elohmeier ]; + }; +} diff --git a/pkgs/servers/http/envoy/default.nix b/pkgs/servers/http/envoy/default.nix index 1cd6e0c785ef..b9342ccd4fac 100644 --- a/pkgs/servers/http/envoy/default.nix +++ b/pkgs/servers/http/envoy/default.nix @@ -1,14 +1,14 @@ { lib -, bazel_4 +, bazel_5 , buildBazelPackage , fetchFromGitHub -, fetchpatch , stdenv , cmake , gn , go , jdk , ninja +, patchelf , python3 , linuxHeaders , nixosTests @@ -23,19 +23,19 @@ let # However, the version string is more useful for end-users. # These are contained in a attrset of their own to make it obvious that # people should update both. - version = "1.21.4"; - rev = "782ba5e5ab9476770378ec9f1901803e0d38ac41"; + version = "1.23.1"; + rev = "edd69583372955fdfa0b8ca3820dd7312c094e46"; }; in buildBazelPackage rec { pname = "envoy"; inherit (srcVer) version; - bazel = bazel_4; + bazel = bazel_5; src = fetchFromGitHub { owner = "envoyproxy"; repo = "envoy"; inherit (srcVer) rev; - hash = "sha256-SthKDMQs5yNU0iouAPVsDeCPKcsBXmO9ebDwu58UQRs="; + sha256 = "sha256:157dbmp479xv5507n48yibvlgi2ac0l3sl9rzm28cm9lhzwva3k0"; postFetch = '' chmod -R +w $out @@ -48,26 +48,21 @@ buildBazelPackage rec { postPatch = '' sed -i 's,#!/usr/bin/env python3,#!${python3}/bin/python,' bazel/foreign_cc/luajit.patch sed -i '/javabase=/d' .bazelrc - # Patch paths to build tools, and disable gold because it just segfaults. - substituteInPlace bazel/external/wee8.genrule_cmd \ - --replace '"''$$gn"' '"''$$(command -v gn)"' \ - --replace '"''$$ninja"' '"''$$(command -v ninja)"' \ - --replace '"''$$WEE8_BUILD_ARGS"' '"''$$WEE8_BUILD_ARGS use_gold=false"' + + # Use system Python. + sed -i -e '/python_interpreter_target =/d' -e '/@python3_10/d' bazel/python_dependencies.bzl ''; patches = [ - # make linux/tcp.h relative. drop when upgrading to >1.21 - (fetchpatch { - url = "https://github.com/envoyproxy/envoy/commit/68448aae7a78a3123097b6ea96016b270457e7b8.patch"; - sha256 = "123kv3x37p8fgfp29jhw5xg5js5q5ipibs8hsm7gzfd5bcllnpfh"; - }) - # fix issues with brotli and GCC 11.2.0+ (-Werror=vla-parameter) ./bump-brotli.patch # fix linux-aarch64 WAMR builds # (upstream WAMR only detects aarch64 on Darwin, not Linux) ./fix-aarch64-wamr.patch + + # use system Python, not bazel-fetched binary Python + ./use-system-python.patch ]; nativeBuildInputs = [ @@ -77,6 +72,7 @@ buildBazelPackage rec { go jdk ninja + patchelf ]; buildInputs = [ @@ -85,8 +81,8 @@ buildBazelPackage rec { fetchAttrs = { sha256 = { - x86_64-linux = "sha256-/SA+WFHcMjk6iLwuEmuBIzy3pMhw7TThIEx292dv6IE="; - aarch64-linux = "sha256-0XdeirdIP7+nKy8zZbr2uHN2RZ4ZFOJt9i/+Ow1s/W4="; + x86_64-linux = "0y3gpvx148bnn6kljdvkg99m681vw39l0avrhvncbf62hvpifqkw"; + aarch64-linux = "0lln5mdlskahz5hb4w268ys2ksy3051drrwlhracmk4i7rpm7fq3"; }.${stdenv.system} or (throw "unsupported system ${stdenv.system}"); dontUseCmakeConfigure = true; dontUseGnConfigure = true; @@ -95,6 +91,12 @@ buildBazelPackage rec { find $bazelOut/external -name requirements.bzl | while read requirements; do sed -i '/# Generated from /d' "$requirements" done + find $bazelOut/external -type f -executable | while read execbin; do + file "$execbin" | grep -q ': ELF .*, dynamically linked,' || continue + patchelf \ + --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ + "$execbin" + done # Remove references to paths in the Nix store. sed -i \ @@ -138,6 +140,12 @@ buildBazelPackage rec { "--cxxopt=-Wno-maybe-uninitialized" "--cxxopt=-Wno-uninitialized" "--cxxopt=-Wno-error=type-limits" + "--cxxopt=-Wno-error=range-loop-construct" + + # Force use of system Java. + "--extra_toolchains=@local_jdk//:all" + "--java_runtime_version=local_jdk" + "--tool_java_runtime_version=local_jdk" "--define=wasm=${wasmRuntime}" ]; diff --git a/pkgs/servers/http/envoy/use-system-python.patch b/pkgs/servers/http/envoy/use-system-python.patch new file mode 100644 index 000000000000..a2030cc75fd0 --- /dev/null +++ b/pkgs/servers/http/envoy/use-system-python.patch @@ -0,0 +1,58 @@ +diff --git a/bazel/python_dependencies.bzl b/bazel/python_dependencies.bzl +index d9dfb14a9b..b8e92452a7 100644 +--- a/bazel/python_dependencies.bzl ++++ b/bazel/python_dependencies.bzl +@@ -1,10 +1,8 @@ + load("@rules_python//python:pip.bzl", "pip_install", "pip_parse") +-load("@python3_10//:defs.bzl", "interpreter") + + def envoy_python_dependencies(): + pip_parse( + name = "base_pip3", +- python_interpreter_target = interpreter, + requirements_lock = "@envoy//tools/base:requirements.txt", + extra_pip_args = ["--require-hashes"], + ) +@@ -12,14 +10,12 @@ def envoy_python_dependencies(): + # These need to use `pip_install` + pip_install( + # Note: dev requirements do *not* check hashes +- python_interpreter_target = interpreter, + name = "dev_pip3", + requirements = "@envoy//tools/dev:requirements.txt", + ) + + pip_install( + name = "fuzzing_pip3", +- python_interpreter_target = interpreter, + requirements = "@rules_fuzzing//fuzzing:requirements.txt", + extra_pip_args = ["--require-hashes"], + ) +diff --git a/bazel/repositories_extra.bzl b/bazel/repositories_extra.bzl +index 885b41dec6..ac5605eb30 100644 +--- a/bazel/repositories_extra.bzl ++++ b/bazel/repositories_extra.bzl +@@ -1,22 +1,12 @@ + load("@emsdk//:deps.bzl", emsdk_deps = "deps") +-load("@rules_python//python:repositories.bzl", "python_register_toolchains") + load("@proxy_wasm_cpp_host//bazel/cargo/wasmtime:crates.bzl", "wasmtime_fetch_remote_crates") + load("//bazel/external/cargo:crates.bzl", "raze_fetch_remote_crates") + load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies") + +-# Python version for `rules_python` +-PYTHON_VERSION = "3.10.2" +- + # Envoy deps that rely on a first stage of dependency loading in envoy_dependencies(). +-def envoy_dependencies_extra(python_version = PYTHON_VERSION): ++def envoy_dependencies_extra(): + emsdk_deps() + raze_fetch_remote_crates() + wasmtime_fetch_remote_crates() + +- # Registers underscored Python minor version - eg `python3_10` +- python_register_toolchains( +- name = "python%s" % ("_".join(python_version.split(".")[:-1])), +- python_version = python_version, +- ) +- + aspect_bazel_lib_dependencies() diff --git a/pkgs/servers/http/pomerium/default.nix b/pkgs/servers/http/pomerium/default.nix index b6de805a619b..42af2054caf2 100644 --- a/pkgs/servers/http/pomerium/default.nix +++ b/pkgs/servers/http/pomerium/default.nix @@ -1,8 +1,10 @@ { buildGoModule , fetchFromGitHub +, callPackage , lib , envoy -, zip +, mkYarnPackage +, fetchYarnDeps , nixosTests , pomerium-cli }: @@ -12,19 +14,49 @@ let in buildGoModule rec { pname = "pomerium"; - version = "0.17.1"; + version = "0.19.0"; src = fetchFromGitHub { owner = "pomerium"; repo = "pomerium"; rev = "v${version}"; - hash = "sha256:0b9mdzyfn7c6gwgslqk787yyrrcmdjf3282vx2zvhcr3psz0xqwx"; + sha256 = "sha256:0s5ji1iywymzxlv89y3ivl5vngkifhbpidpwxdrh969l3c5r4klf"; + }; + + vendorSha256 = "sha256:1p78nb7bryvs7p5iq6ihylflyjia60x4hd9c62ffwz37dwqlbi33"; + + ui = mkYarnPackage { + inherit version; + src = "${src}/ui"; + + # update pomerium-ui-package.json when updating package, sourced from ui/package.json + packageJSON = ./pomerium-ui-package.json; + offlineCache = fetchYarnDeps { + yarnLock = "${src}/ui/yarn.lock"; + sha256 = "sha256:1n6swanrds9hbd4yyfjzpnfhsb8fzj1pwvvcg3w7b1cgnihclrmv"; + }; + + buildPhase = '' + runHook preBuild + yarn --offline build + runHook postbuild + ''; + + installPhase = '' + runHook preInstall + cp -R deps/pomerium/dist $out + runHook postInstall + ''; + + doDist = false; }; - vendorSha256 = "sha256:1cq4m5a7z64yg3v1c68d15ilw78il6p53vaqzxgn338zjggr3kig"; subPackages = [ "cmd/pomerium" ]; + # patch pomerium to allow use of external envoy + patches = [ ./external-envoy.diff ]; + ldflags = let # Set a variety of useful meta variables for stamping the build with. setVars = { @@ -34,7 +66,7 @@ buildGoModule rec { ProjectName = "pomerium"; ProjectURL = "github.com/pomerium/pomerium"; }; - "github.com/pomerium/pomerium/internal/envoy" = { + "github.com/pomerium/pomerium/pkg/envoy" = { OverrideEnvoyPath = "${envoy}/bin/envoy"; }; }; @@ -54,8 +86,8 @@ buildGoModule rec { # Replace embedded envoy with nothing. # We set OverrideEnvoyPath above, so rawBinary should never get looked at # but we still need to set a checksum/version. - rm internal/envoy/files/files_{darwin,linux}*.go - cat <internal/envoy/files/files_generic.go + rm pkg/envoy/files/files_{darwin,linux}*.go + cat <pkg/envoy/files/files_external.go package files import _ "embed" // embed @@ -68,8 +100,11 @@ buildGoModule rec { //go:embed envoy.version var rawVersion string EOF - sha256sum '${envoy}/bin/envoy' > internal/envoy/files/envoy.sha256 - echo '${envoy.version}' > internal/envoy/files/envoy.version + sha256sum '${envoy}/bin/envoy' > pkg/envoy/files/envoy.sha256 + echo '${envoy.version}' > pkg/envoy/files/envoy.version + + # put the built UI files where they will be picked up as part of binary build + cp -r ${ui}/* ui/dist ''; installPhase = '' diff --git a/pkgs/servers/http/pomerium/external-envoy.diff b/pkgs/servers/http/pomerium/external-envoy.diff new file mode 100644 index 000000000000..49f4985ad77c --- /dev/null +++ b/pkgs/servers/http/pomerium/external-envoy.diff @@ -0,0 +1,48 @@ +diff --git a/pkg/envoy/envoy.go b/pkg/envoy/envoy.go +index e32cfc29..9d32c057 100644 +--- a/pkg/envoy/envoy.go ++++ b/pkg/envoy/envoy.go +@@ -8,9 +8,9 @@ import ( + "errors" + "fmt" + "io" ++ "io/fs" + "os" + "os/exec" +- "path" + "path/filepath" + "regexp" + "strconv" +@@ -36,8 +36,12 @@ import ( + + const ( + configFileName = "envoy-config.yaml" ++ workingDirectoryName = ".pomerium-envoy" ++ embeddedEnvoyPermissions fs.FileMode = 0o700 + ) + ++var OverrideEnvoyPath = "" ++ + type serverOptions struct { + services string + logLevel string +@@ -60,13 +64,16 @@ type Server struct { + + // NewServer creates a new server with traffic routed by envoy. + func NewServer(ctx context.Context, src config.Source, builder *envoyconfig.Builder) (*Server, error) { +- envoyPath, err := Extract() ++ envoyPath := OverrideEnvoyPath ++ wd := filepath.Join(os.TempDir(), workingDirectoryName) ++ ++ err := os.MkdirAll(wd, embeddedEnvoyPermissions) + if err != nil { +- return nil, fmt.Errorf("extracting envoy: %w", err) ++ return nil, fmt.Errorf("error creating temporary working directory for envoy: %w", err) + } + + srv := &Server{ +- wd: path.Dir(envoyPath), ++ wd: wd, + builder: builder, + grpcPort: src.GetConfig().GRPCPort, + httpPort: src.GetConfig().HTTPPort, diff --git a/pkgs/servers/http/pomerium/pomerium-ui-package.json b/pkgs/servers/http/pomerium/pomerium-ui-package.json new file mode 100644 index 000000000000..6b9dcf4a3e8d --- /dev/null +++ b/pkgs/servers/http/pomerium/pomerium-ui-package.json @@ -0,0 +1,61 @@ +{ + "name": "pomerium", + "version": "1.0.0", + "main": "src/index.tsx", + "license": "Apache-2.0", + "scripts": { + "build": "ts-node ./scripts/esbuild.ts", + "format": "prettier --write .", + "lint": "eslint .", + "watch": "ts-node ./scripts/esbuild.ts --watch" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "dependencies": { + "@babel/core": "^7.0.0", + "@emotion/react": "^11.7.1", + "@emotion/styled": "^11.6.0", + "@fontsource/dm-mono": "^4.5.2", + "@fontsource/dm-sans": "^4.5.1", + "@mui/icons-material": "^5.3.1", + "@mui/material": "^5.4.0", + "luxon": "^2.3.0", + "markdown-to-jsx": "^7.1.7", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "react-feather": "^2.0.9" + }, + "devDependencies": { + "@trivago/prettier-plugin-sort-imports": "2.0.4", + "@types/luxon": "^2.0.9", + "@types/node": "^17.0.14", + "@types/react": "^17.0.34", + "@types/react-dom": "^17.0.11", + "@typescript-eslint/eslint-plugin": "^5.10.2", + "@typescript-eslint/parser": "^5.10.2", + "esbuild": "^0.13.12", + "eslint": "7.32.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-react": "^7.28.0", + "prettier": "^2.4.1", + "ts-node": "^10.4.0", + "typescript": "^4.4.4" + }, + "prettier": { + "importOrder": [ + "^[./]" + ], + "importOrderSeparation": true, + "importOrderSortSpecifiers": true + } +} diff --git a/pkgs/servers/monitoring/exportarr/default.nix b/pkgs/servers/monitoring/prometheus/exportarr/default.nix similarity index 79% rename from pkgs/servers/monitoring/exportarr/default.nix rename to pkgs/servers/monitoring/prometheus/exportarr/default.nix index 911708a53c0c..f0ca48ac5bd5 100644 --- a/pkgs/servers/monitoring/exportarr/default.nix +++ b/pkgs/servers/monitoring/prometheus/exportarr/default.nix @@ -12,22 +12,22 @@ buildGoModule rec { owner = "onedr0p"; repo = "exportarr"; rev = "v${version}"; - hash = "sha256-KTuOhyBFS6fgA9N70vq+5fJIGVsgEZ7Uxls8efqLuII="; + sha256 = "sha256-KTuOhyBFS6fgA9N70vq+5fJIGVsgEZ7Uxls8efqLuII="; }; vendorSha256 = "sha256-Yox3LAVbTZqsDmk45uSuKgITRz3zE+HTAKxVf9wdtjE="; subPackages = [ "cmd/exportarr" ]; - ldflags = [ - "-s" - "-w" - ] ++ lib.optionals stdenv.isLinux [ - "-extldflags=-static" - ]; + CGO_ENABLE = 0; + + ldflags = [ "-s" "-w" ]; tags = lib.optionals stdenv.isLinux [ "netgo" ]; + # There are no tests for this package. + doCheck = false; + meta = with lib; { description = "AIO Prometheus Exporter for Sonarr, Radarr or Lidarr"; homepage = "https://github.com/onedr0p/exportarr"; diff --git a/pkgs/servers/tautulli/default.nix b/pkgs/servers/tautulli/default.nix index ceb8582a6868..f02b0f7e92e6 100644 --- a/pkgs/servers/tautulli/default.nix +++ b/pkgs/servers/tautulli/default.nix @@ -2,7 +2,7 @@ buildPythonApplication rec { pname = "Tautulli"; - version = "2.10.2"; + version = "2.10.4"; format = "other"; pythonPath = [ setuptools ]; @@ -12,7 +12,7 @@ buildPythonApplication rec { owner = "Tautulli"; repo = pname; rev = "v${version}"; - sha256 = "sha256-nEiyYpj5J95tQAFcyRlaF5VEfosCkk4cmdYKLjfeA98="; + sha256 = "sha256-G7rKPDozo5IyYOqfhoZcn1obASzJx8PpQt53CCmDZek="; }; installPhase = '' diff --git a/pkgs/tools/cd-dvd/ventoy-bin/000-sanitize.patch b/pkgs/tools/cd-dvd/ventoy-bin/000-sanitize.patch new file mode 100644 index 000000000000..18e837e58c62 --- /dev/null +++ b/pkgs/tools/cd-dvd/ventoy-bin/000-sanitize.patch @@ -0,0 +1,214 @@ +Author: DuckSoft + +I just cannot stand such a dirty package. +Let me do some optimisations. + +If you are interested to improve this patch, welcome to mail me. + +diff -rup old/tool/ventoy_lib.sh new/tool/ventoy_lib.sh +--- tool/ventoy_lib.sh 2021-12-02 16:59:42.148650182 +0100 ++++ tool/ventoy_lib.sh 2021-12-02 17:01:17.214720518 +0100 +@@ -29,7 +29,7 @@ vterr() { + } + + vtdebug() { +- echo "$*" >> ./log.txt ++ echo "$*" >>/var/log/ventoy.log + } + + vtoy_gen_uuid() { +@@ -52,30 +52,6 @@ vtoy_gen_uuid() { + + check_tool_work_ok() { + +- if echo 1 | hexdump > /dev/null; then +- vtdebug "hexdump test ok ..." +- else +- vtdebug "hexdump test fail ..." +- ventoy_false +- return +- fi +- +- if mkexfatfs -V > /dev/null; then +- vtdebug "mkexfatfs test ok ..." +- else +- vtdebug "mkexfatfs test fail ..." +- ventoy_false +- return +- fi +- +- if vtoycli fat -T; then +- vtdebug "vtoycli fat test ok ..." +- else +- vtdebug "vtoycli fat test fail ..." +- ventoy_false +- return +- fi +- + vtdebug "tool check success ..." + ventoy_true + } +@@ -311,7 +287,7 @@ format_ventoy_disk_mbr() { + else + vtdebug "format disk by fdisk ..." + +-fdisk $DISK >>./log.txt 2>&1 <>/var/log/ventoy.log 2>&1 <> ./log.txt +-date >> ./log.txt +- +-#decompress tool +-echo "decompress tools" >> ./log.txt +-cd ./tool/$TOOLDIR +- +-ls *.xz > /dev/null 2>&1 +-if [ $? -eq 0 ]; then +- [ -f ./xzcat ] && chmod +x ./xzcat +- +- for file in $(ls *.xz); do +- echo "decompress $file" >> ./log.txt +- xzcat $file > ${file%.xz} +- [ -f ./${file%.xz} ] && chmod +x ./${file%.xz} +- [ -f ./$file ] && rm -f ./$file +- done +-fi +- +-cd ../../ +-chmod +x -R ./tool/$TOOLDIR +- +- +-if [ -f /bin/bash ]; then +- /bin/bash ./tool/VentoyWorker.sh $* +-else +- ash ./tool/VentoyWorker.sh $* +-fi +- +-if [ -n "$OLDDIR" ]; then +- CURDIR=$(pwd) +- if [ "$CURDIR" != "$OLDDIR" ]; then +- cd "$OLDDIR" +- fi +-fi ++./tool/VentoyWorker.sh $* +diff -rup old/VentoyPlugson.sh new/VentoyPlugson.sh +--- VentoyPlugson.sh 2021-12-02 17:54:36.055868878 +0100 ++++ VentoyPlugson.sh 2021-12-02 18:04:40.919633986 +0100 +@@ -25,8 +19,6 @@ if echo $machine | egrep -q 'aarch64|arm + TOOLDIR=aarch64 + elif echo $machine | egrep -q 'x86_64|amd64'; then + TOOLDIR=x86_64 +-elif echo $machine | egrep -q 'mips64'; then +- TOOLDIR=mips64el + elif echo $machine | egrep -q 'i[3-6]86'; then + TOOLDIR=i386 + else +@@ -35,38 +27,6 @@ else + fi + + +-if ! [ -f "$OLDDIR/tool/plugson.tar.xz" ]; then +- echo "Please run under the correct directory!" +- exit 1 +-fi +- +-echo "############# VentoyPlugson $* [$TOOLDIR] ################" >> ./VentoyPlugson.log +-date >> ./VentoyPlugson.log +- +-echo "decompress tools" >> ./VentoyPlugson.log +-cd ./tool/$TOOLDIR +- +-ls *.xz > /dev/null 2>&1 +-if [ $? -eq 0 ]; then +- [ -f ./xzcat ] && chmod +x ./xzcat +- +- for file in $(ls *.xz); do +- echo "decompress $file" >> ./VentoyPlugson.log +- xzcat $file > ${file%.xz} +- [ -f ./${file%.xz} ] && chmod +x ./${file%.xz} +- [ -f ./$file ] && rm -f ./$file +- done +-fi +- +-cd ../../ +-chmod +x -R ./tool/$TOOLDIR +- +-if ! [ -f "$OLDDIR/tool/$TOOLDIR/Plugson" ]; then +- echo "$OLDDIR/tool/$TOOLDIR/Plugson does not exist!" +- exit 1 +-fi +- +- + PATH=./tool/$TOOLDIR:$PATH + + HOST="127.0.0.1" +@@ -208,11 +168,3 @@ if [ -f /proc/$wID/maps ]; then + + wait $wID + fi +- +- +-if [ -n "$OLDDIR" ]; then +- CURDIR=$(pwd) +- if [ "$CURDIR" != "$OLDDIR" ]; then +- cd "$OLDDIR" +- fi +-fi +diff -rup old/VentoyWeb.sh new/VentoyWeb.sh +--- VentoyWeb.sh 2021-12-02 16:58:51.885612627 +0100 ++++ VentoyWeb.sh 2021-12-02 17:04:43.437871014 +0100 +@@ -15,12 +15,6 @@ print_err() { + echo "" + } + +-uid=$(id -u) +-if [ $uid -ne 0 ]; then +- print_err "Please use sudo or run the script as root." +- exit 1 +-fi +- + OLDDIR=$(pwd) + + if uname -m | egrep -q 'aarch64|arm64'; then +@@ -85,8 +79,8 @@ if ps -ef | grep "V2DServer.*$HOST.*$POR + exit 1 + fi + +-LOGFILE=log.txt +-#delete the log.txt if it's more than 8MB ++LOGFILE=/var/log/ventoy.log ++#delete the ventoy.log if it's more than 8MB + if [ -f $LOGFILE ]; then + logsize=$(stat -c '%s' $LOGFILE) + if [ $logsize -gt 8388608 ]; then diff --git a/pkgs/tools/cd-dvd/ventoy-bin/default.nix b/pkgs/tools/cd-dvd/ventoy-bin/default.nix index 361739e980e9..978eae33bc94 100644 --- a/pkgs/tools/cd-dvd/ventoy-bin/default.nix +++ b/pkgs/tools/cd-dvd/ventoy-bin/default.nix @@ -4,8 +4,8 @@ , fetchpatch , autoPatchelfHook , bash -, coreutils , copyDesktopItems +, coreutils , cryptsetup , dosfstools , e2fsprogs @@ -15,14 +15,15 @@ , gnused , gtk3 , hexdump -, makeWrapper , makeDesktopItem +, makeWrapper , ntfs3g , parted , procps -, qt5 +, qtbase , util-linux , which +, wrapQtAppsHook , xfsprogs , xz , defaultGuiType ? "" @@ -47,30 +48,24 @@ let }.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}"); -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation (finalAttrs: { pname = "ventoy-bin"; - version = "1.0.78"; + version = "1.0.79"; src = fetchurl { - url = "https://github.com/ventoy/Ventoy/releases/download/v${version}/ventoy-${version}-linux.tar.gz"; - hash = "sha256-vlSnnExtuh85yGFYUBeE7BRsVwl+kn7nSaIx2d3WICk="; + url = "https://github.com/ventoy/Ventoy/releases/download/v${finalAttrs.version}/ventoy-${finalAttrs.version}-linux.tar.gz"; + hash = "sha256-azkoDquN/i01QHsd1wJG79kdhHhBvXzPXIRnjKHAHNE="; }; patches = [ - (fetchpatch { - name = "sanitize.patch"; - url = "https://aur.archlinux.org/cgit/aur.git/plain/sanitize.patch?h=057f2d1eb496c7a3aaa8229e99a7f709428fa4c5"; - sha256 = "sha256-iAtLtM+Q4OsXDK83eCnPNomeNSEqdRLFfK2x7ybPSpk="; - }) + ./000-sanitize.patch ./001-add-mips64.diff ./002-fix-for-read-only-file-system.diff ]; patchFlags = [ "-p0" ]; - dontConfigure = true; - dontBuild = true; - postPatch = '' # Fix permissions. find -type f -name \*.sh -exec chmod a+x '{}' \; @@ -85,7 +80,7 @@ in stdenv.mkDerivation rec { makeWrapper ] ++ lib.optional (withQt5 || withGtk3) copyDesktopItems - ++ lib.optional withQt5 qt5.wrapQtAppsHook; + ++ lib.optional withQt5 wrapQtAppsHook; buildInputs = [ bash @@ -107,7 +102,7 @@ in stdenv.mkDerivation rec { ++ lib.optional withGtk3 gtk3 ++ lib.optional withNtfs ntfs3g ++ lib.optional withXfs xfsprogs - ++ lib.optional withQt5 qt5.qtbase; + ++ lib.optional withQt5 qtbase; desktopItems = [ (makeDesktopItem { @@ -121,6 +116,9 @@ in stdenv.mkDerivation rec { startupNotify = true; })]; + dontConfigure = true; + dontBuild = true; + installPhase = '' runHook preInstall @@ -159,7 +157,7 @@ in stdenv.mkDerivation rec { VentoyPlugson.sh_ventoy-plugson; do local bin="''${f%_*}" wrapper="''${f#*_}" makeWrapper "$VENTOY_PATH/$bin" "$out/bin/$wrapper" \ - --prefix PATH : "${lib.makeBinPath buildInputs}" \ + --prefix PATH : "${lib.makeBinPath finalAttrs.buildInputs}" \ --chdir "$VENTOY_PATH" done '' @@ -168,7 +166,7 @@ in stdenv.mkDerivation rec { + lib.optionalString (withGtk3 || withQt5) '' echo "${defaultGuiType}" > "$VENTOY_PATH/ventoy_gui_type" makeWrapper "$VENTOY_PATH/VentoyGUI.$ARCH" "$out/bin/ventoy-gui" \ - --prefix PATH : "${lib.makeBinPath buildInputs}" \ + --prefix PATH : "${lib.makeBinPath finalAttrs.buildInputs}" \ --chdir "$VENTOY_PATH" mkdir "$out"/share/{applications,pixmaps} ln -s "$VENTOY_PATH"/WebUI/static/img/VentoyLogo.png "$out"/share/pixmaps/ @@ -210,4 +208,4 @@ in stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; mainProgram = "ventoy"; }; -} +}) diff --git a/pkgs/tools/filesystems/httm/default.nix b/pkgs/tools/filesystems/httm/default.nix index aa08aa7759d8..c5089515db4c 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.9"; + version = "0.14.10"; src = fetchFromGitHub { owner = "kimono-koans"; repo = pname; rev = version; - sha256 = "sha256-nRvXAHvIAUmtP1Xny9RWNZsCLI2eiE7163h6qxS2v1I="; + sha256 = "sha256-izJMypTB7JCvSdTbsS85ez9HL7hM8DtPvnPXA0MvQC8="; }; - cargoSha256 = "sha256-gF9pPOhWT+aaZdk7qyyDIPvJ76s6pkjaeyOLYYrHxo4="; + cargoSha256 = "sha256-3B1+pV7FyOD/e9fIKiAheIbb1vSFooc2qdnbL7LmzdQ="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix index 6657b09f5e01..b2064b43ac85 100644 --- a/pkgs/tools/misc/esphome/default.nix +++ b/pkgs/tools/misc/esphome/default.nix @@ -15,14 +15,14 @@ let in with python.pkgs; buildPythonApplication rec { pname = "esphome"; - version = "2022.8.1"; + version = "2022.8.3"; format = "setuptools"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-eBD7UC6xNxW9tkqXSLgntDqwyGpLwv6fpChIYgbIFBM="; + hash = "sha256-ep3o8VfY5jAsdheLpZF0TdWA/F9YO/owWEuPR7+0LeA="; }; postPatch = '' diff --git a/pkgs/tools/misc/fclones/default.nix b/pkgs/tools/misc/fclones/default.nix index 9acede0e11bc..5dd351c30bb5 100644 --- a/pkgs/tools/misc/fclones/default.nix +++ b/pkgs/tools/misc/fclones/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "fclones"; - version = "0.27.1"; + version = "0.27.2"; src = fetchFromGitHub { owner = "pkolaczk"; repo = pname; rev = "v${version}"; - sha256 = "sha256-wU6iPOQA9rWchj4pOGos0r5QwTAWC9eoYWSRK8W1Gt0="; + sha256 = "sha256-cP17WnQsP2S78O9MfmpivibvN1vYMeSNBSrrOENHUiE="; }; - cargoSha256 = "sha256-qVnFhES3On0qe0vdii2RMhJu7z6E0udFRD6xQy2+hbk="; + cargoSha256 = "sha256-P1T9AAeEmCOiM74RPE/3Lz/XGAj150xTF3egjDv+zvc="; buildInputs = lib.optionals stdenv.isDarwin [ AppKit diff --git a/pkgs/tools/misc/less/default.nix b/pkgs/tools/misc/less/default.nix index cdea90ef5bb2..df8d9eef22ac 100644 --- a/pkgs/tools/misc/less/default.nix +++ b/pkgs/tools/misc/less/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "less"; - version = "600"; + version = "608"; src = fetchurl { url = "https://www.greenwoodsoftware.com/less/less-${version}.tar.gz"; - sha256 = "sha256-ZjPWqis8xxevssIFd4x8QsRiD2Ox1oLz0SyYrwvnTSA="; + sha256 = "02f2d9d6hyf03va28ip620gjc6rf4aikmdyk47h7frqj18pbx6m6"; }; configureFlags = [ "--sysconfdir=/etc" ] # Look for ‘sysless’ in /etc. diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix index be7cde851009..2a51d9ac0755 100644 --- a/pkgs/tools/networking/haproxy/default.nix +++ b/pkgs/tools/networking/haproxy/default.nix @@ -11,11 +11,11 @@ assert usePcre -> pcre != null; stdenv.mkDerivation rec { pname = "haproxy"; - version = "2.6.4"; + version = "2.6.5"; src = fetchurl { url = "https://www.haproxy.org/download/${lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz"; - sha256 = "sha256-8H1nraL/Opmf7U40RZwEiVNjMaVJZlrJDLao35H0ook="; + sha256 = "sha256-zp4Z6/zdQ+Ua+KYJDx341RLZct33QvpkimQ7uxkFZgU="; }; buildInputs = [ openssl zlib ] diff --git a/pkgs/tools/security/gopass/jsonapi.nix b/pkgs/tools/security/gopass/jsonapi.nix index 5f6dab2e9069..c4f73630257a 100644 --- a/pkgs/tools/security/gopass/jsonapi.nix +++ b/pkgs/tools/security/gopass/jsonapi.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "gopass-jsonapi"; - version = "1.14.3"; + version = "1.14.5"; src = fetchFromGitHub { owner = "gopasspw"; repo = pname; rev = "v${version}"; - sha256 = "sha256-uLsKxx2Yr0g3vf2AQqRqRzNsBX2D4+6wwxM+czthL+I="; + sha256 = "sha256-zEyzoIl5LiVbNSRebbcE70HxhOGYaZvArdHQqgvi1ns="; }; - vendorSha256 = "sha256-QEqtyHb+/tpbbHLCSBw7uafAtKzKkmxoFGqFVHSR03I="; + vendorSha256 = "sha256-mcI8ys+Vs46BEaETzsf0f1f2CgjEIV4iwSF4FWgNjUY="; subPackages = [ "." ]; diff --git a/pkgs/tools/security/hashcat/default.nix b/pkgs/tools/security/hashcat/default.nix index ed06ee992e4a..ec078d4695a8 100644 --- a/pkgs/tools/security/hashcat/default.nix +++ b/pkgs/tools/security/hashcat/default.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation rec { pname = "hashcat"; - version = "6.2.5"; + version = "6.2.6"; src = fetchurl { url = "https://hashcat.net/files/hashcat-${version}.tar.gz"; - sha256 = "sha256-b2iZ162Jlln3tDpNaAmFQ6tUbSFx+OUdaR0Iplk3iWk="; + sha256 = "sha256-sl4Qd7zzSQjMjxjBppouyYsEeyy88PURRNzzuh4Leyo="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/security/pomerium-cli/default.nix b/pkgs/tools/security/pomerium-cli/default.nix index 9463e0851898..cded5b83643a 100644 --- a/pkgs/tools/security/pomerium-cli/default.nix +++ b/pkgs/tools/security/pomerium-cli/default.nix @@ -1,7 +1,6 @@ { buildGoModule , fetchFromGitHub , lib -, pomerium }: let @@ -9,16 +8,16 @@ let in buildGoModule rec { pname = "pomerium-cli"; - inherit (pomerium) version; + version = "0.18.0"; src = fetchFromGitHub { owner = "pomerium"; repo = "cli"; rev = "v${version}"; - hash = "sha256-AZeBtHy2MEPE8uZVJv4wLdOt6f9QNbaQnP5a2YVYYAg="; + sha256 = "sha256-P1aEAr+Q2wnKLq3JHQbss6SPdrYnzE8J2yp/Lu5Cg/0="; }; - vendorSha256 = "sha256-K0Vdsl6wD0eJeJRsUjiNPuGx1KPkZrlCCzdyAysVonc="; + vendorSha256 = "sha256-AAdhFpFCbUU3kjVQ84sYWYrGBWD5u6f219MvVS0j9Oo="; subPackages = [ "cmd/pomerium-cli" diff --git a/pkgs/tools/wayland/swaycwd/default.nix b/pkgs/tools/wayland/swaycwd/default.nix index 5aadc4484045..d53dc95dad5a 100644 --- a/pkgs/tools/wayland/swaycwd/default.nix +++ b/pkgs/tools/wayland/swaycwd/default.nix @@ -1,17 +1,17 @@ { lib , nimPackages , fetchFromGitLab -, enableShells ? [ "bash" "zsh" "fish" "sh" "posh" ] +, enableShells ? [ "bash" "zsh" "fish" "sh" "posh" "codium" ] }: nimPackages.buildNimPackage rec{ pname = "swaycwd"; - version = "0.1.0"; + version = "0.2.1"; src = fetchFromGitLab { owner = "cab404"; repo = pname; rev = "v${version}"; - hash = "sha256-VrG3H6oTeYsfncdD0IBp3zbmkoF5YF146LRxL064ZAE="; + hash = "sha256-R/LnojbA0vBQVivGLaoM0+M4qVJ7vjf4kggB59i896w="; }; preConfigure = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8034a513175d..51a7c792e076 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1301,6 +1301,8 @@ with pkgs; kanata-with-cmd = callPackage ../tools/system/kanata { withCmd = true; }; + ksmbd-tools = callPackage ../os-specific/linux/ksmbd-tools { }; + ksnip = libsForQt5.callPackage ../tools/misc/ksnip { }; kubevirt = callPackage ../tools/virtualization/kubevirt { }; @@ -1369,7 +1371,9 @@ with pkgs; veikk-linux-driver-gui = libsForQt5.callPackage ../tools/misc/veikk-linux-driver-gui { }; - ventoy-bin = callPackage ../tools/cd-dvd/ventoy-bin { }; + ventoy-bin = callPackage ../tools/cd-dvd/ventoy-bin { + inherit (libsForQt5) qtbase wrapQtAppsHook; + }; ventoy-bin-full = ventoy-bin.override { withCryptsetup = true; withXfs = true; @@ -6174,7 +6178,7 @@ with pkgs; expect = callPackage ../tools/misc/expect { }; - exportarr = callPackage ../servers/monitoring/exportarr { }; + exportarr = callPackage ../servers/monitoring/prometheus/exportarr { }; expliot = callPackage ../tools/security/expliot { }; @@ -9873,6 +9877,8 @@ with pkgs; wlroots = wlroots_0_14; }; + phockup = callPackage ../applications/misc/phockup { }; + phodav = callPackage ../tools/networking/phodav { }; photon-rss = callPackage ../applications/networking/feedreaders/photon { }; @@ -16406,6 +16412,8 @@ with pkgs; gocd-server = callPackage ../development/tools/continuous-integration/gocd-server { }; + goredo = callPackage ../development/tools/build-managers/goredo { }; + gotify-server = callPackage ../servers/gotify { }; gotty = callPackage ../servers/gotty { }; @@ -16510,9 +16518,9 @@ with pkgs; itstool = callPackage ../development/tools/misc/itstool { }; - jam = callPackage ../development/tools/build-managers/jam { }; - - ftjam = callPackage ../development/tools/build-managers/jam/ftjam.nix { }; + inherit (callPackage ../development/tools/build-managers/jam { }) + jam + ftjam; javacc = callPackage ../development/tools/parsing/javacc { # Upstream doesn't support anything newer than Java 8. @@ -27141,7 +27149,6 @@ with pkgs; emacs28 = callPackage ../applications/editors/emacs/28.nix { # use override to enable additional features libXaw = xorg.libXaw; - Xaw3d = null; gconf = null; alsa-lib = null; acl = null; @@ -28304,6 +28311,8 @@ with pkgs; pass-secret-service = callPackage ../applications/misc/pass-secret-service { }; + passky-desktop = callPackage ../applications/misc/passky-desktop { }; + pinboard = with python3Packages; toPythonApplication pinboard; pinboard-notes-backup = haskell.lib.compose.justStaticExecutables haskellPackages.pinboard-notes-backup; @@ -32810,6 +32819,10 @@ with pkgs; bastet = callPackage ../games/bastet { }; + beancount-ing-diba = callPackage ../applications/office/beancount/beancount-ing-diba.nix { + inherit (python3Packages) buildPythonApplication; + }; + black-hole-solver = callPackage ../games/black-hole-solver { inherit (perlPackages) PathTiny; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0e88b141da54..03eb188e0730 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -754,6 +754,8 @@ in { aspy-yaml = callPackage ../development/python-modules/aspy.yaml { }; + assay = callPackage ../development/python-modules/assay { }; + assertpy = callPackage ../development/python-modules/assertpy { }; asterisk-mbox = callPackage ../development/python-modules/asterisk-mbox { }; @@ -1402,6 +1404,8 @@ in { blspy = callPackage ../development/python-modules/blspy { }; + bluemaestro-ble = callPackage ../development/python-modules/bluemaestro-ble { }; + bluepy = callPackage ../development/python-modules/bluepy { }; bluepy-devices = callPackage ../development/python-modules/bluepy-devices { }; @@ -2985,6 +2989,8 @@ in { etcd = callPackage ../development/python-modules/etcd { }; + ete3 = callPackage ../development/python-modules/ete3 { }; + etelemetry = callPackage ../development/python-modules/etelemetry { }; etebase = callPackage ../development/python-modules/etebase { @@ -4722,6 +4728,8 @@ in { inherit (self) systemd pytest; }; + jplephem = callPackage ../development/python-modules/jplephem { }; + jproperties = callPackage ../development/python-modules/jproperties { }; jpylyzer = callPackage ../development/python-modules/jpylyzer { }; @@ -5171,6 +5179,11 @@ in { libsavitar = callPackage ../development/python-modules/libsavitar { }; + + libsixel = callPackage ../development/python-modules/libsixel { + inherit (pkgs) libsixel; + }; + libselinux = lib.pipe pkgs.libselinux [ toPythonModule (p: @@ -7810,6 +7823,8 @@ in { pyjks = callPackage ../development/python-modules/pyjks { }; + pyjnius = callPackage ../development/python-modules/pyjnius { }; + pyjsparser = callPackage ../development/python-modules/pyjsparser { }; pyjwkest = callPackage ../development/python-modules/pyjwkest { }; @@ -9956,6 +9971,8 @@ in { sgmllib3k = callPackage ../development/python-modules/sgmllib3k { }; + sgp4 = callPackage ../development/python-modules/sgp4 { }; + shamir-mnemonic = callPackage ../development/python-modules/shamir-mnemonic { }; shap = callPackage ../development/python-modules/shap { }; @@ -10066,6 +10083,8 @@ in { skybellpy = callPackage ../development/python-modules/skybellpy { }; + skyfield = callPackage ../development/python-modules/skyfield { }; + skytemple-dtef = callPackage ../development/python-modules/skytemple-dtef { }; skytemple-eventserver = callPackage ../development/python-modules/skytemple-eventserver { }; @@ -10666,10 +10685,14 @@ in { tbm-utils = callPackage ../development/python-modules/tbm-utils { }; + tcxreader = callPackage ../development/python-modules/tcxreader { }; + teamcity-messages = callPackage ../development/python-modules/teamcity-messages { }; telegram = callPackage ../development/python-modules/telegram { }; + telegraph = callPackage ../development/python-modules/telegraph { }; + telethon = callPackage ../development/python-modules/telethon { inherit (pkgs) openssl; };