Merge branch 'master' into opentofu-version

This commit is contained in:
Jörg Thalheim 2023-12-07 15:20:48 +01:00 committed by GitHub
commit f746707aac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
28 changed files with 2615 additions and 358 deletions

View file

@ -32,20 +32,6 @@ lib.makeScope pkgs.newScope (self:
fetchFromSavannah;
};
emacs28 = callPackage (self.sources.emacs28) inheritedArgs;
emacs28-gtk2 = self.emacs28.override {
withGTK2 = true;
};
emacs28-gtk3 = self.emacs28.override {
withGTK3 = true;
};
emacs28-nox = pkgs.lowPrio (self.emacs28.override {
noGui = true;
});
emacs29 = callPackage (self.sources.emacs29) inheritedArgs;
emacs29-gtk3 = self.emacs29.override {
@ -60,7 +46,5 @@ lib.makeScope pkgs.newScope (self:
withPgtk = true;
};
emacs28-macport = callPackage (self.sources.emacs28-macport) inheritedArgs;
emacs29-macport = callPackage (self.sources.emacs29-macport) inheritedArgs;
})

View file

@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "emacspeak";
version = "56.0";
version = "58.0";
src = fetchFromGitHub {
owner = "tvraman";
repo = pname;
rev = version;
hash= "sha256-juy+nQ7DrG818/uTH6Dv/lrrzu8qzPWwi0sX7JrhHK8=";
hash= "sha256-5pWC17nvy3ZuG0bR//LqDVpKsH5hFSFf63Q33a1BfBk=";
};
nativeBuildInputs = [

View file

@ -67,14 +67,6 @@ let
};
in
{
emacs28 = import ./make-emacs.nix (mkArgs {
pname = "emacs";
version = "28.2";
variant = "mainline";
rev = "28.2";
hash = "sha256-4oSLcUDR0MOEt53QOiZSVU8kPJ67GwugmBxdX3F15Ag=";
});
emacs29 = import ./make-emacs.nix (mkArgs {
pname = "emacs";
version = "29.1";
@ -83,14 +75,6 @@ in
hash = "sha256-3HDCwtOKvkXwSULf3W7YgTz4GV8zvYnh2RrL28qzGKg=";
});
emacs28-macport = import ./make-emacs.nix (mkArgs {
pname = "emacs-mac";
version = "28.2";
variant = "macport";
rev = "emacs-28.2-mac-9.1";
hash = "sha256-Ne2jQ2nVLNiQmnkkOXVc5AkLVkTpm8pFC7VNY2gQjPE=";
});
emacs29-macport = import ./make-emacs.nix (mkArgs {
pname = "emacs-mac";
version = "29.1";

View file

@ -14,15 +14,16 @@
let
package = buildGoModule rec {
pname = "opentofu";
version = "1.6.0-beta1";
version = "1.6.0-beta2";
src = fetchFromGitHub {
owner = "opentofu";
repo = "opentofu";
rev = "v${version}";
hash = "sha256-bOZzMraJ1Bc5CauYkJLH4riCOhAbZlXh9TdBjJsp4Ds=";
hash = "sha256-zUMRjUcFIgLgNcUp+I48dDyncI4cjup4+HMXxxJdXU4=";
};
vendorHash = "sha256-T67VFtAsw6Dn+Ma0znwaa53GvzmrNLFoU17rCeJehKw=";
vendorHash = "sha256-kSm5RZqQRgbmPaKt5IWmuMhHwAu+oJKTX1q1lbE7hWk=";
ldflags = [ "-s" "-w" "-X" "github.com/opentofu/opentofu/version.dev=no" ];
postConfigure = ''

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "rke2";
version = "1.28.2+rke2r1";
version = "1.28.3+rke2r1";
src = fetchFromGitHub {
owner = "rancher";
repo = pname;
rev = "v${version}";
hash = "sha256-PkBnM6mKE90e8VZ3QHYp2mM4RgD9u1gNjFea3RaPGy0=";
hash = "sha256-0a659XE/Pg8g5Ui3ugUQeFnXJiWqkPbvhtdpLp4/5i8=";
};
vendorHash = "sha256-aW8en8KJsPITKT4fIyhhtLiYdk+98iL14wQXG4HsM3U=";
vendorHash = "sha256-Kexu3l4iV8bIIFFae0KVypy2bTKwtl5ibEDQ7YP0JK0=";
postPatch = ''
# Patch the build scripts so they work in the Nix build environment.

View file

@ -1,12 +1,17 @@
{ callPackage }: builtins.mapAttrs (pname: attrs: callPackage ./generic.nix (attrs // { inherit pname; })) {
signal-desktop = {
{ callPackage, stdenv }: builtins.mapAttrs (pname: attrs: callPackage ./generic.nix (attrs // { inherit pname; })) {
signal-desktop = rec {
dir = "Signal";
version = "6.40.0";
version-aarch64 = "6.40.0";
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
url-aarch64 = "https://github.com/0mniteck/Signal-Desktop-Mobian/raw/${version-aarch64}/builds/release/signal-desktop_${version-aarch64}_arm64.deb";
hash = "sha256-vyXHlycPSyEyv938IKzGM6pdERHHerx2CLY/U+WMrH4=";
hash-aarch64 = "sha256-3Pi0c+CGcJR1M4ll51m+B5PmGIcIjjlc0qa9b8rkMeU=";
};
signal-desktop-beta = {
signal-desktop-beta = rec {
dir = "Signal Beta";
version = "6.40.0-beta.2";
hash = "sha256-pfedkxbZ25DFgz+/N7ZEb9LwKrHuoMM+Zi+Tc21QPsg=";
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb";
};
}

View file

@ -1,7 +1,11 @@
{ pname
, dir
, version
, version-aarch64 ? ""
, hash
, hash-aarch64 ? ""
, url
, url-aarch64 ? ""
, stdenv
, lib
, fetchurl
@ -51,8 +55,15 @@
, wayland
}:
stdenv.mkDerivation rec {
inherit pname version; # Please backport all updates to the stable channel.
let
inherit (stdenv) targetPlatform;
ARCH = if targetPlatform.isAarch64 then "arm64" else "x64";
final-version = if targetPlatform.isAarch64 then version-aarch64 else version;
in stdenv.mkDerivation rec {
inherit pname;
version = final-version;
# Please backport all updates to the stable channel.
# All releases have a limited lifetime and "expire" 90 days after the release.
# When releases "expire" the application becomes unusable until an update is
# applied. The expiration date for the current release can be extracted with:
@ -61,8 +72,8 @@ stdenv.mkDerivation rec {
# few additional steps and might not be the best idea.)
src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/s/${pname}/${pname}_${version}_amd64.deb";
inherit hash;
url = if targetPlatform.isAarch64 then url-aarch64 else url;
hash = if targetPlatform.isAarch64 then hash-aarch64 else hash;
};
nativeBuildInputs = [
@ -163,7 +174,7 @@ stdenv.mkDerivation rec {
${if pname == "signal-desktop" then "--replace \"bin/signal-desktop\" \"bin/signal-desktop --use-tray-icon\"" else ""}
autoPatchelf --no-recurse -- "$out/lib/${dir}/"
patchelf --add-needed ${libpulseaudio}/lib/libpulse.so "$out/lib/${dir}/resources/app.asar.unpacked/node_modules/@signalapp/ringrtc/build/linux/libringrtc-x64.node"
patchelf --add-needed ${libpulseaudio}/lib/libpulse.so "$out/lib/${dir}/resources/app.asar.unpacked/node_modules/@signalapp/ringrtc/build/linux/libringrtc-${ARCH}.node"
'';
# Tests if the application launches and waits for "Link your phone to Signal Desktop":
@ -176,11 +187,11 @@ stdenv.mkDerivation rec {
"Signal Android" or "Signal iOS" app.
'';
homepage = "https://signal.org/";
changelog = "https://github.com/signalapp/Signal-Desktop/releases/tag/v${version}";
changelog = "https://github.com/signalapp/Signal-Desktop/releases/tag/v${final-version}";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ mic92 equirosa urandom ];
maintainers = with lib.maintainers; [ mic92 equirosa urandom bkchr ];
mainProgram = pname;
platforms = [ "x86_64-linux" ];
platforms = if builtins.stringLength version-aarch64 > 0 then [ "x86_64-linux" "aarch64-linux" ] else [ "x86_64-linux" ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
}

View file

@ -23,16 +23,16 @@
stdenv.mkDerivation rec {
pname = "planify";
version = "4.1.1";
version = "4.1.4";
src = fetchFromGitHub {
owner = "alainm23";
repo = "planify";
# The commit is named as "Release 4.1.1", published to Flathub, but not tags
# https://github.com/flathub/io.github.alainm23.planify/commit/2a353ccfcf3379add6778d569f49da37f40accfa
# The commit is named as "Release 4.1.4", published to Flathub, but not tags
# https://github.com/flathub/io.github.alainm23.planify/commit/f345f81b55e4638bc6605e0bf9d15a057b846252
# https://github.com/alainm23/planify/issues/1002
rev = "adf3629bcacfc9978f6dde5b87eff0278533ab3e";
hash = "sha256-xqklvSYmqBQ+IQ3lRjMbV4W4vD/rLCln7rBVCbYiBGo=";
rev = "73fd6cb7acfc60937d1403238c255736b97aa94b";
hash = "sha256-K3QFFpq2MJxK34Uh0qFyaSGeTPTZbwIVYkosFUrhflQ=";
};
nativeBuildInputs = [

View file

@ -24,10 +24,10 @@ stdenv.mkDerivation rec {
version = "11.1.0.11711";
src = if useChineseVersion then fetchurl {
url = "https://wps-linux-personal.wpscdn.cn/wps/download/ep/Linux2019/${lib.last (lib.splitString "." version)}/wps-office_${version}_amd64.deb";
url = "https://wps-linux-personal.wpscdn.cn/wps/download/ep/Linux2019/${lib.last (lib.splitVersion version)}/wps-office_${version}_amd64.deb";
hash = "sha256-JHSTZZnOZoTpj8zF4C5PmjTkftEdxbeaqweY3ITiJto=";
} else fetchurl {
url = "https://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/${lib.last (lib.splitString "." version)}/wps-office_${version}.XA_amd64.deb";
url = "https://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/${lib.last (lib.splitVersion version)}/wps-office_${version}.XA_amd64.deb";
hash = "sha256-2apkSE/8Wm6/OQ4x5n1PE1emhovqOgD0NVTY5QZZTYA=";
};

2079
pkgs/by-name/la/lazymc/Cargo.lock generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,42 @@
{
lib
, rustPlatform
, fetchFromGitHub
, stdenv
, darwin
, nix-update-script
}:
rustPlatform.buildRustPackage rec {
pname = "lazymc";
version = "0.2.10";
src = fetchFromGitHub {
owner = "timvisee";
repo = "lazymc";
rev = "v${version}";
hash = "sha256-IObLjxuMJDjZ3M6M1DaPvmoRqAydbLKdpTQ3Vs+B9Oo=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"minecraft-protocol-0.1.0" = "sha256-vSFS1yVxTBSpx/ZhzA3EjcZyOWHbmoGARl0eMn1fJ+4=";
};
};
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreServices
];
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Remote wake-up daemon for minecraft servers";
homepage = "https://github.com/timvisee/lazymc";
license = licenses.gpl3Only;
maintainers = with maintainers; [ h7x4 dandellion ];
platforms = platforms.unix;
mainProgram = "lazymc";
};
}

View file

@ -29,17 +29,20 @@ let
cryptography
pynacl
netifaces
netaddr
ifaddr
qrcode
]);
in
stdenv.mkDerivation rec {
pname = "warpinator";
version = "1.6.4";
version = "1.8.1";
src = fetchFromGitHub {
owner = "linuxmint";
repo = pname;
rev = version;
hash = "sha256-BKptTQbSBTQyc5V6WWdsPdC76sH0CFMXOyahfRmvQzc=";
hash = "sha256-dxbs2Qq1Ix04yIA587tntLJ3W/pnA0wTiQ4BB5GCTR0=";
};
nativeBuildInputs = [
@ -60,6 +63,7 @@ stdenv.mkDerivation rec {
];
mesonFlags = [
"-Dbundle-grpc=false"
"-Dbundle-zeroconf=false"
];

View file

@ -49,6 +49,7 @@ super: lib.trivial.pipe super [
nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
buildInputs = [ vte ];
postFixup = ''
substituteInPlace "$out/share/gnome-shell/extensions/ddterm@amezin.github.com/bin/com.github.amezin.ddterm" --replace "gjs" "${gjs}/bin/gjs"
wrapGApp "$out/share/gnome-shell/extensions/ddterm@amezin.github.com/bin/com.github.amezin.ddterm"
'';
}))

View file

@ -14,8 +14,8 @@ let
java = openjdk17_headless;
});
dashed-icu-version = lib.concatStringsSep "-" (lib.splitString "." (lib.getVersion icu71));
underscored-icu-version = lib.concatStringsSep "_" (lib.splitString "." (lib.getVersion icu71));
dashed-icu-version = lib.concatStringsSep "-" (lib.splitVersion (lib.getVersion icu71));
underscored-icu-version = lib.concatStringsSep "_" (lib.splitVersion (lib.getVersion icu71));
icu-data = fetchurl {
url = "https://github.com/unicode-org/icu/releases/download/release-${dashed-icu-version}/icu4c-${underscored-icu-version}-data-bin-l.zip";
hash = "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM=";

View file

@ -1,6 +1,10 @@
{ stdenv, lib, fetchFromGitLab, fetchpatch, nasm
{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, nasm
, enableShared ? !stdenv.hostPlatform.isStatic
}:
}:
stdenv.mkDerivation rec {
pname = "x264";
@ -49,9 +53,9 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Library for encoding H264/AVC video streams";
homepage = "http://www.videolan.org/developers/x264.html";
license = licenses.gpl2Plus;
platforms = platforms.unix;
homepage = "http://www.videolan.org/developers/x264.html";
license = licenses.gpl2Plus;
platforms = platforms.unix ++ platforms.windows;
maintainers = with maintainers; [ tadeokondrak ];
};
}

View file

@ -0,0 +1,45 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, setuptools
}:
buildPythonPackage rec {
pname = "devialet";
version = "1.4.3";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "fwestenberg";
repo = "devialet";
rev = "refs/tags/v${version}";
hash = "sha256-DVwf1zQXwPe8W2SzL9CnYE+gwLgPEnI+tQTfR+ijwF4=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
aiohttp
];
# Module has no tests
doCheck = false;
pythonImportsCheck = [
"devialet"
];
meta = with lib; {
description = "Library to interact with the Devialet API";
homepage = "https://github.com/fwestenberg/devialet";
changelog = "https://github.com/fwestenberg/devialet/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,45 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, setuptools
}:
buildPythonPackage rec {
pname = "pyasuswrt";
version = "0.1.20";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "ollo69";
repo = "pyasuswrt";
rev = "refs/tags/v${version}";
hash = "sha256-QsqyijOYEtp6k2rsDheGMVij4s5a5ZfUfsLIq+BaYV8=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
aiohttp
];
# Tests require physical hardware
doCheck = false;
pythonImportsCheck = [
"pyasuswrt"
];
meta = with lib; {
description = "Library for communication with ASUSWRT routers via HTTP";
homepage = "https://github.com/ollo69/pyasuswrt";
changelog = "https://github.com/ollo69/pyasuswrt/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}

View file

@ -180,7 +180,7 @@ in buildPythonPackage rec {
# Strangely, this is never set in cmake
substituteInPlace cmake/public/LoadHIP.cmake \
--replace "set(ROCM_PATH \$ENV{ROCM_PATH})" \
"set(ROCM_PATH \$ENV{ROCM_PATH})''\nset(ROCM_VERSION ${lib.concatStrings (lib.intersperse "0" (lib.splitString "." rocmPackages.clr.version))})"
"set(ROCM_PATH \$ENV{ROCM_PATH})''\nset(ROCM_VERSION ${lib.concatStrings (lib.intersperse "0" (lib.splitVersion rocmPackages.clr.version))})"
''
# Detection of NCCL version doesn't work particularly well when using the static binary.
+ lib.optionalString cudaSupport ''

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,6 @@
{ darwin
, fetchFromGitHub
, lib
, openssl
, pkg-config
, rustPlatform
, stdenv
@ -9,30 +8,28 @@
let
inherit (darwin.apple_sdk.frameworks)
CoreServices
SystemConfiguration
Security;
inherit (lib) optionals;
inherit (stdenv) isDarwin;
in
rustPlatform.buildRustPackage rec {
pname = "cargo-leptos";
version = "0.2.2";
version = "0.2.5";
src = fetchFromGitHub {
owner = "leptos-rs";
repo = pname;
rev = "e98b478b0c82af1469151eff30f4246b9af4a539";
hash = "sha256-7o/yQanBBSA+MmMiGCYSjar4hZ8TRZoPiUniF5ELzXU=";
rev = version;
hash = "sha256-veRhTruM+Nw2rerzXC/kpi2Jr8mMMBLqOM2YBCpFePU=";
};
cargoLock = {
lockFile = ./Cargo.lock;
};
nativeBuildInputs = optionals (!isDarwin) [ pkg-config ];
buildInputs = optionals (!isDarwin) [
openssl
] ++ optionals isDarwin [
buildInputs = optionals isDarwin [
SystemConfiguration
Security
CoreServices
];

View file

@ -82,7 +82,7 @@ let
let
# Split the version into the major and minor parts
versionParts = lib.splitString "-" version;
splitVersion = lib.splitString "." (builtins.elemAt versionParts 0);
splitVersion = lib.splitVersion (builtins.elemAt versionParts 0);
majorVersion = builtins.concatStringsSep "." (lib.lists.take 2 splitVersion);
minorVersionPart = parts: sep: expectedSize:

View file

@ -66,7 +66,7 @@ rec {
openSha256 = "sha256-K14Av5fCda1J9o5pkQBhmwW34d2hgqrF3J99FWPsNjM=";
settingsSha256 = "sha256-jCRfeB1w6/dA27gaz6t5/Qo7On0zbAPIi74LYLel34s=";
persistencedSha256 = "sha256-WviDU6B50YG8dO64CGvU3xK8WFUX8nvvVYm/fuGyroM=";
url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitString "." version)}-linux";
url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitVersion version)}-linux";
};
# data center driver compatible with current default cudaPackages

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "rustypaste";
version = "0.14.1";
version = "0.14.2";
src = fetchFromGitHub {
owner = "orhun";
repo = pname;
rev = "v${version}";
sha256 = "sha256-9qP0/PGXRbQzSIsxUoGzbtc2KNg6SKrqGYcg/K6SuKo=";
sha256 = "sha256-3DH19lLOoNwokHmANKVbYgMBlp1HXxcSK2Cun8KV3b8=";
};
cargoHash = "sha256-76s3cWAKS6aeIG1ctHU6uCMWHDKsMcf5HWhUWzEuAkI=";
cargoHash = "sha256-Ybqe3CMqZi127aXwRrdo2Of3n+pPGfnTqFPlM7Nr2rI=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreServices

View file

@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
passthru = {
# We guarantee CLI and Nix API stability for the same minor version
apiVersion = builtins.concatStringsSep "." (lib.take 2 (lib.splitString "." version));
apiVersion = builtins.concatStringsSep "." (lib.take 2 (lib.splitVersion version));
tests.version = testers.testVersion { package = colmena; };
};

View file

@ -9,6 +9,9 @@ stdenv.mkDerivation rec {
hash = "sha256-PfXrj4d2SHmatiPPFxjsxvhusML1HTRNjoYEQtzFzW8=";
};
# code predates c99
env.CFLAGS = "-std=c89";
preInstall = ''
mkdir -p $out/man/man1 $out/bin
'';

View file

@ -221,11 +221,7 @@ mapAliases ({
elixir_ls = elixir-ls; # Added 2023-03-20
# Emacs
emacs28NativeComp = emacs28; # Added 2022-06-08
emacs28Packages = emacs28.pkgs; # Added 2021-10-04
emacs28WithPackages = emacs28.pkgs.withPackages; # Added 2021-10-04
emacsMacport = emacs-macport; # Added 2023-08-10
emacsNativeComp = emacs28NativeComp; # Added 2022-06-08
emacsPackagesNg = throw "'emacsPackagesNg' has been renamed to/replaced by 'emacs.pkgs'"; # Converted to throw 2023-09-10
emacsPackagesNgFor = throw "'emacsPackagesNgFor' has been renamed to/replaced by 'emacsPackagesFor'"; # Converted to throw 2023-09-10
emacsWithPackages = emacs.pkgs.withPackages; # Added 2020-12-18

View file

@ -31345,22 +31345,17 @@ with pkgs;
em = callPackage ../applications/editors/em { };
inherit (recurseIntoAttrs (darwin.apple_sdk_11_0.callPackage ../applications/editors/emacs { }))
emacs28
emacs28-gtk2
emacs28-gtk3
emacs28-nox
emacs29
emacs29-gtk3
emacs29-nox
emacs29-pgtk
emacs28-macport
emacs29-macport
;
emacs-macport = emacs28-macport;
emacs = emacs28;
emacs-gtk = emacs28-gtk3;
emacs-nox = emacs28-nox;
emacs-macport = emacs29-macport;
emacs = emacs29;
emacs-gtk = emacs29-gtk3;
emacs-nox = emacs29-nox;
emacsPackagesFor = emacs: import ./emacs-packages.nix {
inherit (lib) makeScope makeOverridable dontRecurseIntoAttrs;

View file

@ -2789,6 +2789,8 @@ self: super: with self; {
detectron2 = callPackage ../development/python-modules/detectron2 { };
devialet = callPackage ../development/python-modules/devialet { };
devito = callPackage ../development/python-modules/devito { };
devolo-home-control-api = callPackage ../development/python-modules/devolo-home-control-api { };
@ -9920,6 +9922,8 @@ self: super: with self; {
pyasn1-modules = callPackage ../development/python-modules/pyasn1-modules { };
pyasuswrt = callPackage ../development/python-modules/pyasuswrt { };
pyathena = callPackage ../development/python-modules/pyathena { };
pyatmo = callPackage ../development/python-modules/pyatmo { };