Merge branch 'master' into staging-next

This commit is contained in:
Vladimír Čunát 2022-10-08 10:20:07 +02:00
commit 6565abc264
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
278 changed files with 37539 additions and 12074 deletions

View File

@ -1,8 +1,8 @@
name: "Update terraform-providers" name: "Update terraform-providers"
on: on:
#schedule: schedule:
# - cron: "14 3 * * 0" - cron: "0 3 * * *"
workflow_dispatch: workflow_dispatch:
permissions: permissions:
@ -28,10 +28,13 @@ jobs:
run: | run: |
git config user.email "41898282+github-actions[bot]@users.noreply.github.com" git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]" git config user.name "github-actions[bot]"
pushd pkgs/applications/networking/cluster/terraform-providers echo | nix-shell \
./update-all-providers --no-build maintainers/scripts/update.nix \
git commit -m "${{ steps.setup.outputs.title }}" providers.json --argstr commit true \
popd --argstr keep-going true \
--argstr max-workers 2 \
--argstr path terraform-providers
git clean -f
- name: create PR - name: create PR
uses: peter-evans/create-pull-request@v4 uses: peter-evans/create-pull-request@v4
with: with:
@ -44,13 +47,5 @@ jobs:
``` ```
branch: terraform-providers-update branch: terraform-providers-update
delete-branch: false delete-branch: false
labels: "2.status: work-in-progress"
title: ${{ steps.setup.outputs.title }} title: ${{ steps.setup.outputs.title }}
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
- name: comment on failure
uses: peter-evans/create-or-update-comment@v2
if: ${{ failure() }}
with:
issue-number: 153416
body: |
Automatic update of terraform providers [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).

View File

@ -9,4 +9,5 @@
<xi:include href="images/dockertools.section.xml" /> <xi:include href="images/dockertools.section.xml" />
<xi:include href="images/ocitools.section.xml" /> <xi:include href="images/ocitools.section.xml" />
<xi:include href="images/snaptools.section.xml" /> <xi:include href="images/snaptools.section.xml" />
<xi:include href="images/portableservice.section.xml" />
</chapter> </chapter>

View File

@ -0,0 +1,81 @@
# pkgs.portableService {#sec-pkgs-portableService}
`pkgs.portableService` is a function to create _portable service images_,
as read-only, immutable, `squashfs` archives.
systemd supports a concept of [Portable Services](https://systemd.io/PORTABLE_SERVICES/).
Portable Services are a delivery method for system services that uses two specific features of container management:
* Applications are bundled. I.e. multiple services, their binaries and
all their dependencies are packaged in an image, and are run directly from it.
* Stricter default security policies, i.e. sandboxing of applications.
This allows using Nix to build images which can be run on many recent Linux distributions.
The primary tool for interacting with Portable Services is `portablectl`,
and they are managed by the `systemd-portabled` system service.
:::{.note}
Portable services are supported starting with systemd 239 (released on 2018-06-22).
:::
A very simple example of using `portableService` is described below:
[]{#ex-pkgs-portableService}
```nix
pkgs.portableService {
pname = "demo";
version = "1.0";
units = [ demo-service demo-socket ];
}
```
The above example will build an squashfs archive image in `result/$pname_$version.raw`. The image will contain the
file system structure as required by the portable service specification, and a subset of the Nix store with all the
dependencies of the two derivations in the `units` list.
`units` must be a list of derivations, and their names must be prefixed with the service name (`"demo"` in this case).
Otherwise `systemd-portabled` will ignore them.
:::{.Note}
The `.raw` file extension of the image is required by the portable services specification.
:::
Some other options available are:
- `description`, `homepage`
Are added to the `/etc/os-release` in the image and are shown by the portable services tooling.
Default to empty values, not added to os-release.
- `symlinks`
A list of attribute sets {object, symlink}. Symlinks will be created in the root filesystem of the image to
objects in the Nix store. Defaults to an empty list.
- `contents`
A list of additional derivations to be included in the image Nix store, as-is. Defaults to an empty list.
- `squashfsTools`
Defaults to `pkgs.squashfsTools`, allows you to override the package that provides `mksquashfs`.
- `squash-compression`, `squash-block-size`
Options to `mksquashfs`. Default to `"xz -Xdict-size 100%"` and `"1M"` respectively.
A typical usage of `symlinks` would be:
```nix
symlinks = [
{ object = "${pkgs.cacert}/etc/ssl"; symlink = "/etc/ssl"; }
{ object = "${pkgs.bash}/bin/bash"; symlink = "/bin/sh"; }
{ object = "${pkgs.php}/bin/php"; symlink = "/usr/bin/php"; }
];
```
to create these symlinks for legacy applications that assume them existing globally.
Once the image is created, and deployed on a host in `/var/lib/portables/`, you can attach the image and run the service. As root run:
```console
portablectl attach demo_1.0.raw
systemctl enable --now demo.socket
systemctl enable --now demo.service
```
:::{.Note}
See the [man page](https://www.freedesktop.org/software/systemd/man/portablectl.html) of `portablectl` for more info on its usage.
:::

View File

@ -9902,6 +9902,12 @@
githubId = 1809198; githubId = 1809198;
name = "Victor Roest"; name = "Victor Roest";
}; };
nullishamy = {
email = "amy.codes@null.net";
name = "nullishamy";
github = "nullishamy";
githubId = 99221043;
};
numinit = { numinit = {
email = "me@numin.it"; email = "me@numin.it";
github = "numinit"; github = "numinit";
@ -10693,6 +10699,16 @@
githubId = 178496; githubId = 178496;
name = "Philipp Middendorf"; name = "Philipp Middendorf";
}; };
pmw = {
email = "philip@mailworks.org";
matrix = "@philip4g:matrix.org";
name = "Philip White";
github = "philipmw";
githubId = 1379645;
keys = [{
fingerprint = "9AB0 6C94 C3D1 F9D0 B9D9 A832 BC54 6FB3 B16C 8B0B";
}];
};
pmy = { pmy = {
email = "pmy@xqzp.net"; email = "pmy@xqzp.net";
github = "pmeiyu"; github = "pmeiyu";
@ -10863,6 +10879,12 @@
} }
]; ];
}; };
prtzl = {
email = "matej.blagsic@protonmail.com";
github = "prtzl";
githubId = 32430344;
name = "Matej Blagsic";
};
ProducerMatt = { ProducerMatt = {
name = "Matthew Pherigo"; name = "Matthew Pherigo";
email = "ProducerMatt42@gmail.com"; email = "ProducerMatt42@gmail.com";

View File

@ -237,8 +237,8 @@ services.bind = {
<programlisting> <programlisting>
systemd.services.dns-rfc2136-conf = { systemd.services.dns-rfc2136-conf = {
requiredBy = ["acme-example.com.service", "bind.service"]; requiredBy = ["acme-example.com.service" "bind.service"];
before = ["acme-example.com.service", "bind.service"]; before = ["acme-example.com.service" "bind.service"];
unitConfig = { unitConfig = {
ConditionPathExists = "!/var/lib/secrets/dnskeys.conf"; ConditionPathExists = "!/var/lib/secrets/dnskeys.conf";
}; };
@ -249,18 +249,19 @@ systemd.services.dns-rfc2136-conf = {
path = [ pkgs.bind ]; path = [ pkgs.bind ];
script = '' script = ''
mkdir -p /var/lib/secrets mkdir -p /var/lib/secrets
chmod 755 /var/lib/secrets
tsig-keygen rfc2136key.example.com &gt; /var/lib/secrets/dnskeys.conf tsig-keygen rfc2136key.example.com &gt; /var/lib/secrets/dnskeys.conf
chown named:root /var/lib/secrets/dnskeys.conf chown named:root /var/lib/secrets/dnskeys.conf
chmod 400 /var/lib/secrets/dnskeys.conf chmod 400 /var/lib/secrets/dnskeys.conf
# Copy the secret value from the dnskeys.conf, and put it in # extract secret value from the dnskeys.conf
# RFC2136_TSIG_SECRET below while read x y; do if [ "$x" = "secret" ]; then secret="''${y:1:''${#y}-3}"; fi; done &lt; /var/lib/secrets/dnskeys.conf
cat &gt; /var/lib/secrets/certs.secret &lt;&lt; EOF cat &gt; /var/lib/secrets/certs.secret &lt;&lt; EOF
RFC2136_NAMESERVER='127.0.0.1:53' RFC2136_NAMESERVER='127.0.0.1:53'
RFC2136_TSIG_ALGORITHM='hmac-sha256.' RFC2136_TSIG_ALGORITHM='hmac-sha256.'
RFC2136_TSIG_KEY='rfc2136key.example.com' RFC2136_TSIG_KEY='rfc2136key.example.com'
RFC2136_TSIG_SECRET='your secret key' RFC2136_TSIG_SECRET='$secret'
EOF EOF
chmod 400 /var/lib/secrets/certs.secret chmod 400 /var/lib/secrets/certs.secret
''; '';

View File

@ -33,18 +33,26 @@ let
mkEtcFile = p: nameValuePair (mkName p) { source = p; }; mkEtcFile = p: nameValuePair (mkName p) { source = p; };
in listToAttrs (map mkEtcFile cfg.extraTrustedKeys); in listToAttrs (map mkEtcFile cfg.extraTrustedKeys);
# We cannot include the file in $out and rely on filesInstalledToEtc enableRemote = base: remote: {
# to install it because it would create a cyclic dependency between "fwupd/remotes.d/${remote}.conf" = {
# the outputs. We also need to enable the remote, source = pkgs.runCommand "${remote}-enabled.conf" {} ''
# which should not be done by default.
testRemote = if cfg.enableTestRemote then {
"fwupd/remotes.d/fwupd-tests.conf" = {
source = pkgs.runCommand "fwupd-tests-enabled.conf" {} ''
sed "s,^Enabled=false,Enabled=true," \ sed "s,^Enabled=false,Enabled=true," \
"${cfg.package.installedTests}/etc/fwupd/remotes.d/fwupd-tests.conf" > "$out" "${base}/etc/fwupd/remotes.d/${remote}.conf" > "$out"
''; '';
}; };
} else {}; };
remotes = (foldl'
(configFiles: remote: configFiles // (enableRemote cfg.package remote))
{}
cfg.extraRemotes
) // (
# We cannot include the file in $out and rely on filesInstalledToEtc
# to install it because it would create a cyclic dependency between
# the outputs. We also need to enable the remote,
# which should not be done by default.
mkIf cfg.enableTestRemote (enableRemote cfg.package.installedTests "fwupd-tests")
);
in { in {
###### interface ###### interface
@ -86,6 +94,15 @@ in {
''; '';
}; };
extraRemotes = mkOption {
type = with types; listOf str;
default = [];
example = [ "lvfs-testing" ];
description = lib.mdDoc ''
Enables extra remotes in fwupd. See `/etc/fwupd/remotes.d`.
'';
};
enableTestRemote = mkOption { enableTestRemote = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
@ -119,7 +136,7 @@ in {
environment.systemPackages = [ cfg.package ]; environment.systemPackages = [ cfg.package ];
# customEtc overrides some files from the package # customEtc overrides some files from the package
environment.etc = originalEtc // customEtc // extraTrustedKeys // testRemote; environment.etc = originalEtc // customEtc // extraTrustedKeys // remotes;
services.dbus.packages = [ cfg.package ]; services.dbus.packages = [ cfg.package ];

View File

@ -171,10 +171,10 @@ let
mv etc/udev/hwdb.bin $out mv etc/udev/hwdb.bin $out
''; '';
compressFirmware = if config.boot.kernelPackages.kernelAtLeast "5.3" then compressFirmware = firmware: if (config.boot.kernelPackages.kernelAtLeast "5.3" && (firmware.compressFirmware or true)) then
pkgs.compressFirmwareXz pkgs.compressFirmwareXz firmware
else else
id; id firmware;
# Udev has a 512-character limit for ENV{PATH}, so create a symlink # Udev has a 512-character limit for ENV{PATH}, so create a symlink
# tree to work around this. # tree to work around this.

View File

@ -12,7 +12,7 @@ in
boot.initrd.kernelModules = mkIf inInitrd [ "jfs" ]; boot.initrd.kernelModules = mkIf inInitrd [ "jfs" ];
boot.initrd.extraUtilsCommands = mkIf (inInitrd && !boot.initrd.systemd.enable) '' boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable) ''
copy_bin_and_libs ${pkgs.jfsutils}/sbin/fsck.jfs copy_bin_and_libs ${pkgs.jfsutils}/sbin/fsck.jfs
''; '';
}; };

View File

@ -13,7 +13,6 @@
, makeDesktopItem , makeDesktopItem
, pkg-config , pkg-config
, libarchive , libarchive
, fetchpatch
, copyDesktopItems , copyDesktopItems
, usePipewire ? true , usePipewire ? true
, usePulseaudio ? false , usePulseaudio ? false
@ -26,28 +25,15 @@ let
in in
mkDerivation rec { mkDerivation rec {
pname = "jamesdsp"; pname = "jamesdsp";
version = "2.3"; version = "2.4";
src = fetchFromGitHub rec { src = fetchFromGitHub rec {
owner = "Audio4Linux"; owner = "Audio4Linux";
repo = "JDSP4Linux"; repo = "JDSP4Linux";
fetchSubmodules = true; fetchSubmodules = true;
rev = version; rev = version;
hash = "sha256-Hkzurr+s+vvSyOMCYH9kHI+nIm6mL9yORGNzY2FXslc="; hash = "sha256-wD1JZQD8dR24cBN4QJCSrEsS4aoMD+MQmqnOIFKOeoE=";
}; };
patches = [
# fixing /usr install assumption, remove on version bump
(fetchpatch {
url = "https://github.com/Audio4Linux/JDSP4Linux/commit/003c9e9fc426f83e269aed6e05be3ed55273931a.patch";
hash = "sha256-crll/a7C9pUq9eL5diq8/YgC5bNC6SrdijZEBxZpJ8E=";
})
# compatibility fix for PipeWire 0.3.44+, remove on version bump
(fetchpatch {
url = "https://github.com/Audio4Linux/JDSP4Linux/commit/e04c55735cc20fc3c3ce042c5681ec80f7df3c96.patch";
hash = "sha256-o6AUtQzugykALSdkM3i3lYqRmzJX3FzmALSi0TrWuRA=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
qmake qmake
pkg-config pkg-config
@ -86,6 +72,11 @@ in
}) })
]; ];
postInstall = ''
install -D resources/icons/icon.png $out/share/pixmaps/jamesdsp.png
install -D resources/icons/icon.svg $out/share/icons/hicolor/scalable/apps/jamesdsp.svg
'';
meta = with lib;{ meta = with lib;{
broken = (stdenv.isLinux && stdenv.isAarch64); broken = (stdenv.isLinux && stdenv.isAarch64);
description = "An audio effect processor for PipeWire clients"; description = "An audio effect processor for PipeWire clients";

View File

@ -25,13 +25,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "tauon"; pname = "tauon";
version = "7.4.1"; version = "7.4.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Taiko2k"; owner = "Taiko2k";
repo = "TauonMusicBox"; repo = "TauonMusicBox";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-cHuEmRQG40p04MXcwmYMm7Jih+mYre9IBnOPMx1/k7k="; sha256 = "sha256-fEEu7GqK1leOop3kd1Ci9BAH2bP31jvTOg3DEL8lIF4=";
}; };
postUnpack = '' postUnpack = ''

View File

@ -0,0 +1,103 @@
{ clang
, cmake
, fetchFromGitHub
, fetchurl
, lib
, lighthouse
, llvmPackages
, nodePackages
, perl
, protobuf
, rustPlatform
, Security
, stdenv
, testers
, unzip
}:
rustPlatform.buildRustPackage rec {
pname = "lighthouse";
version = "3.1.2";
# lighthouse/common/deposit_contract/build.rs
depositContractSpecVersion = "0.12.1";
testnetDepositContractSpecVersion = "0.9.2.1";
src = fetchFromGitHub {
owner = "sigp";
repo = "lighthouse";
rev = "v${version}";
hash = "sha256-EJFg6ZjxxijxJNMwKRh0cYeqwujUV3OJgXBvBRsnbVI=";
};
cargoHash = "sha256-iXqRtBqvM9URQsL8qGmpr3CNX2fpbtDOaluibAX/lWo=";
buildFeatures = [ "modern" "gnosis" ];
nativeBuildInputs = [ clang cmake perl protobuf ];
buildInputs = lib.optionals stdenv.isDarwin [
Security
];
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
depositContractSpec = fetchurl {
url = "https://raw.githubusercontent.com/ethereum/eth2.0-specs/v${depositContractSpecVersion}/deposit_contract/contracts/validator_registration.json";
hash = "sha256-ZslAe1wkmkg8Tua/AmmEfBmjqMVcGIiYHwi+WssEwa8=";
};
testnetDepositContractSpec = fetchurl {
url = "https://raw.githubusercontent.com/sigp/unsafe-eth2-deposit-contract/v${testnetDepositContractSpecVersion}/unsafe_validator_registration.json";
hash = "sha256-aeTeHRT3QtxBRSNMCITIWmx89vGtox2OzSff8vZ+RYY=";
};
LIGHTHOUSE_DEPOSIT_CONTRACT_SPEC_URL = "file://${depositContractSpec}";
LIGHTHOUSE_DEPOSIT_CONTRACT_TESTNET_URL = "file://${testnetDepositContractSpec}";
cargoBuildFlags = [
"--package lighthouse"
];
__darwinAllowLocalNetworking = true;
checkFeatures = [ ];
# All of these tests require network access
cargoTestFlags = [
"--workspace"
"--exclude beacon_node"
"--exclude http_api"
"--exclude beacon_chain"
"--exclude lighthouse"
"--exclude lighthouse_network"
"--exclude slashing_protection"
"--exclude web3signer_tests"
];
# All of these tests require network access
checkFlags = [
"--skip service::tests::tests::test_dht_persistence"
"--skip time::test::test_reinsertion_updates_timeout"
] ++ lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [
"--skip subnet_service::tests::sync_committee_service::same_subscription_with_lower_until_epoch"
"--skip subnet_service::tests::sync_committee_service::subscribe_and_unsubscribe"
];
checkInputs = [
nodePackages.ganache
];
passthru.tests.version = testers.testVersion {
package = lighthouse;
command = "lighthouse --version";
version = "v${lighthouse.version}";
};
meta = with lib; {
description = "Ethereum consensus client in Rust";
homepage = "https://lighthouse.sigmaprime.io/";
license = licenses.asl20;
maintainers = with maintainers; [ centromere pmw ];
};
}

View File

@ -14,8 +14,8 @@ let
sha256Hash = "GnJbWFeG9DuUQzbK9wM2BEbj9LXm4jQFf/Eh5Q75HZo="; sha256Hash = "GnJbWFeG9DuUQzbK9wM2BEbj9LXm4jQFf/Eh5Q75HZo=";
}; };
betaVersion = { betaVersion = {
version = "2022.1.1.11"; # "Android Studio Electic Eel (2022.1.1) Beta 1" version = "2022.1.1.12"; # "Android Studio Electric Eel (2022.1.1) Beta 2"
sha256Hash = "YQ20VQME9bQ2vOI7RWfA00npewOL3D6y1dGgNnJXnHc="; sha256Hash = "8iSFPH0PTQkzV1t8bEq7CBtOU8pzdnD/PrpVcgPnO6Q=";
}; };
latestVersion = { # canary & dev latestVersion = { # canary & dev
version = "2022.2.1.2"; # "Android Studio Flamingo (2022.2.1) Canary 2" version = "2022.2.1.2"; # "Android Studio Flamingo (2022.2.1) Canary 2"

View File

@ -1,19 +1,19 @@
{ lib, buildGoPackage, fetchFromGitHub }: { lib, buildGoModule, fetchFromGitHub }:
buildGoPackage rec { buildGoModule rec {
version = "0.0.1";
pname = "hecate"; pname = "hecate";
version = "unstable-2022-05-03";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "evanmiller"; owner = "evanmiller";
repo = "hecate"; repo = "hecate";
rev = "v${version}"; rev = "7637250f4b2c5b777418b35fa11276d11d5128b0";
sha256 = "0ymirsd06z3qa9wi59k696mg8f4mhscw8gc5c5zkd0n3n8s0k0z8"; sha256 = "sha256-8L0ukzPF7aECCeZfwZYKcJAJLpPgotkVJ+OSdwQUjhw=";
}; };
goPackagePath = "hecate"; vendorSha256 = "sha256-eyMrTrNarNCB3w8EOeJBmCbVxpMZy25sQ19icVARU1M=";
goDeps = ./deps.nix; ldflags = [ "-s" "-w" ];
meta = with lib; { meta = with lib; {
inherit (src.meta) homepage; inherit (src.meta) homepage;

View File

@ -1,29 +0,0 @@
[
{
goPackagePath = "github.com/nsf/termbox-go";
fetch = {
type = "git";
url = "https://github.com/nsf/termbox-go";
rev = "b6acae516ace002cb8105a89024544a1480655a5";
sha256 = "0zf95qdd5bif9rw03hqk87x7d905p373bvsj0bl4gi16spqjbdil";
};
}
{
goPackagePath = "github.com/edsrzf/mmap-go";
fetch = {
type = "git";
url = "https://github.com/edsrzf/mmap-go";
rev = "935e0e8a636ca4ba70b713f3e38a19e1b77739e8";
sha256 = "11a63wrjwfnchjhwqjp6yd5j0370ysppjgv31l5bmvvwps7whq9d";
};
}
{
goPackagePath = "github.com/mattn/go-runewidth";
fetch = {
type = "git";
url = "https://github.com/mattn/go-runewidth";
rev = "737072b4e32b7a5018b4a7125da8d12de90e8045";
sha256 = "09ni8bmj6p2b774bdh6mfcxl03bh5sqk860z03xpb6hv6yfxqkjm";
};
}
]

View File

@ -1,38 +1,40 @@
{ lib { lib
, mkDerivation , stdenv
, fetchFromGitHub , fetchFromGitHub
, SDL2 , SDL2
, cmake , cmake
, copyDesktopItems
, makeDesktopItem
, curl , curl
, extra-cmake-modules , extra-cmake-modules
, gtk3
, libevdev
, libpulseaudio , libpulseaudio
, mesa , libXrandr
, mesa # for libgbm
, ninja , ninja
, pkg-config , pkg-config
, qtbase , qtbase
, qtsvg
, qttools , qttools
, sndio
, vulkan-loader , vulkan-loader
, wayland , wayland
, wrapQtAppsHook , wrapQtAppsHook
}: }:
mkDerivation rec { stdenv.mkDerivation rec {
pname = "duckstation"; pname = "duckstation";
version = "0.pre+date=2022-01-18"; version = "unstable-2022-08-22";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "stenzek"; owner = "stenzek";
repo = pname; repo = pname;
rev = "51041e47f70123eda41d999701f5651830a0a95e"; rev = "4f2da4213d1d2c69417392d15b27bb123ee9d297";
sha256 = "sha256-nlF6ctDU8KCK7MN2pniPLLqUbPUygX9rl0hjzVQ+mPo="; sha256 = "sha256-VJeKbJ40ZErlu/6RETvk0KDSc9T7ssBrLDecNczQlXU=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
extra-cmake-modules extra-cmake-modules
copyDesktopItems
ninja ninja
pkg-config pkg-config
qttools qttools
@ -42,12 +44,11 @@ mkDerivation rec {
buildInputs = [ buildInputs = [
SDL2 SDL2
curl curl
gtk3
libevdev
libpulseaudio libpulseaudio
libXrandr
mesa mesa
qtbase qtbase
sndio qtsvg
vulkan-loader vulkan-loader
wayland wayland
]; ];
@ -57,28 +58,28 @@ mkDerivation rec {
"-DUSE_WAYLAND=ON" "-DUSE_WAYLAND=ON"
]; ];
postPatch = '' desktopItems = [
substituteInPlace extras/linux-desktop-files/duckstation-qt.desktop \ (makeDesktopItem {
--replace "duckstation-qt" "duckstation" \ name = "DuckStation";
--replace "TryExec=duckstation" "tryExec=duckstation-qt" \ desktopName = "JamesDSP";
--replace "Exec=duckstation" "Exec=duckstation-qt" genericName = "PlayStation 1 Emulator";
substituteInPlace extras/linux-desktop-files/duckstation-nogui.desktop \ icon = "duckstation";
--replace "duckstation-nogui" "duckstation" \ tryExec = "duckstation-qt";
--replace "TryExec=duckstation" "tryExec=duckstation-nogui" \ exec = "duckstation-qt %f";
--replace "Exec=duckstation" "Exec=duckstation-nogui" comment = "Fast PlayStation 1 emulator";
''; categories = [ "Game" "Emulator" "Qt" ];
})
];
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p $out/bin $out/share $out/share/pixmaps $out/share/applications mkdir -p $out/bin $out/share
rm bin/common-tests
cp -r bin $out/share/duckstation cp -r bin $out/share/duckstation
ln -s $out/share/duckstation/duckstation-{qt,nogui} $out/bin/ ln -s $out/share/duckstation/duckstation-qt $out/bin/
cp ../extras/icons/icon-256px.png $out/share/pixmaps/duckstation.png install -Dm644 bin/resources/images/duck.png $out/share/pixmaps/duckstation.png
cp ../extras/linux-desktop-files/* $out/share/applications/
runHook postInstall runHook postInstall
''; '';
@ -86,7 +87,7 @@ mkDerivation rec {
doCheck = true; doCheck = true;
checkPhase = '' checkPhase = ''
runHook preCheck runHook preCheck
./bin/common-tests bin/common-tests
runHook postCheck runHook postCheck
''; '';

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pineapple-pictures"; pname = "pineapple-pictures";
version = "0.6.3"; version = "0.6.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "BLumia"; owner = "BLumia";
repo = "pineapple-pictures"; repo = "pineapple-pictures";
rev = version; rev = version;
sha256 = "sha256-9Nlrei3TxZr3tv0BtlfsKAvDJhQHgd21FzLnzitYF3U="; sha256 = "sha256-HOZ1BQIXrjVi2Y+2czt64pb++KGyN+6yDZ5Inu8NhJY=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
qtsvg qtsvg
exiv2.lib exiv2
]; ];
meta = with lib; { meta = with lib; {

View File

@ -2,13 +2,13 @@
let let
pname = "anytype"; pname = "anytype";
version = "0.28.0"; version = "0.29.0";
name = "Anytype-${version}"; name = "Anytype-${version}";
nameExecutable = pname; nameExecutable = pname;
src = fetchurl { src = fetchurl {
url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage"; url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage";
name = "Anytype-${version}.AppImage"; name = "Anytype-${version}.AppImage";
sha256 = "sha256-tYeVz10saTJBf6DDGIVSd4IkSREDJFi/am/kg/An02E="; sha256 = "sha256-xoHYQbV8fPsHs/G1iuTaQ197dpUZkMohmYM924y8NT0=";
}; };
appimageContents = appimageTools.extractType2 { inherit name src; }; appimageContents = appimageTools.extractType2 { inherit name src; };
in in

View File

@ -11,13 +11,13 @@ assert x11Support -> xorg != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bemenu"; pname = "bemenu";
version = "0.6.10"; version = "0.6.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Cloudef"; owner = "Cloudef";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-pv/GxTGmpGc8RHjKO8F03jybS0uO+SS3z4KCZfHYV0Q="; sha256 = "sha256-M8ezaXu62GYzP8xt5ke1I1IIdUcyTk6vtVbJszU7/6g=";
}; };
nativeBuildInputs = [ pkg-config pcre ]; nativeBuildInputs = [ pkg-config pcre ];

View File

@ -1,37 +1,40 @@
{ lib { lib
, mkDerivation , stdenv
, fetchurl , fetchurl
, cmake
, fetchpatch , fetchpatch
, poppler_utils
, pkg-config
, libpng
, imagemagick
, libjpeg
, fontconfig , fontconfig
, podofo
, qtbase
, qmake
, icu
, sqlite
, hunspell , hunspell
, hyphen , hyphen
, unrarSupport ? false , icu
, python3Packages , imagemagick
, libusb1 , libjpeg
, libmtp , libmtp
, xdg-utils , libpng
, removeReferencesTo
, libstemmer , libstemmer
, wrapGAppsHook , libuchardet
, libusb1
, pkg-config
, podofo
, poppler_utils
, python3Packages
, qmake
, qtbase
, qtwayland
, removeReferencesTo
, sqlite
, wrapQtAppsHook
, xdg-utils
, unrarSupport ? false
}: }:
mkDerivation rec { stdenv.mkDerivation rec {
pname = "calibre"; pname = "calibre";
version = "5.44.0"; version = "6.6.1";
src = fetchurl { src = fetchurl {
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz"; url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
hash = "sha256-b/qj6v02okNV5ZV/D4ONttttNFbPoXy00Tn9lOuviOw="; hash = "sha256-jJMHliPTRqiI4Wx5N9qbSryoARcGBisSq6awXIaTk5g=";
}; };
# https://sources.debian.org/patches/calibre/${version}+dfsg-1 # https://sources.debian.org/patches/calibre/${version}+dfsg-1
@ -40,18 +43,18 @@ mkDerivation rec {
(fetchpatch { (fetchpatch {
name = "0001-only-plugin-update.patch"; name = "0001-only-plugin-update.patch";
url = "https://raw.githubusercontent.com/debian-calibre/calibre/debian/${version}%2Bdfsg-1/debian/patches/0001-only-plugin-update.patch"; url = "https://raw.githubusercontent.com/debian-calibre/calibre/debian/${version}%2Bdfsg-1/debian/patches/0001-only-plugin-update.patch";
sha256 = "sha256-dLzO1TWP7Q4nw2a3oN7qlhGCmcA0NKJrZidUnD6hUMA="; hash = "sha256-uL1mSjgCl5ZRLbSuKxJM6XTfvVwog70F7vgKtQzQNEQ=";
}) })
(fetchpatch { (fetchpatch {
name = "0006-Hardening-Qt-code.patch"; name = "0006-Hardening-Qt-code.patch";
url = "https://raw.githubusercontent.com/debian-calibre/calibre/debian/${version}%2Bdfsg-1/debian/patches/0006-Hardening-Qt-code.patch"; url = "https://raw.githubusercontent.com/debian-calibre/calibre/debian/${version}%2Bdfsg-1/debian/patches/0006-Hardening-Qt-code.patch";
sha256 = "sha256-/X6iZZFxv4793h2yYI3UAz0mLNEmKpdVrmOnABFT0tE="; hash = "sha256-CutVTb7K4tjewq1xAjHEGUHFcuuP/Z4FFtj4xQb4zKQ=";
}) })
] ]
++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch; ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
prePatch = '' prePatch = ''
sed -i "s@\[tool.sip.project\]@[tool.sip.project]\nsip-include-dirs = [\"${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings\"]@g" \ sed -i "s@\[tool.sip.project\]@[tool.sip.project]\nsip-include-dirs = [\"${python3Packages.pyqt6}/${python3Packages.python.sitePackages}/PyQt6/bindings\"]@g" \
setup/build.py setup/build.py
sed -i "s/\[tool.sip.bindings.pictureflow\]/[tool.sip.bindings.pictureflow]\ntags = [\"${python3Packages.sip.platform_tag}\"]/g" \ sed -i "s/\[tool.sip.bindings.pictureflow\]/[tool.sip.bindings.pictureflow]\ntags = [\"${python3Packages.sip.platform_tag}\"]/g" \
setup/build.py setup/build.py
@ -61,8 +64,15 @@ mkDerivation rec {
''; '';
dontUseQmakeConfigure = true; dontUseQmakeConfigure = true;
dontUseCmakeConfigure = true;
nativeBuildInputs = [ pkg-config qmake removeReferencesTo wrapGAppsHook ]; nativeBuildInputs = [
cmake
pkg-config
qmake
removeReferencesTo
wrapQtAppsHook
];
buildInputs = [ buildInputs = [
fontconfig fontconfig
@ -74,10 +84,12 @@ mkDerivation rec {
libmtp libmtp
libpng libpng
libstemmer libstemmer
libuchardet
libusb1 libusb1
podofo podofo
poppler_utils poppler_utils
qtbase qtbase
qtwayland
sqlite sqlite
xdg-utils xdg-utils
] ++ ( ] ++ (
@ -102,7 +114,7 @@ mkDerivation rec {
pillow pillow
pychm pychm
pyqt-builder pyqt-builder
pyqt5 pyqt6
python python
regex regex
sip sip
@ -166,8 +178,7 @@ mkDerivation rec {
$out/lib/calibre/calibre/plugins/podofo.so $out/lib/calibre/calibre/plugins/podofo.so
for program in $out/bin/*; do for program in $out/bin/*; do
wrapProgram $program \ wrapQtApp $program \
''${qtWrapperArgs[@]} \
--prefix PYTHONPATH : $PYTHONPATH \ --prefix PYTHONPATH : $PYTHONPATH \
--prefix PATH : ${poppler_utils.out}/bin --prefix PATH : ${poppler_utils.out}/bin
done done

View File

@ -9,13 +9,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cubiomes-viewer"; pname = "cubiomes-viewer";
version = "2.5.0"; version = "2.5.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Cubitect"; owner = "Cubitect";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-VZsq2HMvhFB6DR+Z3bVtyIJ2O984QaryYWCcP/a7paw="; sha256 = "sha256-Ge1dO2I4avblN+3BXY9AXFFmgX4lIwZYUf4IohH1vqc=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -11,13 +11,13 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "deadd-notification-center"; pname = "deadd-notification-center";
version = "2021-03-10"; version = "2022-04-20";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "phuhl"; owner = "phuhl";
repo = "linux_notification_center"; repo = "linux_notification_center";
rev = "640ce0f"; rev = "d31867472c35a09562c832b0a589479930c52b86";
sha256 = "12ldr8vppylr90849g3mpjphmnr4lp0vsdkj01a5f4bv4ksx35fm"; sha256 = "sha256-Arl4niscJPYCFWd4mw42IgNs+JsHsVpaTx86zEj3KFM=";
}; };
patches = [ patches = [

View File

@ -3,15 +3,15 @@
}: }:
let let
pname = "josm"; pname = "josm";
version = "18543"; version = "18565";
srcs = { srcs = {
jar = fetchurl { jar = fetchurl {
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar"; url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
hash = "sha256-AQmdBwgOVws8MDAX8i3P7bsk3r69g7x3jhADGwRWa2c="; hash = "sha256-sL0u/lXxmJGn0RB2/6Vl0mLO5FyLrUIkRXD4TvZJp/Y=";
}; };
macosx = fetchurl { macosx = fetchurl {
url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java17.zip"; url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java17.zip";
hash = "sha256-pGVn+NgfSlyYcT0BCTj+Ntbe7d0l6LJSeDi9xve0K4g="; hash = "sha256-YeriOUQqGbdIRaYTzm3/jXnNUIVsSNxCQ+BqJhS1bRI=";
}; };
pkg = fetchsvn { pkg = fetchsvn {
url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested"; url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";

View File

@ -62,6 +62,9 @@ in buildFHSUserEnv {
# Osmose # Osmose
qt4 qt4
# Overwatch 2
libunwind
# PPSSPP # PPSSPP
glew snappy glew snappy

View File

@ -2,18 +2,18 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "xplr"; pname = "xplr";
version = "0.19.3"; version = "0.19.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sayanarijit"; owner = "sayanarijit";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-0aNtBf3np9cq9JTgHRWy73i4AKaVEOluhSMSUyobduI="; sha256 = "sha256-oVMnhtsovZAqMdmtV8oJ8frgHGidjlFzVyrYxi+gNdg=";
}; };
buildInputs = lib.optional stdenv.isDarwin libiconv; buildInputs = lib.optional stdenv.isDarwin libiconv;
cargoSha256 = "sha256-DXPpW7vls4yDEMiRrqDndxEKSA7Uncrt6n8nmsBXHcU="; cargoSha256 = "sha256-PDbhnVThdb/42Q/dp/MNU6i6Un/lkKzfKuGukFt5tmc=";
meta = with lib; { meta = with lib; {
description = "A hackable, minimal, fast TUI file explorer"; description = "A hackable, minimal, fast TUI file explorer";

View File

@ -0,0 +1,27 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "kubectl-images";
version = "0.5.2";
src = fetchFromGitHub {
owner = "chenjiandongx";
repo = pname;
rev = "v${version}";
sha256 = "sha256-aDWtLTnMQklTU6X6LF0oBuh1317I5/kiEZVePgJjIdU";
};
vendorSha256 = "sha256-FxaOOFwDf3LNREOlA7frqhDXzc91LC3uJev3kzLDEy8";
postInstall = ''
mv $out/bin/cmd $out/bin/kubectl-images
'';
meta = with lib; {
description = "Show container images used in the cluster.";
homepage = "https://github.com/chenjiandongx/kubectl-images";
changelog = "https://github.com/chenjiandongx/kubectl-images/releases/tag/v${version}";
license = licenses.mit;
maintainers = [ maintainers.ivankovnatsky ];
};
}

View File

@ -10,7 +10,7 @@ let
interpreter = ( interpreter = (
poetry2nix.mkPoetryPackages { poetry2nix.mkPoetryPackages {
projectDir = ./.; projectDir = ./.;
python = pkgs.python39; python = pkgs.python310;
overrides = [ overrides = [
poetry2nix.defaultPoetryOverrides poetry2nix.defaultPoetryOverrides
(import ./poetry-git-overlay.nix { inherit pkgs; }) (import ./poetry-git-overlay.nix { inherit pkgs; })
@ -42,18 +42,33 @@ let
overrides overrides
# Make nixops pluginable # Make nixops pluginable
(self: super: { (self: super: let
# Create a fake sphinx directory that doesn't pull the entire setup hook and incorrect python machinery
sphinx = pkgs.runCommand "sphinx" {} ''
mkdir -p $out/bin
for f in ${pkgs.python3.pkgs.sphinx}/bin/*; do
ln -s $f $out/bin/$(basename $f)
done
'';
in {
nixops = super.__toPluginAble { nixops = super.__toPluginAble {
drv = super.nixops; drv = super.nixops;
finalDrv = self.nixops; finalDrv = self.nixops;
nativeBuildInputs = [ self.sphinx ]; nativeBuildInputs = [ sphinx ];
postInstall = '' postInstall = ''
doc_cache=$(mktemp -d) doc_cache=$(mktemp -d)
sphinx-build -b man -d $doc_cache doc/ $out/share/man/man1 sphinx-build -b man -d $doc_cache doc/ $out/share/man/man1
html=$(mktemp -d) html=$(mktemp -d)
sphinx-build -b html -d $doc_cache doc/ $out/share/nixops/doc sphinx-build -b html -d $doc_cache doc/ $out/share/nixops/doc
# Override buggy nixpkgs function
pythonOutputDistPhase() {
echo "no-op output dist phase"
}
''; '';
}; };

View File

@ -5,8 +5,8 @@ self: super: {
_: { _: {
src = pkgs.fetchgit { src = pkgs.fetchgit {
url = "https://github.com/NixOS/nixops.git"; url = "https://github.com/NixOS/nixops.git";
rev = "7220cbdc8a1cf2db5b3ad75b525faf145a5560a3"; rev = "683baa66c613216a662aad3fd58b0cdc5cd41adb";
sha256 = "199cw25cvjb8gxs56nc8ilq7v4560c6vgi1sh1vqrsqxayq1g4cs"; sha256 = "00yyzsybn1fjhkar64albxqp46d1v9c6lf1gd10lh9q72xq979sf";
}; };
} }
); );
@ -15,8 +15,8 @@ self: super: {
_: { _: {
src = pkgs.fetchgit { src = pkgs.fetchgit {
url = "https://github.com/NixOS/nixops-aws.git"; url = "https://github.com/NixOS/nixops-aws.git";
rev = "bc9de10b77aa74c9b245fd533f829e4307b984e8"; rev = "d8a6679c413edd1a7075b2fe08017b4c7fa3b3ce";
sha256 = "12qsaxwlk67q04g13sqs4bxscpjspip5yphx6d8rq3iqki8yg4z9"; sha256 = "0aqkaskp6nkcnfxxf1n294xp4ggk36qldj5c3kzfgxim06jap7n5";
}; };
} }
); );
@ -25,8 +25,8 @@ self: super: {
_: { _: {
src = pkgs.fetchgit { src = pkgs.fetchgit {
url = "https://github.com/nix-community/nixops-digitalocean.git"; url = "https://github.com/nix-community/nixops-digitalocean.git";
rev = "b527b4bd27a419753e38c8231fd7528b3ea33886"; rev = "e977b7f11e264a6a2bff2dcbc7b94c6a97b92fff";
sha256 = "069jlgcjqgyb1v3dnrp2h0w4gv5hfx624iq2xazaix2wxpx9w7f8"; sha256 = "020fg1kjh3x57dj95micpq6mxjg5j50jy6cs5f10i33ayy3556v8";
}; };
} }
); );

View File

@ -19,14 +19,14 @@ python-versions = "*"
[[package]] [[package]]
name = "boto3" name = "boto3"
version = "1.24.16" version = "1.24.88"
description = "The AWS SDK for Python" description = "The AWS SDK for Python"
category = "main" category = "main"
optional = false optional = false
python-versions = ">= 3.7" python-versions = ">= 3.7"
[package.dependencies] [package.dependencies]
botocore = ">=1.27.16,<1.28.0" botocore = ">=1.27.88,<1.28.0"
jmespath = ">=0.7.1,<2.0.0" jmespath = ">=0.7.1,<2.0.0"
s3transfer = ">=0.6.0,<0.7.0" s3transfer = ">=0.6.0,<0.7.0"
@ -35,7 +35,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
[[package]] [[package]]
name = "botocore" name = "botocore"
version = "1.27.16" version = "1.27.88"
description = "Low-level, data-driven core of boto 3." description = "Low-level, data-driven core of boto 3."
category = "main" category = "main"
optional = false optional = false
@ -47,11 +47,11 @@ python-dateutil = ">=2.1,<3.0.0"
urllib3 = ">=1.25.4,<1.27" urllib3 = ">=1.25.4,<1.27"
[package.extras] [package.extras]
crt = ["awscrt (==0.13.8)"] crt = ["awscrt (==0.14.0)"]
[[package]] [[package]]
name = "certifi" name = "certifi"
version = "2022.6.15" version = "2022.9.24"
description = "Python package for providing Mozilla's CA Bundle." description = "Python package for providing Mozilla's CA Bundle."
category = "main" category = "main"
optional = false optional = false
@ -59,7 +59,7 @@ python-versions = ">=3.6"
[[package]] [[package]]
name = "cffi" name = "cffi"
version = "1.15.0" version = "1.15.1"
description = "Foreign Function Interface for Python calling C code." description = "Foreign Function Interface for Python calling C code."
category = "main" category = "main"
optional = false optional = false
@ -70,11 +70,11 @@ pycparser = "*"
[[package]] [[package]]
name = "charset-normalizer" name = "charset-normalizer"
version = "2.0.12" version = "2.1.1"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
category = "main" category = "main"
optional = false optional = false
python-versions = ">=3.5.0" python-versions = ">=3.6.0"
[package.extras] [package.extras]
unicode_backport = ["unicodedata2"] unicode_backport = ["unicodedata2"]
@ -91,12 +91,12 @@ python-versions = ">=3.6"
cffi = ">=1.12" cffi = ">=1.12"
[package.extras] [package.extras]
docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"] docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx_rtd_theme"]
docstest = ["doc8", "pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"] docstest = ["doc8", "pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"]
pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"] pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"]
sdist = ["setuptools-rust (>=0.11.4)"] sdist = ["setuptools-rust (>=0.11.4)"]
ssh = ["bcrypt (>=3.1.5)"] ssh = ["bcrypt (>=3.1.5)"]
test = ["pytest (>=6.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"] test = ["hypothesis (>=1.11.4,!=3.79.2)", "iso8601", "pretend", "pytest (>=6.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pytz"]
[[package]] [[package]]
name = "hetzner" name = "hetzner"
@ -108,7 +108,7 @@ python-versions = "*"
[[package]] [[package]]
name = "idna" name = "idna"
version = "3.3" version = "3.4"
description = "Internationalized Domain Names in Applications (IDNA)" description = "Internationalized Domain Names in Applications (IDNA)"
category = "main" category = "main"
optional = false optional = false
@ -131,13 +131,13 @@ optional = false
python-versions = ">=2.7" python-versions = ">=2.7"
[package.extras] [package.extras]
docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] docs = ["jaraco.packaging (>=3.2)", "rst.linker (>=1.9)", "sphinx"]
testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-black-multipy", "pytest-cov", "ecdsa", "feedparser", "numpy", "pandas", "pymongo", "scikit-learn", "sqlalchemy", "pytest-flake8 (<1.1.0)", "enum34", "jsonlib", "pytest-flake8 (>=1.1.1)"] testing = ["ecdsa", "enum34", "feedparser", "jsonlib", "numpy", "pandas", "pymongo", "pytest (>=3.5,!=3.7.3)", "pytest-black-multipy", "pytest-checkdocs (>=1.2.3)", "pytest-cov", "pytest-flake8 (<1.1.0)", "pytest-flake8 (>=1.1.1)", "scikit-learn", "sqlalchemy"]
"testing.libs" = ["simplejson", "ujson", "yajl"] "testing.libs" = ["simplejson", "ujson", "yajl"]
[[package]] [[package]]
name = "libvirt-python" name = "libvirt-python"
version = "8.4.0" version = "8.8.0"
description = "The libvirt virtualization API python binding" description = "The libvirt virtualization API python binding"
category = "main" category = "main"
optional = false optional = false
@ -149,11 +149,11 @@ version = "2.0.0"
description = "NixOS cloud provisioning and deployment tool" description = "NixOS cloud provisioning and deployment tool"
category = "main" category = "main"
optional = false optional = false
python-versions = "^3.7" python-versions = "^3.10"
develop = false develop = false
[package.dependencies] [package.dependencies]
pluggy = "^0.13.1" pluggy = "^1.0.0"
PrettyTable = "^0.7.2" PrettyTable = "^0.7.2"
typeguard = "^2.7.1" typeguard = "^2.7.1"
typing-extensions = "^3.7.4" typing-extensions = "^3.7.4"
@ -162,7 +162,7 @@ typing-extensions = "^3.7.4"
type = "git" type = "git"
url = "https://github.com/NixOS/nixops.git" url = "https://github.com/NixOS/nixops.git"
reference = "master" reference = "master"
resolved_reference = "7220cbdc8a1cf2db5b3ad75b525faf145a5560a3" resolved_reference = "683baa66c613216a662aad3fd58b0cdc5cd41adb"
[[package]] [[package]]
name = "nixops-aws" name = "nixops-aws"
@ -183,8 +183,8 @@ typing-extensions = "^3.7.4"
[package.source] [package.source]
type = "git" type = "git"
url = "https://github.com/NixOS/nixops-aws.git" url = "https://github.com/NixOS/nixops-aws.git"
reference = "master" reference = "HEAD"
resolved_reference = "bc9de10b77aa74c9b245fd533f829e4307b984e8" resolved_reference = "d8a6679c413edd1a7075b2fe08017b4c7fa3b3ce"
[[package]] [[package]]
name = "nixops-digitalocean" name = "nixops-digitalocean"
@ -196,14 +196,14 @@ python-versions = "^3.7"
develop = false develop = false
[package.dependencies] [package.dependencies]
nixops = {git = "https://github.com/NixOS/nixops.git", branch = "master"} nixops = {git = "https://github.com/NixOS/nixops.git"}
python-digitalocean = "^1.15.0" python-digitalocean = "^1.15.0"
[package.source] [package.source]
type = "git" type = "git"
url = "https://github.com/nix-community/nixops-digitalocean.git" url = "https://github.com/nix-community/nixops-digitalocean.git"
reference = "master" reference = "HEAD"
resolved_reference = "b527b4bd27a419753e38c8231fd7528b3ea33886" resolved_reference = "e977b7f11e264a6a2bff2dcbc7b94c6a97b92fff"
[[package]] [[package]]
name = "nixops-encrypted-links" name = "nixops-encrypted-links"
@ -215,12 +215,12 @@ python-versions = "^3.7"
develop = false develop = false
[package.dependencies] [package.dependencies]
nixops = {git = "https://github.com/NixOS/nixops.git", branch = "master"} nixops = {git = "https://github.com/NixOS/nixops.git"}
[package.source] [package.source]
type = "git" type = "git"
url = "https://github.com/nix-community/nixops-encrypted-links.git" url = "https://github.com/nix-community/nixops-encrypted-links.git"
reference = "master" reference = "HEAD"
resolved_reference = "e2f196fce15fcfb00d18c055e1ac53aec33b8fb1" resolved_reference = "e2f196fce15fcfb00d18c055e1ac53aec33b8fb1"
[[package]] [[package]]
@ -241,7 +241,7 @@ nixos-modules-contrib = {git = "https://github.com/nix-community/nixos-modules-c
[package.source] [package.source]
type = "git" type = "git"
url = "https://github.com/nix-community/nixops-gce.git" url = "https://github.com/nix-community/nixops-gce.git"
reference = "master" reference = "HEAD"
resolved_reference = "712453027486e62e087b9c91e4a8a171eebb6ddd" resolved_reference = "712453027486e62e087b9c91e4a8a171eebb6ddd"
[[package]] [[package]]
@ -254,12 +254,12 @@ python-versions = "^3.8"
develop = false develop = false
[package.dependencies] [package.dependencies]
nixops = {git = "https://github.com/NixOS/nixops.git", branch = "master"} nixops = {git = "https://github.com/NixOS/nixops.git"}
[package.source] [package.source]
type = "git" type = "git"
url = "https://github.com/hercules-ci/nixops-hercules-ci.git" url = "https://github.com/hercules-ci/nixops-hercules-ci.git"
reference = "master" reference = "HEAD"
resolved_reference = "e601d5baffd003fd5f22deeaea0cb96444b054dc" resolved_reference = "e601d5baffd003fd5f22deeaea0cb96444b054dc"
[[package]] [[package]]
@ -280,7 +280,7 @@ typing-extensions = "^3.7.4"
[package.source] [package.source]
type = "git" type = "git"
url = "https://github.com/NixOS/nixops-hetzner" url = "https://github.com/NixOS/nixops-hetzner"
reference = "master" reference = "HEAD"
resolved_reference = "bc7a68070c7371468bcc8bf6e36baebc6bd2da35" resolved_reference = "bc7a68070c7371468bcc8bf6e36baebc6bd2da35"
[[package]] [[package]]
@ -294,12 +294,12 @@ develop = false
[package.dependencies] [package.dependencies]
libvirt-python = "^8.0" libvirt-python = "^8.0"
nixops = {git = "https://github.com/NixOS/nixops.git", branch = "master"} nixops = {git = "https://github.com/NixOS/nixops.git"}
[package.source] [package.source]
type = "git" type = "git"
url = "https://github.com/nix-community/nixops-libvirtd.git" url = "https://github.com/nix-community/nixops-libvirtd.git"
reference = "master" reference = "HEAD"
resolved_reference = "bc3cf1c5c774a80e05991ca040baa2b23e3ecd51" resolved_reference = "bc3cf1c5c774a80e05991ca040baa2b23e3ecd51"
[[package]] [[package]]
@ -317,7 +317,7 @@ nixops = {git = "https://github.com/NixOS/nixops.git", rev = "master"}
[package.source] [package.source]
type = "git" type = "git"
url = "https://github.com/nix-community/nixops-vbox.git" url = "https://github.com/nix-community/nixops-vbox.git"
reference = "master" reference = "HEAD"
resolved_reference = "2729672865ebe2aa973c062a3fbddda8c1359da0" resolved_reference = "2729672865ebe2aa973c062a3fbddda8c1359da0"
[[package]] [[package]]
@ -340,14 +340,15 @@ resolved_reference = "81a1c2ef424dcf596a97b2e46a58ca73a1dd1ff8"
[[package]] [[package]]
name = "pluggy" name = "pluggy"
version = "0.13.1" version = "1.0.0"
description = "plugin and hook calling mechanisms for python" description = "plugin and hook calling mechanisms for python"
category = "main" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=3.6"
[package.extras] [package.extras]
dev = ["pre-commit", "tox"] dev = ["pre-commit", "tox"]
testing = ["pytest", "pytest-benchmark"]
[[package]] [[package]]
name = "prettytable" name = "prettytable"
@ -390,7 +391,7 @@ requests = "*"
[[package]] [[package]]
name = "requests" name = "requests"
version = "2.28.0" version = "2.28.1"
description = "Python HTTP for Humans." description = "Python HTTP for Humans."
category = "main" category = "main"
optional = false optional = false
@ -398,13 +399,13 @@ python-versions = ">=3.7, <4"
[package.dependencies] [package.dependencies]
certifi = ">=2017.4.17" certifi = ">=2017.4.17"
charset-normalizer = ">=2.0.0,<2.1.0" charset-normalizer = ">=2,<3"
idna = ">=2.5,<4" idna = ">=2.5,<4"
urllib3 = ">=1.21.1,<1.27" urllib3 = ">=1.21.1,<1.27"
[package.extras] [package.extras]
socks = ["PySocks (>=1.5.6,!=1.5.7)"] socks = ["PySocks (>=1.5.6,!=1.5.7)"]
use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"] use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"]
[[package]] [[package]]
name = "s3transfer" name = "s3transfer"
@ -437,8 +438,8 @@ optional = false
python-versions = ">=3.5.3" python-versions = ">=3.5.3"
[package.extras] [package.extras]
doc = ["sphinx-rtd-theme", "sphinx-autodoc-typehints (>=1.2.0)"] doc = ["sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"]
test = ["pytest", "typing-extensions", "mypy"] test = ["mypy", "pytest", "typing-extensions"]
[[package]] [[package]]
name = "typing-extensions" name = "typing-extensions"
@ -450,21 +451,21 @@ python-versions = "*"
[[package]] [[package]]
name = "urllib3" name = "urllib3"
version = "1.26.9" version = "1.26.12"
description = "HTTP library with thread-safe connection pooling, file post, and more." description = "HTTP library with thread-safe connection pooling, file post, and more."
category = "main" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4"
[package.extras] [package.extras]
brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"]
secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"]
socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
[metadata] [metadata]
lock-version = "1.1" lock-version = "1.1"
python-versions = "^3.9" python-versions = "^3.10"
content-hash = "781bb4378f4491b427372322c3ec71131ed7a28e0a166e0bc43969b016b5d926" content-hash = "dd5b4dffae860fa56cf6c00bf5aea7a89d7501b2839fdd5e25c5782548092e55"
[metadata.files] [metadata.files]
apache-libcloud = [ apache-libcloud = [
@ -476,72 +477,86 @@ boto = [
{file = "boto-2.49.0.tar.gz", hash = "sha256:ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a"}, {file = "boto-2.49.0.tar.gz", hash = "sha256:ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a"},
] ]
boto3 = [ boto3 = [
{file = "boto3-1.24.16-py3-none-any.whl", hash = "sha256:2c6f7e4103d41ca07d6b934a6612e4b9a2666eae36e8289f88726868534b8de2"}, {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"},
{file = "boto3-1.24.16.tar.gz", hash = "sha256:422c000ff2ee5226e89fe427a9c4c09db095d69c179a3bcc3cfba37cbc5e787e"}, {file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"},
] ]
botocore = [ botocore = [
{file = "botocore-1.27.16-py3-none-any.whl", hash = "sha256:f117d59899d21beeb200130d7af2090a8112d702a06e2c2794ef576bcea36773"}, {file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"},
{file = "botocore-1.27.16.tar.gz", hash = "sha256:b3b9710902f675a11f5bfd46afda770150530876ae6541d099584462bf949fd1"}, {file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"},
] ]
certifi = [ certifi = [
{file = "certifi-2022.6.15-py3-none-any.whl", hash = "sha256:fe86415d55e84719d75f8b69414f6438ac3547d2078ab91b67e779ef69378412"}, {file = "certifi-2022.9.24-py3-none-any.whl", hash = "sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"},
{file = "certifi-2022.6.15.tar.gz", hash = "sha256:84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d"}, {file = "certifi-2022.9.24.tar.gz", hash = "sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14"},
] ]
cffi = [ cffi = [
{file = "cffi-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962"}, {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"},
{file = "cffi-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0"}, {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"},
{file = "cffi-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14"}, {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"},
{file = "cffi-1.15.0-cp27-cp27m-win32.whl", hash = "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474"}, {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"},
{file = "cffi-1.15.0-cp27-cp27m-win_amd64.whl", hash = "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6"}, {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"},
{file = "cffi-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27"}, {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"},
{file = "cffi-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023"}, {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"},
{file = "cffi-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2"}, {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"},
{file = "cffi-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e"}, {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"},
{file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7"}, {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"},
{file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3"}, {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"},
{file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c"}, {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"},
{file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962"}, {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"},
{file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382"}, {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"},
{file = "cffi-1.15.0-cp310-cp310-win32.whl", hash = "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55"}, {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"},
{file = "cffi-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0"}, {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"},
{file = "cffi-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e"}, {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"},
{file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39"}, {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"},
{file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc"}, {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"},
{file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032"}, {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"},
{file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8"}, {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"},
{file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605"}, {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"},
{file = "cffi-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e"}, {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"},
{file = "cffi-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc"}, {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"},
{file = "cffi-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636"}, {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"},
{file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4"}, {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"},
{file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997"}, {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"},
{file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b"}, {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"},
{file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2"}, {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"},
{file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7"}, {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"},
{file = "cffi-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66"}, {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"},
{file = "cffi-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029"}, {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"},
{file = "cffi-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880"}, {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"},
{file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20"}, {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"},
{file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024"}, {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"},
{file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e"}, {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"},
{file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728"}, {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"},
{file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6"}, {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"},
{file = "cffi-1.15.0-cp38-cp38-win32.whl", hash = "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c"}, {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"},
{file = "cffi-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443"}, {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"},
{file = "cffi-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a"}, {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"},
{file = "cffi-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37"}, {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"},
{file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a"}, {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"},
{file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e"}, {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"},
{file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"}, {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"},
{file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df"}, {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"},
{file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8"}, {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"},
{file = "cffi-1.15.0-cp39-cp39-win32.whl", hash = "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a"}, {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"},
{file = "cffi-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139"}, {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"},
{file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"}, {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"},
{file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"},
{file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"},
{file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"},
{file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"},
{file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"},
{file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"},
{file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"},
{file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"},
{file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"},
{file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"},
{file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"},
{file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"},
{file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"},
{file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"},
] ]
charset-normalizer = [ charset-normalizer = [
{file = "charset-normalizer-2.0.12.tar.gz", hash = "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597"}, {file = "charset-normalizer-2.1.1.tar.gz", hash = "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845"},
{file = "charset_normalizer-2.0.12-py3-none-any.whl", hash = "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"}, {file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"},
] ]
cryptography = [ cryptography = [
{file = "cryptography-3.4.8-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:a00cf305f07b26c351d8d4e1af84ad7501eca8a342dedf24a7acb0e7b7406e14"}, {file = "cryptography-3.4.8-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:a00cf305f07b26c351d8d4e1af84ad7501eca8a342dedf24a7acb0e7b7406e14"},
@ -568,8 +583,8 @@ hetzner = [
{file = "hetzner-0.8.3.tar.gz", hash = "sha256:9a43dbbeb4a1f3efc86c5fe1c1d7039aaa635dfdb829506ec3aa34382d3a7114"}, {file = "hetzner-0.8.3.tar.gz", hash = "sha256:9a43dbbeb4a1f3efc86c5fe1c1d7039aaa635dfdb829506ec3aa34382d3a7114"},
] ]
idna = [ idna = [
{file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"}, {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"},
{file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"}, {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"},
] ]
jmespath = [ jmespath = [
{file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"},
@ -580,7 +595,7 @@ jsonpickle = [
{file = "jsonpickle-2.2.0.tar.gz", hash = "sha256:7b272918b0554182e53dc340ddd62d9b7f902fec7e7b05620c04f3ccef479a0e"}, {file = "jsonpickle-2.2.0.tar.gz", hash = "sha256:7b272918b0554182e53dc340ddd62d9b7f902fec7e7b05620c04f3ccef479a0e"},
] ]
libvirt-python = [ libvirt-python = [
{file = "libvirt-python-8.4.0.tar.gz", hash = "sha256:6d252ad4e0f765620bbde450be8f2b844e4f85c568b207ac644f52c6a982f46c"}, {file = "libvirt-python-8.8.0.tar.gz", hash = "sha256:3441dd34c8936393e195a1b046bc2cab1b14d35d66772e8a51fe4d9735ec6349"},
] ]
nixops = [] nixops = []
nixops-aws = [] nixops-aws = []
@ -593,8 +608,8 @@ nixops-virtd = []
nixopsvbox = [] nixopsvbox = []
nixos-modules-contrib = [] nixos-modules-contrib = []
pluggy = [ pluggy = [
{file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"}, {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
{file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
] ]
prettytable = [ prettytable = [
{file = "prettytable-0.7.2.tar.bz2", hash = "sha256:853c116513625c738dc3ce1aee148b5b5757a86727e67eff6502c7ca59d43c36"}, {file = "prettytable-0.7.2.tar.bz2", hash = "sha256:853c116513625c738dc3ce1aee148b5b5757a86727e67eff6502c7ca59d43c36"},
@ -614,8 +629,8 @@ python-digitalocean = [
{file = "python_digitalocean-1.17.0-py3-none-any.whl", hash = "sha256:0032168e022e85fca314eb3f8dfaabf82087f2ed40839eb28f1eeeeca5afb1fa"}, {file = "python_digitalocean-1.17.0-py3-none-any.whl", hash = "sha256:0032168e022e85fca314eb3f8dfaabf82087f2ed40839eb28f1eeeeca5afb1fa"},
] ]
requests = [ requests = [
{file = "requests-2.28.0-py3-none-any.whl", hash = "sha256:bc7861137fbce630f17b03d3ad02ad0bf978c844f3536d0edda6499dafce2b6f"}, {file = "requests-2.28.1-py3-none-any.whl", hash = "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"},
{file = "requests-2.28.0.tar.gz", hash = "sha256:d568723a7ebd25875d8d1eaf5dfa068cd2fc8194b2e483d7b1f7c81918dbec6b"}, {file = "requests-2.28.1.tar.gz", hash = "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"},
] ]
s3transfer = [ s3transfer = [
{file = "s3transfer-0.6.0-py3-none-any.whl", hash = "sha256:06176b74f3a15f61f1b4f25a1fc29a4429040b7647133a463da8fa5bd28d5ecd"}, {file = "s3transfer-0.6.0-py3-none-any.whl", hash = "sha256:06176b74f3a15f61f1b4f25a1fc29a4429040b7647133a463da8fa5bd28d5ecd"},
@ -635,6 +650,6 @@ typing-extensions = [
{file = "typing_extensions-3.10.0.2.tar.gz", hash = "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e"}, {file = "typing_extensions-3.10.0.2.tar.gz", hash = "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e"},
] ]
urllib3 = [ urllib3 = [
{file = "urllib3-1.26.9-py2.py3-none-any.whl", hash = "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14"}, {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"},
{file = "urllib3-1.26.9.tar.gz", hash = "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"}, {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"},
] ]

View File

@ -5,7 +5,7 @@ description = "NixOps 2.0"
authors = ["Adam Hoese <adam.hose@tweag.io>"] authors = ["Adam Hoese <adam.hose@tweag.io>"]
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.9" python = "^3.10"
nixops = {git = "https://github.com/NixOS/nixops.git"} nixops = {git = "https://github.com/NixOS/nixops.git"}
nixops-aws = {git = "https://github.com/NixOS/nixops-aws.git"} nixops-aws = {git = "https://github.com/NixOS/nixops-aws.git"}
nixops-digitalocean = {git = "https://github.com/nix-community/nixops-digitalocean.git"} nixops-digitalocean = {git = "https://github.com/nix-community/nixops-digitalocean.git"}

View File

@ -2,9 +2,10 @@
pkgs.mkShell { pkgs.mkShell {
packages = [ packages = [
pkgs.python310
pkgs.poetry2nix.cli pkgs.poetry2nix.cli
pkgs.pkg-config pkgs.pkg-config
pkgs.libvirt pkgs.libvirt
pkgs.python39Packages.poetry pkgs.poetry
]; ];
} }

View File

@ -4,7 +4,7 @@
callPackage ./generic.nix { callPackage ./generic.nix {
inherit buildGoModule; inherit buildGoModule;
version = "1.4.0"; version = "1.4.1";
sha256 = "sha256-iAAnXhJdfgBsuBsuIkFQB4AbTplX3HJuf5HfUGAUEeM="; sha256 = "sha256-LQ/fypao6Amun9MY5FRCRasxqnywzI5gpzcO2PPJdWg=";
vendorSha256 = "sha256-kfT2UGC8Wl7CM9lOU75UqKc0/O1okGCoGDpmQntakbU="; vendorSha256 = "sha256-kfT2UGC8Wl7CM9lOU75UqKc0/O1okGCoGDpmQntakbU=";
} }

View File

@ -52,7 +52,7 @@ let
passthru = attrs // { passthru = attrs // {
updateScript = writeShellScript "update" '' updateScript = writeShellScript "update" ''
provider="$(basename ${provider-source-address})" provider="$(basename ${provider-source-address})"
./pkgs/applications/networking/cluster/terraform-providers/update-provider --no-build "$provider" ./pkgs/applications/networking/cluster/terraform-providers/update-provider "$provider"
''; '';
}; };
}); });

View File

@ -38,13 +38,13 @@
"version": "3.7.0" "version": "3.7.0"
}, },
"akamai": { "akamai": {
"hash": "sha256-XlL8UcfZI1oxGti2Hr4mgmu34qbyPG5yJJ+h8ndgo/k=", "hash": "sha256-+EHXB2VH1UWYQ1y6Ou+5VhjH7elhfgLYW/imhN2t15Q=",
"owner": "akamai", "owner": "akamai",
"provider-source-address": "registry.terraform.io/akamai/akamai", "provider-source-address": "registry.terraform.io/akamai/akamai",
"repo": "terraform-provider-akamai", "repo": "terraform-provider-akamai",
"rev": "v2.4.1", "rev": "v2.4.2",
"vendorHash": "sha256-BRPDsb0h9YINJ4dwGM5FEuUto3UFVImRUn/i6gHAkAc=", "vendorHash": "sha256-BRPDsb0h9YINJ4dwGM5FEuUto3UFVImRUn/i6gHAkAc=",
"version": "2.4.1" "version": "2.4.2"
}, },
"alicloud": { "alicloud": {
"deleteVendor": true, "deleteVendor": true,
@ -102,13 +102,13 @@
"version": "2.24.1" "version": "2.24.1"
}, },
"aws": { "aws": {
"hash": "sha256-btpN208sQQLCq5yj4w23AHbEG+ylX3o7GB5DHmGIrw0=", "hash": "sha256-4h5VdCgzUKRAj8gYnFuDMv4fFYEguBaN6fCh4ny8pz4=",
"owner": "hashicorp", "owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/aws", "provider-source-address": "registry.terraform.io/hashicorp/aws",
"repo": "terraform-provider-aws", "repo": "terraform-provider-aws",
"rev": "v4.33.0", "rev": "v4.34.0",
"vendorHash": "sha256-bQrf5s/6GPOfW5iYO7gBdSoxSnKRDUEoSVIn+NPQH20=", "vendorHash": "sha256-bbt8scBf7VzhCX6C9cAwHDFbZPyuumcW7F88kbQ0og4=",
"version": "4.33.0" "version": "4.34.0"
}, },
"azuread": { "azuread": {
"hash": "sha256-rj/ODxmuK0Ro1KVHh4onR/evtUdKzay9BpQDgrx+eNA=", "hash": "sha256-rj/ODxmuK0Ro1KVHh4onR/evtUdKzay9BpQDgrx+eNA=",
@ -120,13 +120,13 @@
"version": "2.29.0" "version": "2.29.0"
}, },
"azurerm": { "azurerm": {
"hash": "sha256-dBrmoxkQ4KlAM3gW5JRMy96nI7BJ5UH647yZkAViosk=", "hash": "sha256-3dJ/nXpMYEK7sB6VAnkbUfQRoCsiqXhBkU6gCYBpmHY=",
"owner": "hashicorp", "owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/azurerm", "provider-source-address": "registry.terraform.io/hashicorp/azurerm",
"repo": "terraform-provider-azurerm", "repo": "terraform-provider-azurerm",
"rev": "v3.25.0", "rev": "v3.26.0",
"vendorHash": null, "vendorHash": null,
"version": "3.25.0" "version": "3.26.0"
}, },
"azurestack": { "azurestack": {
"hash": "sha256-aSwVa7y1AJ6sExx+bO/93oLBNgSBDJjuPYPY8i3C9T0=", "hash": "sha256-aSwVa7y1AJ6sExx+bO/93oLBNgSBDJjuPYPY8i3C9T0=",
@ -157,13 +157,13 @@
"version": "1.15.2" "version": "1.15.2"
}, },
"bitbucket": { "bitbucket": {
"hash": "sha256-arNkR67rsqxVV2omEV9MWQmDO95PLuoVicifLjEfBTM=", "hash": "sha256-0Sts826Yt6xVVwGpqTC1ZAiNB2+7S6z9rPXDGPNpmOk=",
"owner": "DrFaust92", "owner": "DrFaust92",
"provider-source-address": "registry.terraform.io/DrFaust92/bitbucket", "provider-source-address": "registry.terraform.io/DrFaust92/bitbucket",
"repo": "terraform-provider-bitbucket", "repo": "terraform-provider-bitbucket",
"rev": "v2.21.2", "rev": "v2.21.3",
"vendorHash": "sha256-UQw7+qsxVff9EtWTpAaBkBm0bOQzerfCGx1SUKS9wEQ=", "vendorHash": "sha256-VFh86MFKzgN7LvSYG7TooYapOZOJbDC8sntPzGVaNs8=",
"version": "2.21.2" "version": "2.21.3"
}, },
"brightbox": { "brightbox": {
"hash": "sha256-l4gN7gxLMTuUMjf50Hc2Els5pJ4BId1QlRAhykseK7c=", "hash": "sha256-l4gN7gxLMTuUMjf50Hc2Els5pJ4BId1QlRAhykseK7c=",
@ -214,22 +214,22 @@
"version": "1.3.0" "version": "1.3.0"
}, },
"cloudamqp": { "cloudamqp": {
"hash": "sha256-z0tCNZTc7Lc8zw3ueRz3JR+rTNQifEH8RW7zgKe5xhs=", "hash": "sha256-RllW85iootELA7iz+UPD0s4KKP7gGRNHVwHd/CCUv0c=",
"owner": "cloudamqp", "owner": "cloudamqp",
"provider-source-address": "registry.terraform.io/cloudamqp/cloudamqp", "provider-source-address": "registry.terraform.io/cloudamqp/cloudamqp",
"repo": "terraform-provider-cloudamqp", "repo": "terraform-provider-cloudamqp",
"rev": "v1.19.2", "rev": "v1.19.3",
"vendorHash": "sha256-228hxOsa4CmJcp/AJYR5SACbcCfuO0y4Z9VzqzZ5iJQ=", "vendorHash": "sha256-S8xlMpsHeJePYyydUpBSuOxW0APZw8qxcm+Ou9u1rWc=",
"version": "1.19.2" "version": "1.19.3"
}, },
"cloudflare": { "cloudflare": {
"hash": "sha256-J7hKWt7aHhT9lNbbz73YljcpdfDTcwNsbNE60CHflw0=", "hash": "sha256-nHA9z7IziBpMgR9ooCt6pGjE1CaxjNHQMpUdxl0l3ns=",
"owner": "cloudflare", "owner": "cloudflare",
"provider-source-address": "registry.terraform.io/cloudflare/cloudflare", "provider-source-address": "registry.terraform.io/cloudflare/cloudflare",
"repo": "terraform-provider-cloudflare", "repo": "terraform-provider-cloudflare",
"rev": "v3.24.0", "rev": "v3.25.0",
"vendorHash": "sha256-s7VdZAQdXLGiA3q2+X4sQPIrI9f55sdd7HxbLQ8SdBk=", "vendorHash": "sha256-9LZ8KjobPSSyZ02oYUrn1gftNYtui/zezfIYD9mkhQc=",
"version": "3.24.0" "version": "3.25.0"
}, },
"cloudfoundry": { "cloudfoundry": {
"hash": "sha256-VfGB0NkT36oYT5F1fh1N/2rlZdfhk+K76AXNh0NkO50=", "hash": "sha256-VfGB0NkT36oYT5F1fh1N/2rlZdfhk+K76AXNh0NkO50=",
@ -314,13 +314,13 @@
"version": "2.22.3" "version": "2.22.3"
}, },
"dme": { "dme": {
"hash": "sha256-Fz35J15S0JxxVy86xYuwHM1obOYpJVfzEhN1NqoAXbo=", "hash": "sha256-QNkr+6lKlKY+os0Pf6dqlmIn9u2LtMOo6ONahDeA9mE=",
"owner": "DNSMadeEasy", "owner": "DNSMadeEasy",
"provider-source-address": "registry.terraform.io/DNSMadeEasy/dme", "provider-source-address": "registry.terraform.io/DNSMadeEasy/dme",
"repo": "terraform-provider-dme", "repo": "terraform-provider-dme",
"rev": "v1.0.5", "rev": "v1.0.6",
"vendorHash": null, "vendorHash": null,
"version": "1.0.5" "version": "1.0.6"
}, },
"dns": { "dns": {
"hash": "sha256-aH9sDqlXSq2dJi0kzGreJZ5V8A0WU0UqTpxWPKn23rM=", "hash": "sha256-aH9sDqlXSq2dJi0kzGreJZ5V8A0WU0UqTpxWPKn23rM=",
@ -350,13 +350,13 @@
"version": "2.22.0" "version": "2.22.0"
}, },
"elasticsearch": { "elasticsearch": {
"hash": "sha256-ir3bPtsghZkfJbRyh5nlK9cGPA49WGxZDb3jMtfWzms=", "hash": "sha256-7sMF7LBM5tnOtERufh7LaJlfcJ5WHIynpzlTg/05u3I=",
"owner": "phillbaker", "owner": "phillbaker",
"provider-source-address": "registry.terraform.io/phillbaker/elasticsearch", "provider-source-address": "registry.terraform.io/phillbaker/elasticsearch",
"repo": "terraform-provider-elasticsearch", "repo": "terraform-provider-elasticsearch",
"rev": "v2.0.4", "rev": "v2.0.5",
"vendorHash": "sha256-oVTanZpCWs05HwyIKW2ajiBPz1HXOFzBAt5Us+EtTRw=", "vendorHash": "sha256-oVTanZpCWs05HwyIKW2ajiBPz1HXOFzBAt5Us+EtTRw=",
"version": "2.0.4" "version": "2.0.5"
}, },
"equinix": { "equinix": {
"hash": "sha256-gvI9awkKiWWnw6O/KvskFTHZfvajGfgYu8DGsT34Siw=", "hash": "sha256-gvI9awkKiWWnw6O/KvskFTHZfvajGfgYu8DGsT34Siw=",
@ -386,13 +386,13 @@
"version": "2.2.2" "version": "2.2.2"
}, },
"fastly": { "fastly": {
"hash": "sha256-Ej7E/xbB8V6Pge/sAkgtQXJac1nuQ3liQDM531zOnu8=", "hash": "sha256-CafrOJiDkIrRph8X+EvvBkI1T7j0qUlOnyhrylToJ7s=",
"owner": "fastly", "owner": "fastly",
"provider-source-address": "registry.terraform.io/fastly/fastly", "provider-source-address": "registry.terraform.io/fastly/fastly",
"repo": "terraform-provider-fastly", "repo": "terraform-provider-fastly",
"rev": "v2.3.2", "rev": "v2.3.3",
"vendorHash": null, "vendorHash": null,
"version": "2.3.2" "version": "2.3.3"
}, },
"flexibleengine": { "flexibleengine": {
"hash": "sha256-2eXNumT1Hkc33bW635qYr5jxlByX+yZ8zSKRpgKWQJo=", "hash": "sha256-2eXNumT1Hkc33bW635qYr5jxlByX+yZ8zSKRpgKWQJo=",
@ -442,24 +442,24 @@
"version": "3.18.0" "version": "3.18.0"
}, },
"google": { "google": {
"hash": "sha256-RveRVr5IdZrBX9uF0q0wyx/sh+cNBDp9CAv3zXOdATQ=", "hash": "sha256-b2U4bViukaGXcbkhSpE57dH0w45jUL5TSF2/pdmqqQY=",
"owner": "hashicorp", "owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/google", "provider-source-address": "registry.terraform.io/hashicorp/google",
"proxyVendor": true, "proxyVendor": true,
"repo": "terraform-provider-google", "repo": "terraform-provider-google",
"rev": "v4.38.0", "rev": "v4.39.0",
"vendorHash": "sha256-U5J9X51PAq3Cq/XH5ggThzsPaEy+AveHqD4D6NbK/AU=", "vendorHash": "sha256-U5J9X51PAq3Cq/XH5ggThzsPaEy+AveHqD4D6NbK/AU=",
"version": "4.38.0" "version": "4.39.0"
}, },
"google-beta": { "google-beta": {
"hash": "sha256-zQ8GgmWM3frLTstcrO0GKBWk1pMQTNMqxDGH9EmlzcQ=", "hash": "sha256-iYNolS1tvlsa0C/UX4xbtOVhGz8wkpit8z2sPSk22a0=",
"owner": "hashicorp", "owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/google-beta", "provider-source-address": "registry.terraform.io/hashicorp/google-beta",
"proxyVendor": true, "proxyVendor": true,
"repo": "terraform-provider-google-beta", "repo": "terraform-provider-google-beta",
"rev": "v4.38.0", "rev": "v4.39.0",
"vendorHash": "sha256-U5J9X51PAq3Cq/XH5ggThzsPaEy+AveHqD4D6NbK/AU=", "vendorHash": "sha256-U5J9X51PAq3Cq/XH5ggThzsPaEy+AveHqD4D6NbK/AU=",
"version": "4.38.0" "version": "4.39.0"
}, },
"googleworkspace": { "googleworkspace": {
"hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=", "hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=",
@ -571,13 +571,13 @@
"version": "0.1.2" "version": "0.1.2"
}, },
"ibm": { "ibm": {
"hash": "sha256-zcc7xUSTntTC0vLFBEW1PvvkSEtzD5VkKy/Jq8x5zKk=", "hash": "sha256-OcOmcTZe2J0cz9glVi/oLp55QrhsOpT0sj0PS32vnow=",
"owner": "IBM-Cloud", "owner": "IBM-Cloud",
"provider-source-address": "registry.terraform.io/IBM-Cloud/ibm", "provider-source-address": "registry.terraform.io/IBM-Cloud/ibm",
"repo": "terraform-provider-ibm", "repo": "terraform-provider-ibm",
"rev": "v1.45.1", "rev": "v1.46.0",
"vendorHash": "sha256-FAoRQxnc/vD5KYp0hb6iWGbZiWEtLzEr6R+vdruitKc=", "vendorHash": "sha256-Zhk2Q7tnL3P/uLo/61o/XiiMKBdmb2749S/Ax1ZrxAo=",
"version": "1.45.1" "version": "1.46.0"
}, },
"icinga2": { "icinga2": {
"hash": "sha256-Y/Oq0aTzP+oSKPhHiHY9Leal4HJJm7TNDpcdqkUsCmk=", "hash": "sha256-Y/Oq0aTzP+oSKPhHiHY9Leal4HJJm7TNDpcdqkUsCmk=",
@ -607,13 +607,13 @@
"version": "0.5.1" "version": "0.5.1"
}, },
"kafka-connect": { "kafka-connect": {
"hash": "sha256-boSOXVxHMSNAd0vMgy+DhvPxfjm0dfVxxZHvrgSkGp8=", "hash": "sha256-PiSVfzNPEXAgONb/eaVAN4yPudn5glcHL0BLqE5PWsw=",
"owner": "Mongey", "owner": "Mongey",
"provider-source-address": "registry.terraform.io/Mongey/kafka-connect", "provider-source-address": "registry.terraform.io/Mongey/kafka-connect",
"repo": "terraform-provider-kafka-connect", "repo": "terraform-provider-kafka-connect",
"rev": "v0.2.4", "rev": "v0.3.0",
"vendorHash": "sha256-IRDWTCJubSSvaYrsLRcGeqrUuOXrBH1hf1yRqGRElCk=", "vendorHash": "sha256-cLp8w0UcO9Hork/GTLOGCcSvfaYEIKl5so3/0ELm79Y=",
"version": "0.2.4" "version": "0.3.0"
}, },
"keycloak": { "keycloak": {
"hash": "sha256-JDMPr2uFi+9CcHdyigmP1DM3uRx2+eFnzSaHp+es2Tg=", "hash": "sha256-JDMPr2uFi+9CcHdyigmP1DM3uRx2+eFnzSaHp+es2Tg=",
@ -643,22 +643,22 @@
"version": "1.14.0" "version": "1.14.0"
}, },
"kubernetes": { "kubernetes": {
"hash": "sha256-2/7sSgLt/t5e9YWi9D5hOfirHDrfHnuK3w684KjKIWI=", "hash": "sha256-E8ew1MwQa1DVYZH//ePjZXLQdyRN7Q0yomH0ma0neks=",
"owner": "hashicorp", "owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/kubernetes", "provider-source-address": "registry.terraform.io/hashicorp/kubernetes",
"repo": "terraform-provider-kubernetes", "repo": "terraform-provider-kubernetes",
"rev": "v2.13.1", "rev": "v2.14.0",
"vendorHash": null, "vendorHash": null,
"version": "2.13.1" "version": "2.14.0"
}, },
"launchdarkly": { "launchdarkly": {
"hash": "sha256-XseHo/PVNGV+TKR+DBOmNlwYozFPWDolQR6/mE/XwVQ=", "hash": "sha256-yIFR0QvSLWxCuzmq1nd55EmStpAZzf5tTxRUU6jqWvI=",
"owner": "launchdarkly", "owner": "launchdarkly",
"provider-source-address": "registry.terraform.io/launchdarkly/launchdarkly", "provider-source-address": "registry.terraform.io/launchdarkly/launchdarkly",
"repo": "terraform-provider-launchdarkly", "repo": "terraform-provider-launchdarkly",
"rev": "v2.9.2", "rev": "v2.9.3",
"vendorHash": "sha256-Ef07RvkqXR/7qf8gHayxczBJ/ChHDmxR6+/wzaokkzk=", "vendorHash": "sha256-Ef07RvkqXR/7qf8gHayxczBJ/ChHDmxR6+/wzaokkzk=",
"version": "2.9.2" "version": "2.9.3"
}, },
"libvirt": { "libvirt": {
"hash": "sha256-PmaGBKAaOInLId6r6D29YOedqEA1EreVvI1oRtegPfQ=", "hash": "sha256-PmaGBKAaOInLId6r6D29YOedqEA1EreVvI1oRtegPfQ=",
@ -779,13 +779,13 @@
"version": "0.6.12" "version": "0.6.12"
}, },
"newrelic": { "newrelic": {
"hash": "sha256-xh7ufhv0zHTHS1aMz15PKlKoNPSDhXOIeSxj6tvRKKo=", "hash": "sha256-2JYRvlpHqEU5VPVhZlBkMYD88L7vMjELFWDY9eJYkK8=",
"owner": "newrelic", "owner": "newrelic",
"provider-source-address": "registry.terraform.io/newrelic/newrelic", "provider-source-address": "registry.terraform.io/newrelic/newrelic",
"repo": "terraform-provider-newrelic", "repo": "terraform-provider-newrelic",
"rev": "v3.3.0", "rev": "v3.4.4",
"vendorHash": "sha256-vtpRDE6tAhJGtYDG65NvtKx/fyt0yBqJTg5s5kXls+8=", "vendorHash": "sha256-vtpRDE6tAhJGtYDG65NvtKx/fyt0yBqJTg5s5kXls+8=",
"version": "3.3.0" "version": "3.4.4"
}, },
"nomad": { "nomad": {
"hash": "sha256-HhocWB3ZCFdeYgmA64hv1CYwqIf4EB/Q+vNrFKVB31I=", "hash": "sha256-HhocWB3ZCFdeYgmA64hv1CYwqIf4EB/Q+vNrFKVB31I=",
@ -834,22 +834,22 @@
"version": "1.7.1" "version": "1.7.1"
}, },
"oci": { "oci": {
"hash": "sha256-x1yrAYq8UXs69QkXMUq7mZ6in8o2+GPaS0EsAjn/pXg=", "hash": "sha256-PSkD2HXGmSimJYQPZKuVCGvEa0sSNc4XMRRrM5O+/QE=",
"owner": "oracle", "owner": "oracle",
"provider-source-address": "registry.terraform.io/oracle/oci", "provider-source-address": "registry.terraform.io/oracle/oci",
"repo": "terraform-provider-oci", "repo": "terraform-provider-oci",
"rev": "v4.95.0", "rev": "v4.96.0",
"vendorHash": null, "vendorHash": null,
"version": "4.95.0" "version": "4.96.0"
}, },
"okta": { "okta": {
"hash": "sha256-rgDBZsbXBzBcDgVoaFkPD27Ezef9J23oqtBJAHqJrrE=", "hash": "sha256-yUWz6JiejI36QXSzGj36Pzu8/exK4U/DXCdbToSeCrE=",
"owner": "okta", "owner": "okta",
"provider-source-address": "registry.terraform.io/okta/okta", "provider-source-address": "registry.terraform.io/okta/okta",
"repo": "terraform-provider-okta", "repo": "terraform-provider-okta",
"rev": "v3.36.0", "rev": "v3.37.0",
"vendorHash": "sha256-hjX5kVOM8idWK4F5ahuh6BgK/h5QdkJOn4dizneOkB4=", "vendorHash": "sha256-qAnMwxTvvds3pOarRTWWVQqOCJKd0wSH2LZoPl4n2uA=",
"version": "3.36.0" "version": "3.37.0"
}, },
"oktaasa": { "oktaasa": {
"hash": "sha256-2LhxgowqKvDDDOwdznusL52p2DKP+UiXALHcs9ZQd0U=", "hash": "sha256-2LhxgowqKvDDDOwdznusL52p2DKP+UiXALHcs9ZQd0U=",
@ -861,13 +861,13 @@
"version": "1.0.1" "version": "1.0.1"
}, },
"opennebula": { "opennebula": {
"hash": "sha256-ChqOX6pEvFMUyDAKA6VnD1L9UD2vplVH7dgpMTeiUeA=", "hash": "sha256-QD/JU1sk1uEdgyOxvU+vDDqlYe5uoRxHx6nB0fCi6ds=",
"owner": "OpenNebula", "owner": "OpenNebula",
"provider-source-address": "registry.terraform.io/OpenNebula/opennebula", "provider-source-address": "registry.terraform.io/OpenNebula/opennebula",
"repo": "terraform-provider-opennebula", "repo": "terraform-provider-opennebula",
"rev": "v1.0.0", "rev": "v1.0.1",
"vendorHash": "sha256-iT3c0CBSP+FKM4CFsTopY4W41ZCaC8E3Iz1o+THI/fQ=", "vendorHash": "sha256-iT3c0CBSP+FKM4CFsTopY4W41ZCaC8E3Iz1o+THI/fQ=",
"version": "1.0.0" "version": "1.0.1"
}, },
"openstack": { "openstack": {
"hash": "sha256-I2Rl/Z6KHEkhaoslqMD+ZQ8vOnIwLDDJIP3P/3sTWcw=", "hash": "sha256-I2Rl/Z6KHEkhaoslqMD+ZQ8vOnIwLDDJIP3P/3sTWcw=",
@ -879,13 +879,13 @@
"version": "1.48.0" "version": "1.48.0"
}, },
"opentelekomcloud": { "opentelekomcloud": {
"hash": "sha256-X4e74tgqHbt9j5prq2Zjqbcmwvr6m1UDFp5y1xfwkEQ=", "hash": "sha256-9JDRGya/2SJm4JsM6o6E7dqLQqDjfR8Gjf6BuSFEdpo=",
"owner": "opentelekomcloud", "owner": "opentelekomcloud",
"provider-source-address": "registry.terraform.io/opentelekomcloud/opentelekomcloud", "provider-source-address": "registry.terraform.io/opentelekomcloud/opentelekomcloud",
"repo": "terraform-provider-opentelekomcloud", "repo": "terraform-provider-opentelekomcloud",
"rev": "v1.31.4", "rev": "v1.31.5",
"vendorHash": "sha256-ARlkXkty4/h86cmWnmKnP1Vhzt7oTOOxSFraNGp2BWs=", "vendorHash": "sha256-7iDE/DKix9AKY0hX7m6V9KgDYmCiVFrpRMmgCSsm/5c=",
"version": "1.31.4" "version": "1.31.5"
}, },
"opsgenie": { "opsgenie": {
"hash": "sha256-hdLKa2usoDedzOlzPQrADJOqIxtANqTeTamn/DakRh4=", "hash": "sha256-hdLKa2usoDedzOlzPQrADJOqIxtANqTeTamn/DakRh4=",
@ -897,13 +897,13 @@
"version": "0.6.15" "version": "0.6.15"
}, },
"ovh": { "ovh": {
"hash": "sha256-DHk1AUxHuXLrPiRhfAtJDDNT4TYH1XsUzBqjKGvPK7c=", "hash": "sha256-QaJZQU6bnjXoTCxfP1NcsPqegFyZ6JwP2QgN7zrE0z0=",
"owner": "ovh", "owner": "ovh",
"provider-source-address": "registry.terraform.io/ovh/ovh", "provider-source-address": "registry.terraform.io/ovh/ovh",
"repo": "terraform-provider-ovh", "repo": "terraform-provider-ovh",
"rev": "v0.21.0", "rev": "v0.22.0",
"vendorHash": null, "vendorHash": null,
"version": "0.21.0" "version": "0.22.0"
}, },
"pagerduty": { "pagerduty": {
"hash": "sha256-Kdm6WizssVdMwsTUyV4wUAW6QelUxDE9GZDGvnehFCw=", "hash": "sha256-Kdm6WizssVdMwsTUyV4wUAW6QelUxDE9GZDGvnehFCw=",
@ -996,13 +996,13 @@
"version": "0.4.3" "version": "0.4.3"
}, },
"scaleway": { "scaleway": {
"hash": "sha256-EPbh9lUcamFe33EKj2TzzaKChOU8fQb5/uigln2ALJ8=", "hash": "sha256-MRZbVEUcjJL+leDCok1S+wsLW1N2IP76P0D7M8NzvHY=",
"owner": "scaleway", "owner": "scaleway",
"provider-source-address": "registry.terraform.io/scaleway/scaleway", "provider-source-address": "registry.terraform.io/scaleway/scaleway",
"repo": "terraform-provider-scaleway", "repo": "terraform-provider-scaleway",
"rev": "v2.3.0", "rev": "v2.4.0",
"vendorHash": "sha256-C4viIkYpu9B79kDByyg8cTCsXW6fGued280kIPAYHjc=", "vendorHash": "sha256-CEYDT2G/V+XeCwcQzJksNb4EVRzH0iiaWiaudhBiaLw=",
"version": "2.3.0" "version": "2.4.0"
}, },
"secret": { "secret": {
"hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=", "hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=",
@ -1104,13 +1104,13 @@
"version": "2.0.4" "version": "2.0.4"
}, },
"sumologic": { "sumologic": {
"hash": "sha256-1wV+9RHgrqL6LvRE21KM1wBSpyOcoOt07tZcx2s5pGM=", "hash": "sha256-DvEd1OdLmUEEmk0zl7jiTjdk/3Fp1Z/3KCpYRpxHTn4=",
"owner": "SumoLogic", "owner": "SumoLogic",
"provider-source-address": "registry.terraform.io/SumoLogic/sumologic", "provider-source-address": "registry.terraform.io/SumoLogic/sumologic",
"repo": "terraform-provider-sumologic", "repo": "terraform-provider-sumologic",
"rev": "v2.19.0", "rev": "v2.19.1",
"vendorHash": "sha256-W+dV6rmyOqCeQboYvpxYoNZixv2+uBd2+sc9BvTE+Ag=", "vendorHash": "sha256-W+dV6rmyOqCeQboYvpxYoNZixv2+uBd2+sc9BvTE+Ag=",
"version": "2.19.0" "version": "2.19.1"
}, },
"tencentcloud": { "tencentcloud": {
"hash": "sha256-SoCXh0pRqEkto2K+ZfN7ncVGDVC32zDElS+rBdOfa0g=", "hash": "sha256-SoCXh0pRqEkto2K+ZfN7ncVGDVC32zDElS+rBdOfa0g=",
@ -1186,22 +1186,23 @@
"version": "1.32.2" "version": "1.32.2"
}, },
"utils": { "utils": {
"hash": "sha256-FYOu48Bg8iMfNl+2EETBMxEfwg2ToO+Oexz1yPi0g38=", "hash": "sha256-Mh1yj1VZ620xSs1a5j86K4uCUyjzdeCphKLANQvgTNA=",
"owner": "cloudposse", "owner": "cloudposse",
"provider-source-address": "registry.terraform.io/cloudposse/utils", "provider-source-address": "registry.terraform.io/cloudposse/utils",
"repo": "terraform-provider-utils", "repo": "terraform-provider-utils",
"rev": "1.2.0", "rev": "1.3.0",
"vendorHash": "sha256-eDNA4zvOYnWvaCHhNHWOjy1VstG1nITWkCMOilu9Wxg=", "vendorHash": "sha256-00kcosPSk/Ll7UQhnrEGRo0USvFM2V5MLKnndfhQEQA=",
"version": "1.2.0" "version": "1.3.0"
}, },
"vault": { "vault": {
"hash": "sha256-fEITfA3XXyUiILPse7fOmBW8M6dzEIUMg+7b3l4z2vo=", "hash": "sha256-v+WhEJ9HsTdOqSVpbV/qVCEICsgY3nEqcIutYHi3aQ8=",
"owner": "hashicorp", "owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/vault", "provider-source-address": "registry.terraform.io/hashicorp/vault",
"proxyVendor": true,
"repo": "terraform-provider-vault", "repo": "terraform-provider-vault",
"rev": "v3.8.2", "rev": "v3.9.1",
"vendorHash": "sha256-x7uz6VFotS+/eLEeMfaTloKQe/zp47d8e5I63BsGvhM=", "vendorHash": "sha256-l0uKS8ZIXq0LgSLtYBwtiWuPLeYA62rCt6eDxrnTZfA=",
"version": "3.8.2" "version": "3.9.1"
}, },
"vcd": { "vcd": {
"hash": "sha256-qEElcMl6tCBfOTTTpTFjVYg6E6K9iTXfgmDDozrgNVg=", "hash": "sha256-qEElcMl6tCBfOTTTpTFjVYg6E6K9iTXfgmDDozrgNVg=",
@ -1213,13 +1214,13 @@
"version": "3.7.0" "version": "3.7.0"
}, },
"venafi": { "venafi": {
"hash": "sha256-oGpIa+Up1bv6tf5ibna0DEwIxrZyAefqA8LSAy57QrE=", "hash": "sha256-/5X/+BilaYwi1Vce7mIvVeHjTpVX/OuYquZ+2BGfxrs=",
"owner": "Venafi", "owner": "Venafi",
"provider-source-address": "registry.terraform.io/Venafi/venafi", "provider-source-address": "registry.terraform.io/Venafi/venafi",
"repo": "terraform-provider-venafi", "repo": "terraform-provider-venafi",
"rev": "v0.16.0", "rev": "v0.16.1",
"vendorHash": "sha256-F0lMZVMNJ/1SHX8e5v4waQPqZjan/Ll+db+dseZ+dsc=", "vendorHash": "sha256-smeySV1kReZyF9bRCunEr89IV219f9845wcHHI1zFz8=",
"version": "0.16.0" "version": "0.16.1"
}, },
"vercel": { "vercel": {
"hash": "sha256-/LHyNxal5Il/UzXdCKfVRzK/VVfSYMgoeKerWsedmho=", "hash": "sha256-/LHyNxal5Il/UzXdCKfVRzK/VVfSYMgoeKerWsedmho=",

View File

@ -168,8 +168,8 @@ rec {
mkTerraform = attrs: pluggable (generic attrs); mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform { terraform_1 = mkTerraform {
version = "1.3.1"; version = "1.3.2";
sha256 = "sha256-ugdMpp/YTCyXaUY6NTrIa9r/+C4bYLYqQEic4cvgoVo="; sha256 = "sha256-Xr6ZmKE7BoMh2gZcvcZgWwb8WuAb3Xb8vV9gZVjDZFE=";
vendorSha256 = "sha256-+m7e49yN7OkiQQVvqimF0Tvz5wUr2M5bxs3yBU2lt7Y="; vendorSha256 = "sha256-+m7e49yN7OkiQQVvqimF0Tvz5wUr2M5bxs3yBU2lt7Y=";
patches = [ ./provider-path-0_15.patch ]; patches = [ ./provider-path-0_15.patch ];
passthru = { passthru = {

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "waypoint"; pname = "waypoint";
version = "0.10.1"; version = "0.10.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hashicorp"; owner = "hashicorp";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-9iqHO+idW6Rxe0osD4fjkhvO5TF122r1J8QlV/haaNw="; sha256 = "sha256-4RAnGPzXrPXMclDiTd38VrOy7zqvccD/xrm3QpeFubM=";
}; };
vendorSha256 = "sha256-fBsRmUE72lot9Ju/hUqpdSSXvMktRGP+H4WQ0GOCxrY="; vendorSha256 = "sha256-fBsRmUE72lot9Ju/hUqpdSSXvMktRGP+H4WQ0GOCxrY=";

View File

@ -0,0 +1,103 @@
{ lib
, gcc12Stdenv
, fetchFromGitHub
, fetchpatch
, pkg-config
, curl
, glib
, gtk3
, libssh2
, openssl
, wxGTK32
}:
gcc12Stdenv.mkDerivation rec {
pname = "freefilesync";
version = "11.25";
src = fetchFromGitHub {
owner = "hkneptune";
repo = "FreeFileSync";
rev = "v${version}";
sha256 = "sha256-JV9qwBiF9kl+wc9+7lUufQVu6uiMQ6vojntxduNJ8MI=";
};
# Patches from ROSA Linux
patches = [
# Disable loading of the missing Animal.dat
(fetchpatch {
url = "https://abf.io/import/freefilesync/raw/rosa2021.1-11.25-1/ffs_devuan.patch";
sha256 = "sha256-o8T/tBinlhM1I82yXxm0ogZcZf+uri95vTJrca5mcqs=";
excludes = [ "FreeFileSync/Source/ffs_paths.cpp" ];
postFetch = ''
substituteInPlace $out --replace " for Rosa" ""
'';
})
# Fix build with GTK 3
(fetchpatch {
url = "https://abf.io/import/freefilesync/raw/rosa2021.1-11.25-1/ffs_devuan_gtk3.patch";
sha256 = "sha256-NXt/+BRTcMk8bnjR9Hipv1NzV9YqRJqy0e3RMInoWsA=";
postFetch = ''
substituteInPlace $out --replace "-isystem/usr/include/gtk-3.0" ""
'';
})
];
postPatch = ''
substituteInPlace FreeFileSync/Source/ui/version_check.cpp \
--replace "openBrowserForDownload();" "openBrowserForDownload(parent);"
'';
nativeBuildInputs = [
pkg-config
];
buildInputs = [
curl
glib
gtk3
libssh2
openssl
wxGTK32
];
NIX_CFLAGS_COMPILE = [
# Undef g_object_ref on GLib 2.56+
"-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_54"
"-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_54"
# Define libssh2 constants
"-DMAX_SFTP_READ_SIZE=30000"
"-DMAX_SFTP_OUTGOING_SIZE=30000"
];
buildPhase = ''
runHook preBuild
chmod +w FreeFileSync/Build
cd FreeFileSync/Source
make -j$NIX_BUILD_CORES
cd RealTimeSync
make -j$NIX_BUILD_CORES
cd ../../..
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -R FreeFileSync/Build/* $out
mv $out/{Bin,bin}
runHook postInstall
'';
meta = with lib; {
description = "Open Source File Synchronization & Backup Software";
homepage = "https://freefilesync.org";
license = licenses.gpl3Only;
maintainers = with maintainers; [ wegank ];
platforms = platforms.linux;
};
}

View File

@ -1,16 +1,16 @@
{ lib { lib
, fetchFromGitLab , fetchFromGitLab
, flutter , flutter2
, olm , olm
, imagemagick , imagemagick
, makeDesktopItem , makeDesktopItem
}: }:
flutter.mkFlutterApp rec { flutter2.mkFlutterApp rec {
pname = "fluffychat"; pname = "fluffychat";
version = "1.2.0"; version = "1.2.0";
vendorHash = "sha256-co+bnsVIyg42JpM9FimfGEjrd6A99GlBeow1Dgv7NBI="; vendorHash = "sha256-1PDX023WXRmRe/b1L+6Du91BvGwYNp3YATqYSQdPrRY=";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "famedly"; owner = "famedly";

View File

@ -9,7 +9,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "signal-desktop"; pname = "signal-desktop";
version = "5.61.1"; # Please backport all updates to the stable channel. version = "5.62.0"; # Please backport all updates to the stable channel.
# All releases have a limited lifetime and "expire" 90 days after the release. # All releases have a limited lifetime and "expire" 90 days after the release.
# When releases "expire" the application becomes unusable until an update is # When releases "expire" the application becomes unusable until an update is
# applied. The expiration date for the current release can be extracted with: # applied. The expiration date for the current release can be extracted with:
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb"; url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "sha256-iEWJ0/rzQMZaZKwume+akMgRg71tVwhlovIGC129B/8="; sha256 = "sha256-ehRwGZM4lj+pgxUnBlBfcYt2JypuZ5PX3S5ymZriRWA=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -39,5 +39,7 @@ stdenv.mkDerivation rec {
There is a 15-day free trial, and it is a paid application after that. There is a 15-day free trial, and it is a paid application after that.
''; '';
# download URL removed
broken = true;
}; };
} }

View File

@ -80,5 +80,7 @@ stdenv.mkDerivation rec {
There is a 15-day free trial, and it is a paid application after that. There is a 15-day free trial, and it is a paid application after that.
''; '';
# download URL removed
broken = true;
}; };
} }

View File

@ -4,16 +4,16 @@ let
common = { stname, target, postInstall ? "" }: common = { stname, target, postInstall ? "" }:
buildGoModule rec { buildGoModule rec {
pname = stname; pname = stname;
version = "1.21.0"; version = "1.22.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "syncthing"; owner = "syncthing";
repo = "syncthing"; repo = "syncthing";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-Qgp9fo3yZabxsCFhn7U9B2AcVSUb9GCzm7B81HrI1jY="; hash = "sha256-jAXxgSm0eEdFylukYGhIGtA0KniMiln1BIfuGZoboSM=";
}; };
vendorSha256 = "sha256-rde7oyEZA8uGmkvz078Cu+aFrn9TuLTv0i7SW0ytyxU="; vendorSha256 = "sha256-yabX1A4Q/0ZQFMCrvO5oCI5y0o/dqQy3IplxZ6SsHuw=";
doCheck = false; doCheck = false;

View File

@ -1,6 +1,7 @@
{ lib, stdenv, fetchFromGitHub, cmake { lib, stdenv, fetchFromGitHub, cmake
, sqlite, wxGTK30-gtk3, libusb1, soapysdr , sqlite, wxGTK32, libusb1, soapysdr
, mesa_glu, libX11, gnuplot, fltk , mesa_glu, libX11, gnuplot, fltk
, GLUT
} : } :
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -23,13 +24,15 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
libusb1 libusb1
sqlite sqlite
wxGTK30-gtk3 wxGTK32
fltk fltk
gnuplot gnuplot
libusb1 libusb1
soapysdr soapysdr
mesa_glu mesa_glu
libX11 libX11
] ++ lib.optionals stdenv.isDarwin [
GLUT
]; ];
postInstall = '' postInstall = ''
@ -42,7 +45,7 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/myriadrf/LimeSuite"; homepage = "https://github.com/myriadrf/LimeSuite";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ markuskowa ]; maintainers = with maintainers; [ markuskowa ];
platforms = platforms.linux; platforms = platforms.unix;
}; };
} }

View File

@ -1,5 +1,6 @@
{ lib, stdenv, fetchFromGitHub, cmake { lib, stdenv, fetchFromGitHub, cmake
, airspy, soapysdr , airspy, soapysdr
, libobjc, IOKit, Security
} : } :
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -14,7 +15,8 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ airspy soapysdr ]; buildInputs = [ airspy soapysdr ]
++ lib.optionals stdenv.isDarwin [ libobjc IOKit Security ];
cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ];
@ -23,6 +25,6 @@ stdenv.mkDerivation rec {
description = "SoapySDR plugin for Airspy devices"; description = "SoapySDR plugin for Airspy devices";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ markuskowa ]; maintainers = with maintainers; [ markuskowa ];
platforms = platforms.linux; platforms = platforms.unix;
}; };
} }

View File

@ -1,5 +1,6 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config { lib, stdenv, fetchFromGitHub, cmake, pkg-config
, hamlib, rtaudio, alsa-lib, libpulseaudio, libjack2, libusb1, soapysdr , hamlib, rtaudio, alsa-lib, libpulseaudio, libjack2, libusb1, soapysdr
, Accelerate, CoreAudio
} : } :
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -14,7 +15,9 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ cmake pkg-config ]; nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ hamlib rtaudio alsa-lib libpulseaudio libjack2 libusb1 soapysdr ]; buildInputs = [ hamlib rtaudio libjack2 libusb1 soapysdr ]
++ lib.optionals stdenv.isLinux [ alsa-lib libpulseaudio ]
++ lib.optionals stdenv.isDarwin [ Accelerate CoreAudio ];
cmakeFlags = [ cmakeFlags = [
"-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/"
@ -26,6 +29,6 @@ stdenv.mkDerivation rec {
description = "SoapySDR plugin for amateur radio and audio devices"; description = "SoapySDR plugin for amateur radio and audio devices";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ numinit ]; maintainers = with maintainers; [ numinit ];
platforms = platforms.linux; platforms = platforms.unix;
}; };
} }

View File

@ -1,5 +1,6 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config { lib, stdenv, fetchFromGitHub, cmake, pkg-config
, libbladeRF, soapysdr , libbladeRF, soapysdr
, libobjc, IOKit, Security
} : } :
let let
@ -17,7 +18,8 @@ in stdenv.mkDerivation {
}; };
nativeBuildInputs = [ cmake pkg-config ]; nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ libbladeRF soapysdr ]; buildInputs = [ libbladeRF soapysdr ]
++ lib.optionals stdenv.isDarwin [ libobjc IOKit Security ];
cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ];
@ -27,6 +29,6 @@ in stdenv.mkDerivation {
description = "SoapySDR plugin for BladeRF devices"; description = "SoapySDR plugin for BladeRF devices";
license = licenses.lgpl21Only; license = licenses.lgpl21Only;
maintainers = with maintainers; [ markuskowa ]; maintainers = with maintainers; [ markuskowa ];
platforms = platforms.linux; platforms = platforms.unix;
}; };
} }

View File

@ -1,5 +1,6 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config { lib, stdenv, fetchFromGitHub, cmake, pkg-config
, hackrf, soapysdr , hackrf, soapysdr
, libobjc, IOKit, Security
} : } :
let let
@ -17,7 +18,8 @@ in stdenv.mkDerivation {
}; };
nativeBuildInputs = [ cmake pkg-config ]; nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ hackrf soapysdr ]; buildInputs = [ hackrf soapysdr ]
++ lib.optionals stdenv.isDarwin [ libobjc IOKit Security ];
cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ];
@ -26,6 +28,6 @@ in stdenv.mkDerivation {
description = "SoapySDR plugin for HackRF devices"; description = "SoapySDR plugin for HackRF devices";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ markuskowa ]; maintainers = with maintainers; [ markuskowa ];
platforms = platforms.linux; platforms = platforms.unix;
}; };
} }

View File

@ -19,11 +19,13 @@ in stdenv.mkDerivation {
cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ];
NIX_CFLAGS_COMPILE = lib.optionals stdenv.isDarwin [ "-include sys/select.h" ];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/pothosware/SoapyRemote"; homepage = "https://github.com/pothosware/SoapyRemote";
description = "SoapySDR plugin for remote access to SDRs"; description = "SoapySDR plugin for remote access to SDRs";
license = licenses.boost; license = licenses.boost;
maintainers = with maintainers; [ markuskowa ]; maintainers = with maintainers; [ markuskowa ];
platforms = platforms.linux; platforms = platforms.unix;
}; };
} }

View File

@ -1,5 +1,6 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config { lib, stdenv, fetchFromGitHub, cmake, pkg-config
, uhd, boost, soapysdr , uhd, boost, soapysdr
, libobjc, IOKit, Security
} : } :
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -14,7 +15,8 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ cmake pkg-config ]; nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ uhd boost soapysdr ]; buildInputs = [ uhd boost soapysdr ]
++ lib.optionals stdenv.isDarwin [ libobjc IOKit Security ];
cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ];
@ -27,6 +29,6 @@ stdenv.mkDerivation rec {
description = "SoapySDR plugin for UHD devices"; description = "SoapySDR plugin for UHD devices";
license = licenses.gpl3Only; license = licenses.gpl3Only;
maintainers = with maintainers; [ markuskowa ]; maintainers = with maintainers; [ markuskowa ];
platforms = platforms.linux; platforms = platforms.unix;
}; };
} }

View File

@ -23,7 +23,8 @@ python3.pkgs.buildPythonApplication rec {
postPatch = '' postPatch = ''
substituteInPlace setup.cfg \ substituteInPlace setup.cfg \
--replace "grandalf==0.6" "grandalf" \ --replace "grandalf==0.6" "grandalf" \
--replace "scmrepo==0.0.25" "scmrepo" --replace "scmrepo==0.0.25" "scmrepo" \
--replace "pathspec>=0.9.0,<0.10.0" "pathspec"
substituteInPlace dvc/daemon.py \ substituteInPlace dvc/daemon.py \
--subst-var-by dvc "$out/bin/dcv" --subst-var-by dvc "$out/bin/dcv"
''; '';

View File

@ -1,6 +1,5 @@
{ lib { lib
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, git , git
, libiconv , libiconv
, ncurses , ncurses
@ -15,24 +14,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "git-branchless"; pname = "git-branchless";
version = "0.5.0"; version = "0.5.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "arxanas"; owner = "arxanas";
repo = "git-branchless"; repo = "git-branchless";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-jAc17poNTld3eptN1Vd1MOKS5iloMWkq3oZgpWBkGTY="; sha256 = "sha256-xh+G9bKEL2ho1YrNVTLbCTxSWZtjEuEWutvYEFr2G/g=";
}; };
cargoPatches = [ cargoSha256 = "sha256-Zz1RQ/mhdIbPiw2StGtTiORXiJ2nVLyZakt1072ha6U=";
(fetchpatch {
name = "build-run-cargo-update";
url = "https://github.com/arxanas/git-branchless/commit/0ac3f325520f79d15368aa9d14893ebc17313ab6.patch";
sha256 = "sha256-S1kazUzvz3FzFpphSRhWiv/l2b/+zC9HtAl7ndq5aJA=";
})
];
cargoSha256 = "sha256-Lo/Q6OSIzWrRNiTGsOWRX+6FEcj4fk1kn7V9tw67UVo=";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View File

@ -21,11 +21,11 @@ let
self = python3Packages.buildPythonApplication rec { self = python3Packages.buildPythonApplication rec {
pname = "mercurial${lib.optionalString fullBuild "-full"}"; pname = "mercurial${lib.optionalString fullBuild "-full"}";
version = "6.2.2"; version = "6.2.3";
src = fetchurl { src = fetchurl {
url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz"; url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
sha256 = "sha256-nvqdpfSXqHUKycSPpDHEq3IgnxNgGAxdSSDRMRsEIN8="; sha256 = "sha256-mNGuAC9orfU9ZcWUf+i3o3n5jPBdm46h9Ad9LKXc6ds=";
}; };
format = "other"; format = "other";
@ -35,7 +35,7 @@ let
cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball { cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
inherit src; inherit src;
name = "mercurial-${version}"; name = "mercurial-${version}";
sha256 = "sha256-hvjp45Iv+fjs8R5Q+k96chY5j0S2Vs6+VrXzMuc2Cwg="; sha256 = "sha256-UWYXVPdEMITLNdBjnoo8IuLOGZiwUJL+dqSl26nf5qs=";
sourceRoot = "mercurial-${version}/rust"; sourceRoot = "mercurial-${version}/rust";
} else null; } else null;
cargoRoot = if rustSupport then "rust" else null; cargoRoot = if rustSupport then "rust" else null;

View File

@ -1,14 +1,11 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, gitUpdater
, writers
, makeWrapper , makeWrapper
, bash , bash
, nodejs , nodejs
, gzip , gzip
, jq , callPackage
, yq
}: }:
let let
@ -33,7 +30,8 @@ let
}); });
server = nodejs.pkgs.epgstation.override (drv: { server = nodejs.pkgs.epgstation.override (drv: {
inherit src; # NOTE: updateScript relies on version matching the src.
inherit version src;
# This is set to false to keep devDependencies at build time. Build time # This is set to false to keep devDependencies at build time. Build time
# dependencies are pruned afterwards. # dependencies are pruned afterwards.
@ -108,17 +106,7 @@ let
# NOTE: this may take a while since it has to update all packages in # NOTE: this may take a while since it has to update all packages in
# nixpkgs.nodePackages # nixpkgs.nodePackages
passthru.updateScript = import ./update.nix { passthru.updateScript = callPackage ./update.nix { };
inherit lib;
inherit (src.meta) homepage;
inherit
pname
version
gitUpdater
writers
jq
yq;
};
# nodePackages.epgstation is a stub package to fetch npm dependencies and # nodePackages.epgstation is a stub package to fetch npm dependencies and
# its meta.platforms is made empty to prevent users from installing it # its meta.platforms is made empty to prevent users from installing it

View File

@ -1,67 +1,62 @@
{ pname { gitUpdater
, version
, homepage
, lib
, gitUpdater
, writers , writers
, jq , jq
, yq , yq
, gnused , gnused
, _experimental-update-script-combinators
}: }:
let let
updater = gitUpdater { updateSource = gitUpdater {
inherit pname version;
attrPath = lib.toLower pname;
rev-prefix = "v"; rev-prefix = "v";
}; };
updateScript = builtins.elemAt updater.command 0; updateLocks = writers.writeBash "update-epgstation" ''
updateArgs = map (lib.escapeShellArg) (builtins.tail updater.command); set -euxo pipefail
in writers.writeBash "update-epgstation" ''
set -euxo pipefail
# bump the version cd "$1"
${updateScript} ${lib.concatStringsSep " " updateArgs}
cd "${toString ./.}" # Get the path to the latest source. Note that we can't just pass the value
# of epgstation.src directly because it'd be evaluated before we can run
# updateScript.
SRC="$(nix-build ../../../.. --no-out-link -A epgstation.src)"
if [[ "$UPDATE_NIX_OLD_VERSION" == "$(${jq}/bin/jq -r .version "$SRC/package.json")" ]]; then
echo "[INFO] Already using the latest version of $UPDATE_NIX_PNAME" >&2
exit
fi
# Get the path to the latest source. Note that we can't just pass the value # Regenerate package.json from the latest source.
# of epgstation.src directly because it'd be evaluated before we can run ${jq}/bin/jq '. + {
# updateScript. dependencies: (.dependencies + .devDependencies),
SRC="$(nix-build ../../../.. --no-out-link -A epgstation.src)" } | del(.devDependencies, .main, .scripts)' \
if [[ "${version}" == "$(${jq}/bin/jq -r .version "$SRC/package.json")" ]]; then "$SRC/package.json" \
echo "[INFO] Already using the latest version of ${pname}" >&2 > package.json
exit ${jq}/bin/jq '. + {
fi dependencies: (.dependencies + .devDependencies),
} | del(.devDependencies, .main, .scripts)' \
"$SRC/client/package.json" \
> client/package.json
# Regenerate package.json from the latest source. # Fix issue with old sqlite3 version pinned that depends on very old node-gyp 3.x
${jq}/bin/jq '. + { ${gnused}/bin/sed -i -e 's/"sqlite3":\s*"5.0.[0-9]\+"/"sqlite3": "5.0.11"/' package.json
dependencies: (.dependencies + .devDependencies),
} | del(.devDependencies, .main, .scripts)' \
"$SRC/package.json" \
> package.json
${jq}/bin/jq '. + {
dependencies: (.dependencies + .devDependencies),
} | del(.devDependencies, .main, .scripts)' \
"$SRC/client/package.json" \
> client/package.json
# Fix issue with old sqlite3 version pinned that depends on very old node-gyp 3.x # Regenerate node packages to update the pre-overriden epgstation derivation.
${gnused}/bin/sed -i -e 's/"sqlite3":\s*"5.0.[0-9]\+"/"sqlite3": "5.0.11"/' package.json # This must come *after* package.json has been regenerated.
pushd ../../../development/node-packages
./generate.sh
popd
# Regenerate node packages to update the pre-overriden epgstation derivation. # Generate default streaming settings for the nixos module.
# This must come *after* package.json has been regenerated. pushd ../../../../nixos/modules/services/video/epgstation
pushd ../../../development/node-packages ${yq}/bin/yq -j '{ urlscheme , stream }' \
./generate.sh "$SRC/config/config.yml.template" \
popd > streaming.json
# Generate default streaming settings for the nixos module. # Fix generated output for EditorConfig compliance
pushd ../../../../nixos/modules/services/video/epgstation printf '\n' >> streaming.json # rule: insert_final_newline
${yq}/bin/yq -j '{ urlscheme , stream }' \ popd
"$SRC/config/config.yml.template" \ '';
> streaming.json in
_experimental-update-script-combinators.sequence [
# Fix generated output for EditorConfig compliance updateSource
printf '\n' >> streaming.json # rule: insert_final_newline [updateLocks ./.]
popd ]
''

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "buildkit-nix"; pname = "buildkit-nix";
version = "0.0.2"; version = "0.0.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "AkihiroSuda"; owner = "AkihiroSuda";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-k9YO4KFIDebfszhKG6RYDFlVfbUPFHRsHRQXXlJ6SoU="; sha256 = "sha256-hrrvDby+UDwY0wvq/HIP9lYVEa/flr/1gtGXHMN8Mug=";
}; };
vendorSha256 = "sha256-c+VHt2uTaEQIXsmJ9TA7X5lfMxGL9yKbbnnXn4drCLU="; vendorSha256 = "sha256-1H5oWgcaamf+hocABWWnzJUjWiqwk1ZZtbBjF6EKzzU=";
CGO_ENABLED = 0; CGO_ENABLED = 0;

View File

@ -15,13 +15,13 @@
buildGoModule rec { buildGoModule rec {
pname = "cri-o"; pname = "cri-o";
version = "1.25.0"; version = "1.25.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cri-o"; owner = "cri-o";
repo = "cri-o"; repo = "cri-o";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-3J/fiaJL828P0L0vgwcR3DbMASt3fcwnLBu33SFDlx0="; sha256 = "sha256-MFqCRHsIpc8ianyNW+PsDINQavbTZs2rZ2k6q/6wTkY=";
}; };
vendorSha256 = null; vendorSha256 = null;

View File

@ -2,7 +2,7 @@
buildGoPackage rec { buildGoPackage rec {
pname = "amazon-ecs-agent"; pname = "amazon-ecs-agent";
version = "1.63.1"; version = "1.64.0";
goPackagePath = "github.com/aws/${pname}"; goPackagePath = "github.com/aws/${pname}";
subPackages = [ "agent" ]; subPackages = [ "agent" ];
@ -11,7 +11,7 @@ buildGoPackage rec {
rev = "v${version}"; rev = "v${version}";
owner = "aws"; owner = "aws";
repo = pname; repo = pname;
sha256 = "sha256-wnDwLpCDeIC2D2X/pzC6ZsudJz58xLo1PQB+K6WNxBE="; sha256 = "sha256-n7iq9CcTjbFc5on5DPVjjS7FY4Bnf/KDdOoHHzDkL30=";
}; };
meta = with lib; { meta = with lib; {

View File

@ -2,7 +2,6 @@
, stdenv , stdenv
, pkg-config , pkg-config
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, buildGoModule , buildGoModule
, btrfs-progs , btrfs-progs
, gpgme , gpgme
@ -13,23 +12,15 @@
}: }:
buildGoModule rec { buildGoModule rec {
pname = "podman-tui"; pname = "podman-tui";
version = "0.5.0"; version = "0.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containers"; owner = "containers";
repo = "podman-tui"; repo = "podman-tui";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-XLC1DqOME9xMF4z+cOPe5H60JnxU9gGaSOQQIofdtj8="; sha256 = "sha256-9ZFyrRf4yMik4+TQYN+75fWuKHuI8hkaKJ6o5qWYb7E=";
}; };
patches = [
# Fix flaky tests. See https://github.com/containers/podman-tui/pull/129.
(fetchpatch {
url = "https://github.com/containers/podman-tui/commit/7fff27e95a3891163da79d86bbc796f29b523f80.patch";
sha256 = "sha256-mETDXoMLq7vb8Qhpz/CmNG1LmY2DTaogI10Qav/qN9Q=";
})
];
vendorSha256 = null; vendorSha256 = null;
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
@ -39,9 +30,16 @@ buildGoModule rec {
ldflags = [ "-s" "-w" ]; ldflags = [ "-s" "-w" ];
preCheck = '' preCheck =
export HOME=/home/$(whoami) let skippedTests = [
''; "TestNetdialogs"
]; in
''
export HOME=/home/$(whoami)
# Disable flaky tests
buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
'';
passthru.tests.version = testers.testVersion { passthru.tests.version = testers.testVersion {
package = podman-tui; package = podman-tui;

View File

@ -39,13 +39,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "icewm"; pname = "icewm";
version = "2.9.9"; version = "3.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ice-wm"; owner = "ice-wm";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-55xi4GsP41FXJ/B/zEnjru72FhZQhXnpEdHcN0WF9Kk="; hash = "sha256-0mnhH/7Y4VXpNUU++ln2//9/vuTxq9sa2D933Cf7Ifw=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -57,6 +57,10 @@ in
# first element of `urls'). # first element of `urls').
name ? "" name ? ""
# for versioned downloads optionally take pname + version.
, pname ? ""
, version ? ""
, # SRI hash. , # SRI hash.
hash ? "" hash ? ""
@ -130,12 +134,16 @@ let
else throw "fetchurl requires a hash for fixed-output derivation: ${lib.concatStringsSep ", " urls_}"; else throw "fetchurl requires a hash for fixed-output derivation: ${lib.concatStringsSep ", " urls_}";
in in
stdenvNoCC.mkDerivation { stdenvNoCC.mkDerivation ((
name = if (pname != "" && version != "") then
if showURLs then "urls" { inherit pname version; }
else if name != "" then name else
else baseNameOf (toString (builtins.head urls_)); { name =
if showURLs then "urls"
else if name != "" then name
else baseNameOf (toString (builtins.head urls_));
}
) // {
builder = ./builder.sh; builder = ./builder.sh;
nativeBuildInputs = [ curl ] ++ nativeBuildInputs; nativeBuildInputs = [ curl ] ++ nativeBuildInputs;
@ -177,4 +185,4 @@ stdenvNoCC.mkDerivation {
inherit meta; inherit meta;
passthru = { inherit url; } // passthru; passthru = { inherit url; } // passthru;
} })

View File

@ -14,6 +14,8 @@
, extraPostFetch ? "" , extraPostFetch ? ""
, postFetch ? "" , postFetch ? ""
, name ? "source" , name ? "source"
, pname ? ""
, version ? ""
, nativeBuildInputs ? [ ] , nativeBuildInputs ? [ ]
, # Allows to set the extension for the intermediate downloaded , # Allows to set the extension for the intermediate downloaded
# file. This can be used as a hint for the unpackCmdHooks to select # file. This can be used as a hint for the unpackCmdHooks to select
@ -23,14 +25,23 @@
lib.warnIf (extraPostFetch != "") "use 'postFetch' instead of 'extraPostFetch' with 'fetchzip' and 'fetchFromGitHub'." lib.warnIf (extraPostFetch != "") "use 'postFetch' instead of 'extraPostFetch' with 'fetchzip' and 'fetchFromGitHub'."
(fetchurl (let
(let
tmpFilename = tmpFilename =
if extension != null if extension != null
then "download.${extension}" then "download.${extension}"
else baseNameOf (if url != "" then url else builtins.head urls); else baseNameOf (if url != "" then url else builtins.head urls);
in { in
inherit name;
fetchurl ((
if (pname != "" && version != "") then
{
name = "${name}-${version}";
inherit pname version;
}
else
{ inherit name; }
) // {
recursiveHash = true; recursiveHash = true;
downloadToTemp = true; downloadToTemp = true;

View File

@ -38,4 +38,9 @@ rec {
if platform ? rustc.platform if platform ? rustc.platform
then builtins.toFile (toRustTarget platform + ".json") (builtins.toJSON platform.rustc.platform) then builtins.toFile (toRustTarget platform + ".json") (builtins.toJSON platform.rustc.platform)
else toRustTarget platform; else toRustTarget platform;
# Returns true if the target is no_std
# https://github.com/rust-lang/rust/blob/2e44c17c12cec45b6a682b1e53a04ac5b5fcc9d2/src/bootstrap/config.rs#L415-L421
IsNoStdTarget = platform: let rustTarget = toRustTarget platform; in
builtins.any (t: lib.hasInfix t rustTarget) ["-none" "nvptx" "switch" "-uefi"];
} }

View File

@ -1,21 +1,19 @@
{ lib, stdenv, fetchzip }: { lib, fetchzip }:
stdenv.mkDerivation { fetchzip rec {
pname = "cooper-hewitt"; pname = "cooper-hewitt";
version = "unstable-2014-06-09"; version = "unstable-2014-06-09";
src = fetchzip { url = "https://web.archive.org/web/20221004145117/https://www.cooperhewitt.org/wp-content/uploads/fonts/CooperHewitt-OTF-public.zip";
url = "https://www.cooperhewitt.org/wp-content/uploads/fonts/CooperHewitt-OTF-public.zip";
hash = "sha256-bTlEXQeYNNspvnNdvQhJn6CNBrcSKYWuNWF/N6+3Vb0=";
};
dontConfigure = true; postFetch = ''
dontBuild = true; mkdir -p $out/share/fonts/opentype
mv $out/*.otf $out/share/fonts/opentype
installPhase = '' find $out -maxdepth 1 ! -type d -exec rm {} +
install -D -m 644 -t "$out/share/fonts/opentype" *.otf
''; '';
sha256 = "01iwqmjvqkc6fmc2r0486vk06s6f51n9wxzl1pf9z48n0igj4gqd";
meta = with lib; { meta = with lib; {
homepage = "https://www.cooperhewitt.org/open-source-at-cooper-hewitt/cooper-hewitt-the-typeface-by-chester-jenkins/"; homepage = "https://www.cooperhewitt.org/open-source-at-cooper-hewitt/cooper-hewitt-the-typeface-by-chester-jenkins/";
description = "A contemporary sans serif, with characters composed of modified-geometric curves and arches"; description = "A contemporary sans serif, with characters composed of modified-geometric curves and arches";

View File

@ -1,16 +1,18 @@
{ lib, fetchzip }: { lib, fetchzip }:
fetchzip rec { fetchzip rec {
name = "freefont-ttf-20120503"; pname = "freefont-ttf";
version = "20120503";
url = "mirror://gnu/freefont/${name}.zip"; url = "mirror://gnu/freefont/freefont-ttf-${version}.zip";
postFetch = '' postFetch = ''
mkdir -p $out/share/fonts mkdir -p $out/share/fonts/truetype
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype mv $out/*.ttf $out/share/fonts/truetype
find $out -maxdepth 1 ! -type d -exec rm {} +
''; '';
sha256 = "0h0x2hhr7kvjiycf7fv800xxwa6hcpiz54bqx06wsqc7z61iklvd"; sha256 = "sha256-bdMZg/mHYc0N6HiR8uNl0CjeOwBou+OYj3LPkyEUHUA=";
meta = { meta = {
description = "GNU Free UCS Outline Fonts"; description = "GNU Free UCS Outline Fonts";

View File

@ -1,20 +1,18 @@
{ lib, stdenv, fetchzip }: { lib, fetchzip }:
stdenv.mkDerivation rec { fetchzip rec {
pname = "ubuntu-font-family"; pname = "ubuntu-font-family";
version = "0.83"; version = "0.83";
src = fetchzip { url = "https://assets.ubuntu.com/v1/fad7939b-ubuntu-font-family-${version}.zip";
url = "https://assets.ubuntu.com/v1/fad7939b-${pname}-${version}.zip";
hash = "sha256-FAg1xn8Gcbwmuvqtg9SquSet4oTT9nqE+Izeq7ZMVcA=";
};
installPhase = '' postFetch = ''
install -D -m 644 -t "$out/share/fonts/truetype" *.ttf mkdir -p $out/share/fonts/ubuntu
mv $out/*.ttf $out/share/fonts/ubuntu
find $out -maxdepth 1 ! -type d -exec rm {} +
''; '';
outputHashMode = "recursive"; sha256 = "090y665h4kf2bi623532l6wiwkwnpd0xds0jr7560xwfwys1hiqh";
outputHash = "sha256-EEcYtOeOd2DKyRLo1kG7lk8euaFilCFMXMJNAosxHiQ=";
meta = with lib; { meta = with lib; {
description = "Ubuntu Font Family"; description = "Ubuntu Font Family";
@ -25,6 +23,6 @@ stdenv.mkDerivation rec {
homepage = "http://font.ubuntu.com/"; homepage = "http://font.ubuntu.com/";
license = licenses.free; license = licenses.free;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ antono ]; maintainers = [ maintainers.antono ];
}; };
} }

View File

@ -2,13 +2,13 @@
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
pname = "numix-icon-theme-circle"; pname = "numix-icon-theme-circle";
version = "22.09.24"; version = "22.10.05";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "numixproject"; owner = "numixproject";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-HHJkhQ8icKaPslGIh0gGKHXeTZKWpWcdwkdvQocW9jU="; sha256 = "sha256-fQSAyVf3IwsTTUxzvYRvu5uUEyaPPdbuK2tQ3o16zDA=";
}; };
nativeBuildInputs = [ gtk3 ]; nativeBuildInputs = [ gtk3 ];

View File

@ -2,13 +2,13 @@
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
pname = "numix-icon-theme-square"; pname = "numix-icon-theme-square";
version = "22.09.24"; version = "22.10.05";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "numixproject"; owner = "numixproject";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-LoEG/wTx2EYhuln7TYgcJrd4YkrX2ZJrl8ztVJ0xSyk="; sha256 = "sha256-uOS6oWcB+2A26u9NTT+xhLHWqaKy5WMSR6WddKS6gEw=";
}; };
nativeBuildInputs = [ gtk3 ]; nativeBuildInputs = [ gtk3 ];

View File

@ -153,6 +153,10 @@ stdenv.mkDerivation rec {
sed "s|\"upload-system-info\"|\"${xapp}/bin/upload-system-info\"|g" -i ./files/usr/share/cinnamon/cinnamon-settings/modules/cs_info.py sed "s|\"upload-system-info\"|\"${xapp}/bin/upload-system-info\"|g" -i ./files/usr/share/cinnamon/cinnamon-settings/modules/cs_info.py
sed "s|/usr/bin/cinnamon-control-center|${cinnamon-control-center}/bin/cinnamon-control-center|g" -i ./files/usr/bin/cinnamon-settings sed "s|/usr/bin/cinnamon-control-center|${cinnamon-control-center}/bin/cinnamon-control-center|g" -i ./files/usr/bin/cinnamon-settings
sed "s|/usr/bin/cinnamon-screensaver-command|/run/current-system/sw/bin/cinnamon-screensaver-command|g" \
-i ./files/usr/share/cinnamon/applets/menu@cinnamon.org/applet.js -i ./files/usr/share/cinnamon/applets/user@cinnamon.org/applet.js
# this one really IS optional # this one really IS optional
sed "s|/usr/bin/gnome-control-center|/run/current-system/sw/bin/gnome-control-center|g" -i ./files/usr/bin/cinnamon-settings sed "s|/usr/bin/gnome-control-center|/run/current-system/sw/bin/gnome-control-center|g" -i ./files/usr/bin/cinnamon-settings

View File

@ -13,13 +13,13 @@
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
pname = "elementary-icon-theme"; pname = "elementary-icon-theme";
version = "7.0.0"; version = "7.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "elementary"; owner = "elementary";
repo = "icons"; repo = "icons";
rev = version; rev = version;
sha256 = "sha256-tyhKhZPoZ8xVy1KVUWd8BK2meTT3Z6qM787spjE+NL8="; sha256 = "sha256-SMeVu4RbXodbxtVkQE2tvv6LaVWzrq7UBlwmi30ns2Q=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -137,6 +137,8 @@ lib.makeScope pkgs.newScope (self: with self; {
xfce4-systemload-plugin = callPackage ./panel-plugins/xfce4-systemload-plugin { }; xfce4-systemload-plugin = callPackage ./panel-plugins/xfce4-systemload-plugin { };
xfce4-time-out-plugin = callPackage ./panel-plugins/xfce4-time-out-plugin { };
xfce4-timer-plugin = callPackage ./panel-plugins/xfce4-timer-plugin { }; xfce4-timer-plugin = callPackage ./panel-plugins/xfce4-timer-plugin { };
xfce4-verve-plugin = callPackage ./panel-plugins/xfce4-verve-plugin { }; xfce4-verve-plugin = callPackage ./panel-plugins/xfce4-verve-plugin { };

View File

@ -0,0 +1,20 @@
{ lib, mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-time-out-plugin";
version = "1.1.2";
rev-prefix = "xfce4-time-out-plugin-";
odd-unstable = false;
sha256 = "sha256-xfkQjlUfvm0YXs3bRJD4W/71VkaPq3Y+cDFVNiL/bjc=";
buildInputs = [
gtk3 libxfce4ui libxfce4util xfce4-panel xfconf
];
meta = with lib; {
description = "Panel plug-in to take periodical breaks from the computer";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View File

@ -4,34 +4,40 @@ let
getPatches = dir: getPatches = dir:
let files = builtins.attrNames (builtins.readDir dir); let files = builtins.attrNames (builtins.readDir dir);
in map (f: dir + ("/" + f)) files; in map (f: dir + ("/" + f)) files;
version = "3.0.4"; flutterDrv = { version, pname, dartVersion, hash, dartHash, patches }: mkFlutter {
channel = "stable"; inherit version pname patches;
filename = "flutter_linux_${version}-${channel}.tar.xz"; dart = dart.override {
version = dartVersion;
# Decouples flutter derivation from dart derivation, sources = {
# use specific dart version to not need to bump dart derivation when bumping flutter. "${dartVersion}-x86_64-linux" = fetchurl {
dartVersion = "2.17.5"; url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip";
dartSourceBase = "https://storage.googleapis.com/dart-archive/channels"; sha256 = dartHash;
dartForFlutter = dart.override { };
version = dartVersion;
sources = {
"${dartVersion}-x86_64-linux" = fetchurl {
url = "${dartSourceBase}/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip";
sha256 = "sha256-AFJGeiPsjUZSO+DykmOIFETg2jIohg62tp3ghZrKJFk=";
}; };
}; };
src = fetchurl {
url = "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${version}-stable.tar.xz";
sha256 = hash;
};
}; };
in in
{ {
inherit mkFlutter; inherit mkFlutter;
stable = mkFlutter rec { stable = flutterDrv {
inherit version;
dart = dartForFlutter;
pname = "flutter"; pname = "flutter";
src = fetchurl { version = "3.3.3";
url = "https://storage.googleapis.com/flutter_infra_release/releases/${channel}/linux/${filename}"; dartVersion = "2.18.2";
sha256 = "sha256-vh3QjLGFBN321DUET9XhYqSkILjEj+ZqAALu/mxY+go="; hash = "sha256-MTZeWQUp4/TcPzYIT6eqIKSPUPvn2Mp/thOQzNgpTXg=";
}; dartHash = "sha256-C3+YjecXLvSmJrLwi9H7TgD9Np0AArRWx3EdBrfQpTU";
patches = getPatches ./patches; patches = getPatches ./patches/flutter3;
};
v2 = flutterDrv {
pname = "flutter";
version = "2.10.5";
dartVersion = "2.16.2";
hash = "sha256-DTZwxlMUYk8NS1SaWUJolXjD+JnRW73Ps5CdRHDGnt0=";
dartHash = "sha256-egrYd7B4XhkBiHPIFE2zopxKtQ58GqlogAKA/UeiXnI=";
patches = getPatches ./patches/flutter2;
}; };
} }

View File

@ -65,7 +65,7 @@ let
popd popd
local revision="$(cd "$FLUTTER_ROOT"; git rev-parse HEAD)" local revision="$(cd "$FLUTTER_ROOT"; git rev-parse HEAD)"
${dart}/bin/dart --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH" ${dart}/bin/dart --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.dart_tool/package_config.json" "$SCRIPT_PATH"
echo "$revision" > "$STAMP_PATH" echo "$revision" > "$STAMP_PATH"
echo -n "${version}" > version echo -n "${version}" > version

View File

@ -0,0 +1,80 @@
diff --git a/dev/bots/prepare_package.dart b/dev/bots/prepare_package.dart
index 468a91a954..5def6897ce 100644
--- a/dev/bots/prepare_package.dart
+++ b/dev/bots/prepare_package.dart
@@ -525,7 +525,7 @@ class ArchiveCreator {
Future<String> _runGit(List<String> args, {Directory? workingDirectory}) {
return _processRunner.runProcess(
- <String>['git', ...args],
+ <String>['git', '--git-dir', '.git', ...args],
workingDirectory: workingDirectory ?? flutterRoot,
);
}
diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart
index f2068a6ca2..99b161689e 100644
--- a/packages/flutter_tools/lib/src/version.dart
+++ b/packages/flutter_tools/lib/src/version.dart
@@ -106,7 +106,7 @@ class FlutterVersion {
String? channel = _channel;
if (channel == null) {
final String gitChannel = _runGit(
- 'git rev-parse --abbrev-ref --symbolic @{u}',
+ 'git --git-dir .git rev-parse --abbrev-ref --symbolic @{u}',
globals.processUtils,
_workingDirectory,
);
@@ -114,7 +114,7 @@ class FlutterVersion {
if (slash != -1) {
final String remote = gitChannel.substring(0, slash);
_repositoryUrl = _runGit(
- 'git ls-remote --get-url $remote',
+ 'git --git-dir .git ls-remote --get-url $remote',
globals.processUtils,
_workingDirectory,
);
@@ -326,7 +326,7 @@ class FlutterVersion {
/// the branch name will be returned as `'[user-branch]'`.
String getBranchName({ bool redactUnknownBranches = false }) {
_branch ??= () {
- final String branch = _runGit('git rev-parse --abbrev-ref HEAD', globals.processUtils);
+ final String branch = _runGit('git --git-dir .git rev-parse --abbrev-ref HEAD', globals.processUtils);
return branch == 'HEAD' ? channel : branch;
}();
if (redactUnknownBranches || _branch!.isEmpty) {
@@ -359,7 +359,7 @@ class FlutterVersion {
/// wrapper that does that.
@visibleForTesting
static List<String> gitLog(List<String> args) {
- return <String>['git', '-c', 'log.showSignature=false', 'log'] + args;
+ return <String>['git', '-c', 'log.showSignature=false', '--git-dir', '.git', 'log'] + args;
}
/// Gets the release date of the latest available Flutter version.
@@ -730,7 +730,7 @@ class GitTagVersion {
static GitTagVersion determine(ProcessUtils processUtils, {String? workingDirectory, bool fetchTags = false, String gitRef = 'HEAD'}) {
if (fetchTags) {
- final String channel = _runGit('git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory);
+ final String channel = _runGit('git --git-dir .git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory);
if (channel == 'dev' || channel == 'beta' || channel == 'stable') {
globals.printTrace('Skipping request to fetchTags - on well known channel $channel.');
} else {
@@ -739,7 +739,7 @@ class GitTagVersion {
}
// find all tags attached to the given [gitRef]
final List<String> tags = _runGit(
- 'git tag --points-at $gitRef', processUtils, workingDirectory).trim().split('\n');
+ 'git --git-dir .git tag --points-at $gitRef', processUtils, workingDirectory).trim().split('\n');
// Check first for a stable tag
final RegExp stableTagPattern = RegExp(r'^\d+\.\d+\.\d+$');
@@ -760,7 +760,7 @@ class GitTagVersion {
// recent tag and number of commits past.
return parse(
_runGit(
- 'git describe --match *.*.* --long --tags $gitRef',
+ 'git --git-dir .git describe --match *.*.* --long --tags $gitRef',
processUtils,
workingDirectory,
)

View File

@ -0,0 +1,72 @@
diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart
index ed42baea29..12941f733a 100644
--- a/packages/flutter_tools/lib/src/asset.dart
+++ b/packages/flutter_tools/lib/src/asset.dart
@@ -11,11 +11,11 @@ import 'base/file_system.dart';
import 'base/logger.dart';
import 'base/platform.dart';
import 'build_info.dart';
-import 'cache.dart';
import 'convert.dart';
import 'dart/package_map.dart';
import 'devfs.dart';
import 'flutter_manifest.dart';
+import 'globals.dart' as globals;
import 'license_collector.dart';
import 'project.dart';
@@ -504,7 +504,7 @@ class ManifestAssetBundle implements AssetBundle {
}
final Uri entryUri = _fileSystem.path.toUri(asset);
result.add(_Asset(
- baseDir: _fileSystem.path.join(Cache.flutterRoot!, 'bin', 'cache', 'artifacts', 'material_fonts'),
+ baseDir: _fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter', 'artifacts', 'material_fonts'),
relativeUri: Uri(path: entryUri.pathSegments.last),
entryUri: entryUri,
package: null,
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
index defc86cc20..7fdf14d112 100644
--- a/packages/flutter_tools/lib/src/cache.dart
+++ b/packages/flutter_tools/lib/src/cache.dart
@@ -22,6 +22,7 @@ import 'base/user_messages.dart';
import 'build_info.dart';
import 'convert.dart';
import 'features.dart';
+import 'globals.dart' as globals;
const String kFlutterRootEnvironmentVariableName = 'FLUTTER_ROOT'; // should point to //flutter/ (root of flutter/flutter repo)
const String kFlutterEngineEnvironmentVariableName = 'FLUTTER_ENGINE'; // should point to //engine/src/ (root of flutter/engine repo)
@@ -322,8 +323,13 @@ class Cache {
return;
}
assert(_lock == null);
+ final Directory dir = _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter'));
+ if (!dir.existsSync()) {
+ dir.createSync(recursive: true);
+ globals.os.chmod(dir, '755');
+ }
final File lockFile =
- _fileSystem.file(_fileSystem.path.join(flutterRoot!, 'bin', 'cache', 'lockfile'));
+ _fileSystem.file(_fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter', 'lockfile'));
try {
_lock = lockFile.openSync(mode: FileMode.write);
} on FileSystemException catch (e) {
@@ -382,8 +388,7 @@ class Cache {
String get devToolsVersion {
if (_devToolsVersion == null) {
- const String devToolsDirPath = 'dart-sdk/bin/resources/devtools';
- final Directory devToolsDir = getCacheDir(devToolsDirPath, shouldCreate: false);
+ final Directory devToolsDir = _fileSystem.directory(_fileSystem.path.join(flutterRoot!, 'bin/cache/dart-sdk/bin/resources/devtools'));
if (!devToolsDir.existsSync()) {
throw Exception('Could not find directory at ${devToolsDir.path}');
}
@@ -536,7 +541,7 @@ class Cache {
if (_rootOverride != null) {
return _fileSystem.directory(_fileSystem.path.join(_rootOverride!.path, 'bin', 'cache'));
} else {
- return _fileSystem.directory(_fileSystem.path.join(flutterRoot!, 'bin', 'cache'));
+ return _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter'));
}
}

View File

@ -0,0 +1,36 @@
diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh
index ab746724e9..1087983c87 100644
--- a/bin/internal/shared.sh
+++ b/bin/internal/shared.sh
@@ -215,8 +215,6 @@ function shared::execute() {
exit 1
fi
- upgrade_flutter 7< "$PROG_NAME"
-
BIN_NAME="$(basename "$PROG_NAME")"
case "$BIN_NAME" in
flutter*)
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
index 738fef987d..03a152e64f 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
@@ -241,7 +241,6 @@ class FlutterCommandRunner extends CommandRunner<void> {
globals.flutterUsage.suppressAnalytics = true;
}
- globals.flutterVersion.ensureVersionFile();
final bool machineFlag = topLevelResults['machine'] as bool? ?? false;
final bool ci = await globals.botDetector.isRunningOnBot;
final bool redirectedCompletion = !globals.stdio.hasTerminal &&
@@ -250,10 +249,6 @@ class FlutterCommandRunner extends CommandRunner<void> {
final bool versionCheckFlag = topLevelResults['version-check'] as bool? ?? false;
final bool explicitVersionCheckPassed = topLevelResults.wasParsed('version-check') && versionCheckFlag;
- if (topLevelResults.command?.name != 'upgrade' &&
- (explicitVersionCheckPassed || (versionCheckFlag && !isMachine))) {
- await globals.flutterVersion.checkFlutterVersionFreshness();
- }
// See if the user specified a specific device.
globals.deviceManager?.specifiedDeviceId = topLevelResults['device-id'] as String?;

View File

@ -1,8 +1,8 @@
diff --git a/dev/bots/prepare_package.dart b/dev/bots/prepare_package.dart diff --git a/dev/bots/prepare_package.dart b/dev/bots/prepare_package.dart
index 468a91a954..5def6897ce 100644 index 8e4cb81340..2c20940423 100644
--- a/dev/bots/prepare_package.dart --- a/dev/bots/prepare_package.dart
+++ b/dev/bots/prepare_package.dart +++ b/dev/bots/prepare_package.dart
@@ -525,7 +525,7 @@ class ArchiveCreator { @@ -526,7 +526,7 @@ class ArchiveCreator {
Future<String> _runGit(List<String> args, {Directory? workingDirectory}) { Future<String> _runGit(List<String> args, {Directory? workingDirectory}) {
return _processRunner.runProcess( return _processRunner.runProcess(
@ -12,7 +12,7 @@ index 468a91a954..5def6897ce 100644
); );
} }
diff --git a/packages/flutter_tools/lib/src/commands/downgrade.dart b/packages/flutter_tools/lib/src/commands/downgrade.dart diff --git a/packages/flutter_tools/lib/src/commands/downgrade.dart b/packages/flutter_tools/lib/src/commands/downgrade.dart
index bb0eb428a9..4a2a48bb5e 100644 index 666c190067..b6c3761f6f 100644
--- a/packages/flutter_tools/lib/src/commands/downgrade.dart --- a/packages/flutter_tools/lib/src/commands/downgrade.dart
+++ b/packages/flutter_tools/lib/src/commands/downgrade.dart +++ b/packages/flutter_tools/lib/src/commands/downgrade.dart
@@ -118,7 +118,7 @@ class DowngradeCommand extends FlutterCommand { @@ -118,7 +118,7 @@ class DowngradeCommand extends FlutterCommand {
@ -34,19 +34,19 @@ index bb0eb428a9..4a2a48bb5e 100644
if (parseResult.exitCode == 0) { if (parseResult.exitCode == 0) {
buffer.writeln('Channel "${getNameForChannel(channel)}" was previously on: ${parseResult.stdout}.'); buffer.writeln('Channel "${getNameForChannel(channel)}" was previously on: ${parseResult.stdout}.');
diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart
index f2068a6ca2..99b161689e 100644 index dc47f17057..8068e2d1f5 100644
--- a/packages/flutter_tools/lib/src/version.dart --- a/packages/flutter_tools/lib/src/version.dart
+++ b/packages/flutter_tools/lib/src/version.dart +++ b/packages/flutter_tools/lib/src/version.dart
@@ -106,7 +106,7 @@ class FlutterVersion { @@ -111,7 +111,7 @@ class FlutterVersion {
String? channel = _channel; String? channel = _channel;
if (channel == null) { if (channel == null) {
final String gitChannel = _runGit( final String gitChannel = _runGit(
- 'git rev-parse --abbrev-ref --symbolic @{u}', - 'git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream',
+ 'git --git-dir .git rev-parse --abbrev-ref --symbolic @{u}', + 'git --git-dir .git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream',
globals.processUtils, globals.processUtils,
_workingDirectory, _workingDirectory,
); );
@@ -114,7 +114,7 @@ class FlutterVersion { @@ -119,7 +119,7 @@ class FlutterVersion {
if (slash != -1) { if (slash != -1) {
final String remote = gitChannel.substring(0, slash); final String remote = gitChannel.substring(0, slash);
_repositoryUrl = _runGit( _repositoryUrl = _runGit(
@ -55,7 +55,7 @@ index f2068a6ca2..99b161689e 100644
globals.processUtils, globals.processUtils,
_workingDirectory, _workingDirectory,
); );
@@ -326,7 +326,7 @@ class FlutterVersion { @@ -298,7 +298,7 @@ class FlutterVersion {
/// the branch name will be returned as `'[user-branch]'`. /// the branch name will be returned as `'[user-branch]'`.
String getBranchName({ bool redactUnknownBranches = false }) { String getBranchName({ bool redactUnknownBranches = false }) {
_branch ??= () { _branch ??= () {
@ -64,7 +64,7 @@ index f2068a6ca2..99b161689e 100644
return branch == 'HEAD' ? channel : branch; return branch == 'HEAD' ? channel : branch;
}(); }();
if (redactUnknownBranches || _branch!.isEmpty) { if (redactUnknownBranches || _branch!.isEmpty) {
@@ -359,7 +359,7 @@ class FlutterVersion { @@ -331,7 +331,7 @@ class FlutterVersion {
/// wrapper that does that. /// wrapper that does that.
@visibleForTesting @visibleForTesting
static List<String> gitLog(List<String> args) { static List<String> gitLog(List<String> args) {
@ -73,16 +73,16 @@ index f2068a6ca2..99b161689e 100644
} }
/// Gets the release date of the latest available Flutter version. /// Gets the release date of the latest available Flutter version.
@@ -730,7 +730,7 @@ class GitTagVersion { @@ -708,7 +708,7 @@ class GitTagVersion {
String gitRef = 'HEAD'
static GitTagVersion determine(ProcessUtils processUtils, {String? workingDirectory, bool fetchTags = false, String gitRef = 'HEAD'}) { }) {
if (fetchTags) { if (fetchTags) {
- final String channel = _runGit('git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory); - final String channel = _runGit('git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory);
+ final String channel = _runGit('git --git-dir .git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory); + final String channel = _runGit('git --git-dir .git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory);
if (channel == 'dev' || channel == 'beta' || channel == 'stable') { if (channel == 'dev' || channel == 'beta' || channel == 'stable') {
globals.printTrace('Skipping request to fetchTags - on well known channel $channel.'); globals.printTrace('Skipping request to fetchTags - on well known channel $channel.');
} else { } else {
@@ -739,7 +739,7 @@ class GitTagVersion { @@ -718,7 +718,7 @@ class GitTagVersion {
} }
// find all tags attached to the given [gitRef] // find all tags attached to the given [gitRef]
final List<String> tags = _runGit( final List<String> tags = _runGit(
@ -91,7 +91,7 @@ index f2068a6ca2..99b161689e 100644
// Check first for a stable tag // Check first for a stable tag
final RegExp stableTagPattern = RegExp(r'^\d+\.\d+\.\d+$'); final RegExp stableTagPattern = RegExp(r'^\d+\.\d+\.\d+$');
@@ -760,7 +760,7 @@ class GitTagVersion { @@ -739,7 +739,7 @@ class GitTagVersion {
// recent tag and number of commits past. // recent tag and number of commits past.
return parse( return parse(
_runGit( _runGit(

View File

@ -1,13 +1,9 @@
diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart
diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart
index ed42baea29..12941f733a 100644 index 9dd7272fbe..642c8e48e4 100644
--- a/packages/flutter_tools/lib/src/asset.dart --- a/packages/flutter_tools/lib/src/asset.dart
+++ b/packages/flutter_tools/lib/src/asset.dart +++ b/packages/flutter_tools/lib/src/asset.dart
@@ -11,11 +11,11 @@ import 'base/file_system.dart'; @@ -16,6 +16,7 @@ import 'convert.dart';
import 'base/logger.dart';
import 'base/platform.dart';
import 'build_info.dart';
-import 'cache.dart';
import 'convert.dart';
import 'dart/package_map.dart'; import 'dart/package_map.dart';
import 'devfs.dart'; import 'devfs.dart';
import 'flutter_manifest.dart'; import 'flutter_manifest.dart';
@ -15,17 +11,18 @@ index ed42baea29..12941f733a 100644
import 'license_collector.dart'; import 'license_collector.dart';
import 'project.dart'; import 'project.dart';
@@ -504,7 +504,7 @@ class ManifestAssetBundle implements AssetBundle { @@ -530,8 +531,7 @@ class ManifestAssetBundle implements AssetBundle {
}
final Uri entryUri = _fileSystem.path.toUri(asset); final Uri entryUri = _fileSystem.path.toUri(asset);
result.add(_Asset( result.add(_Asset(
- baseDir: _fileSystem.path.join(Cache.flutterRoot!, 'bin', 'cache', 'artifacts', 'material_fonts'), baseDir: _fileSystem.path.join(
+ baseDir: _fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter', 'artifacts', 'material_fonts'), - Cache.flutterRoot!,
- 'bin', 'cache', 'artifacts', 'material_fonts',
+ globals.fsUtils.homeDirPath!, '.cache', 'flutter', 'artifacts', 'material_fonts',
),
relativeUri: Uri(path: entryUri.pathSegments.last), relativeUri: Uri(path: entryUri.pathSegments.last),
entryUri: entryUri, entryUri: entryUri,
package: null,
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
index defc86cc20..7fdf14d112 100644 index dd80b1e46e..8e54517765 100644
--- a/packages/flutter_tools/lib/src/cache.dart --- a/packages/flutter_tools/lib/src/cache.dart
+++ b/packages/flutter_tools/lib/src/cache.dart +++ b/packages/flutter_tools/lib/src/cache.dart
@@ -22,6 +22,7 @@ import 'base/user_messages.dart'; @@ -22,6 +22,7 @@ import 'base/user_messages.dart';
@ -36,7 +33,7 @@ index defc86cc20..7fdf14d112 100644
const String kFlutterRootEnvironmentVariableName = 'FLUTTER_ROOT'; // should point to //flutter/ (root of flutter/flutter repo) const String kFlutterRootEnvironmentVariableName = 'FLUTTER_ROOT'; // should point to //flutter/ (root of flutter/flutter repo)
const String kFlutterEngineEnvironmentVariableName = 'FLUTTER_ENGINE'; // should point to //engine/src/ (root of flutter/engine repo) const String kFlutterEngineEnvironmentVariableName = 'FLUTTER_ENGINE'; // should point to //engine/src/ (root of flutter/engine repo)
@@ -322,8 +323,13 @@ class Cache { @@ -318,8 +319,13 @@ class Cache {
return; return;
} }
assert(_lock == null); assert(_lock == null);
@ -51,7 +48,7 @@ index defc86cc20..7fdf14d112 100644
try { try {
_lock = lockFile.openSync(mode: FileMode.write); _lock = lockFile.openSync(mode: FileMode.write);
} on FileSystemException catch (e) { } on FileSystemException catch (e) {
@@ -382,8 +388,7 @@ class Cache { @@ -378,8 +384,7 @@ class Cache {
String get devToolsVersion { String get devToolsVersion {
if (_devToolsVersion == null) { if (_devToolsVersion == null) {
@ -61,7 +58,7 @@ index defc86cc20..7fdf14d112 100644
if (!devToolsDir.existsSync()) { if (!devToolsDir.existsSync()) {
throw Exception('Could not find directory at ${devToolsDir.path}'); throw Exception('Could not find directory at ${devToolsDir.path}');
} }
@@ -536,7 +541,7 @@ class Cache { @@ -532,7 +537,7 @@ class Cache {
if (_rootOverride != null) { if (_rootOverride != null) {
return _fileSystem.directory(_fileSystem.path.join(_rootOverride!.path, 'bin', 'cache')); return _fileSystem.directory(_fileSystem.path.join(_rootOverride!.path, 'bin', 'cache'));
} else { } else {
@ -70,8 +67,7 @@ index defc86cc20..7fdf14d112 100644
} }
} }
diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart index c539d67156..4e0a64f7a9 100644
index 2aac9686e8..32c4b98b88 100644
--- a/packages/flutter_tools/lib/src/artifacts.dart --- a/packages/flutter_tools/lib/src/artifacts.dart
+++ b/packages/flutter_tools/lib/src/artifacts.dart +++ b/packages/flutter_tools/lib/src/artifacts.dart
@@ -346,10 +346,10 @@ class CachedArtifacts implements Artifacts { @@ -346,10 +346,10 @@ class CachedArtifacts implements Artifacts {
@ -82,8 +78,8 @@ index 2aac9686e8..32c4b98b88 100644
+ final String path = _dartSdkPath(_fileSystem); + final String path = _dartSdkPath(_fileSystem);
return _fileSystem.directory(path); return _fileSystem.directory(path);
case HostArtifact.engineDartBinary: case HostArtifact.engineDartBinary:
- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', _hostArtifactToFileName(artifact, _platform.isWindows)); - final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', _hostArtifactToFileName(artifact, _platform));
+ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', _hostArtifactToFileName(artifact, _platform.isWindows)); + final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', _hostArtifactToFileName(artifact, _platform));
return _fileSystem.file(path); return _fileSystem.file(path);
case HostArtifact.flutterWebSdk: case HostArtifact.flutterWebSdk:
final String path = _getFlutterWebSdkPath(); final String path = _getFlutterWebSdkPath();
@ -91,12 +87,12 @@ index 2aac9686e8..32c4b98b88 100644
case HostArtifact.dart2jsSnapshot: case HostArtifact.dart2jsSnapshot:
case HostArtifact.dartdevcSnapshot: case HostArtifact.dartdevcSnapshot:
case HostArtifact.kernelWorkerSnapshot: case HostArtifact.kernelWorkerSnapshot:
- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); - final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform));
+ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); + final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform));
return _fileSystem.file(path); return _fileSystem.file(path);
case HostArtifact.iosDeploy: case HostArtifact.iosDeploy:
final String artifactFileName = _hostArtifactToFileName(artifact, _platform.isWindows); final String artifactFileName = _hostArtifactToFileName(artifact, _platform);
@@ -461,11 +461,13 @@ class CachedArtifacts implements Artifacts { @@ -465,11 +465,13 @@ class CachedArtifacts implements Artifacts {
String _getAndroidArtifactPath(Artifact artifact, TargetPlatform platform, BuildMode mode) { String _getAndroidArtifactPath(Artifact artifact, TargetPlatform platform, BuildMode mode) {
final String engineDir = _getEngineArtifactsPath(platform, mode)!; final String engineDir = _getEngineArtifactsPath(platform, mode)!;
switch (artifact) { switch (artifact) {
@ -125,8 +121,8 @@ index 2aac9686e8..32c4b98b88 100644
- case Artifact.frontendServerSnapshotForEngineDartSdk: - case Artifact.frontendServerSnapshotForEngineDartSdk:
case Artifact.constFinder: case Artifact.constFinder:
case Artifact.flutterMacOSFramework: case Artifact.flutterMacOSFramework:
case Artifact.flutterMacOSPodspec: case Artifact.flutterPatchedSdkPath:
@@ -594,14 +596,10 @@ class CachedArtifacts implements Artifacts { @@ -586,14 +588,10 @@ class CachedArtifacts implements Artifacts {
// For script snapshots any gen_snapshot binary will do. Returning gen_snapshot for // For script snapshots any gen_snapshot binary will do. Returning gen_snapshot for
// android_arm in profile mode because it is available on all supported host platforms. // android_arm in profile mode because it is available on all supported host platforms.
return _getAndroidArtifactPath(artifact, TargetPlatform.android_arm, BuildMode.profile); return _getAndroidArtifactPath(artifact, TargetPlatform.android_arm, BuildMode.profile);
@ -142,27 +138,27 @@ index 2aac9686e8..32c4b98b88 100644
case Artifact.icuData: case Artifact.icuData:
final String engineArtifactsPath = _cache.getArtifactDirectory('engine').path; final String engineArtifactsPath = _cache.getArtifactDirectory('engine').path;
final String platformDirName = _enginePlatformDirectoryName(platform); final String platformDirName = _enginePlatformDirectoryName(platform);
@@ -797,7 +795,7 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts { @@ -776,7 +774,7 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts {
final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform));
return _fileSystem.file(path); return _fileSystem.file(path);
case HostArtifact.dartdevcSnapshot: case HostArtifact.dartdevcSnapshot:
- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); - final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform));
+ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); + final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform));
return _fileSystem.file(path); return _fileSystem.file(path);
case HostArtifact.kernelWorkerSnapshot: case HostArtifact.kernelWorkerSnapshot:
final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform));
@@ -922,9 +920,7 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts { @@ -901,9 +899,7 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts {
case Artifact.windowsUwpCppClientWrapper: case Artifact.windowsCppClientWrapper:
return _fileSystem.path.join(_hostEngineOutPath, artifactFileName); return _fileSystem.path.join(_hostEngineOutPath, artifactFileName);
case Artifact.frontendServerSnapshotForEngineDartSdk: case Artifact.frontendServerSnapshotForEngineDartSdk:
- return _fileSystem.path.join( - return _fileSystem.path.join(
- _hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', artifactFileName, - _hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', artifactFileName,
- ); - );
+ return _fileSystem.path.join(_hostEngineOutPath, 'gen', artifactFileName); + return _fileSystem.path.join(_hostEngineOutPath, 'gen', artifactFileName);
case Artifact.uwptool:
return _fileSystem.path.join(_hostEngineOutPath, artifactFileName);
} }
@@ -1034,8 +1030,8 @@ class OverrideArtifacts implements Artifacts { }
@@ -1011,8 +1007,8 @@ class OverrideArtifacts implements Artifacts {
} }
/// Locate the Dart SDK. /// Locate the Dart SDK.
@ -174,12 +170,12 @@ index 2aac9686e8..32c4b98b88 100644
class _TestArtifacts implements Artifacts { class _TestArtifacts implements Artifacts {
diff --git a/packages/flutter_tools/test/general.shard/artifacts_test.dart b/packages/flutter_tools/test/general.shard/artifacts_test.dart diff --git a/packages/flutter_tools/test/general.shard/artifacts_test.dart b/packages/flutter_tools/test/general.shard/artifacts_test.dart
index d906511a15..adfdd4bb42 100644 index aed3eb9285..81b8362648 100644
--- a/packages/flutter_tools/test/general.shard/artifacts_test.dart --- a/packages/flutter_tools/test/general.shard/artifacts_test.dart
+++ b/packages/flutter_tools/test/general.shard/artifacts_test.dart +++ b/packages/flutter_tools/test/general.shard/artifacts_test.dart
@@ -153,10 +153,6 @@ void main() { @@ -141,10 +141,6 @@ void main() {
artifacts.getArtifactPath(Artifact.windowsUwpDesktopPath, platform: TargetPlatform.windows_uwp_x64, mode: BuildMode.release), artifacts.getArtifactPath(Artifact.flutterTester, platform: TargetPlatform.linux_arm64),
fileSystem.path.join('root', 'bin', 'cache', 'artifacts', 'engine', 'windows-uwp-x64-release'), fileSystem.path.join('root', 'bin', 'cache', 'artifacts', 'engine', 'linux-arm64', 'flutter_tester'),
); );
- expect( - expect(
- artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), - artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk),
@ -188,7 +184,7 @@ index d906511a15..adfdd4bb42 100644
}); });
testWithoutContext('precompiled web artifact paths are correct', () { testWithoutContext('precompiled web artifact paths are correct', () {
@@ -322,11 +318,6 @@ void main() { @@ -310,11 +306,6 @@ void main() {
artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path, artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path,
fileSystem.path.join('/out', 'host_debug_unopt', 'dart-sdk'), fileSystem.path.join('/out', 'host_debug_unopt', 'dart-sdk'),
); );
@ -197,6 +193,6 @@ index d906511a15..adfdd4bb42 100644
- fileSystem.path.join('/out', 'host_debug_unopt', 'dart-sdk', 'bin', - fileSystem.path.join('/out', 'host_debug_unopt', 'dart-sdk', 'bin',
- 'snapshots', 'frontend_server.dart.snapshot') - 'snapshots', 'frontend_server.dart.snapshot')
- ); - );
}); expect(
artifacts.getHostArtifact(HostArtifact.impellerc).path,
testWithoutContext('getEngineType', () { fileSystem.path.join('/out', 'host_debug_unopt', 'impellerc'),

View File

@ -28,7 +28,7 @@ in
lib = lib'; lib = lib';
# Backwards compat before `lib` was factored out. # Backwards compat before `lib` was factored out.
inherit (lib') toTargetArch toTargetOs toRustTarget toRustTargetSpec; inherit (lib') toTargetArch toTargetOs toRustTarget toRustTargetSpec IsNoStdTarget;
# This just contains tools for now. But it would conceivably contain # This just contains tools for now. But it would conceivably contain
# libraries too, say if we picked some default/recommended versions from # libraries too, say if we picked some default/recommended versions from

View File

@ -107,6 +107,8 @@ in stdenv.mkDerivation rec {
"${setHost}.musl-root=${pkgsBuildHost.targetPackages.stdenv.cc.libc}" "${setHost}.musl-root=${pkgsBuildHost.targetPackages.stdenv.cc.libc}"
] ++ optionals stdenv.targetPlatform.isMusl [ ] ++ optionals stdenv.targetPlatform.isMusl [
"${setTarget}.musl-root=${pkgsBuildTarget.targetPackages.stdenv.cc.libc}" "${setTarget}.musl-root=${pkgsBuildTarget.targetPackages.stdenv.cc.libc}"
] ++ optionals (rust.IsNoStdTarget stdenv.targetPlatform) [
"--disable-docs"
] ++ optionals (stdenv.isDarwin && stdenv.isx86_64) [ ] ++ optionals (stdenv.isDarwin && stdenv.isx86_64) [
# https://github.com/rust-lang/rust/issues/92173 # https://github.com/rust-lang/rust/issues/92173
"--set rust.jemalloc" "--set rust.jemalloc"

View File

@ -1,4 +1,4 @@
{ lib, mkCoqDerivation, coq, coq-ext-lib, version ? null }: { lib, callPackage, mkCoqDerivation, coq, coq-ext-lib, version ? null }:
with lib; mkCoqDerivation { with lib; mkCoqDerivation {
pname = "simple-io"; pname = "simple-io";
@ -13,11 +13,14 @@ with lib; mkCoqDerivation {
release."1.3.0".sha256 = "1yp7ca36jyl9kz35ghxig45x6cd0bny2bpmy058359p94wc617ax"; release."1.3.0".sha256 = "1yp7ca36jyl9kz35ghxig45x6cd0bny2bpmy058359p94wc617ax";
mlPlugin = true; mlPlugin = true;
nativeBuildInputs = [ coq.ocamlPackages.cppo ]; nativeBuildInputs = [ coq.ocamlPackages.cppo ];
propagatedBuildInputs = [ coq-ext-lib coq.ocamlPackages.ocamlbuild ]; propagatedBuildInputs = [ coq-ext-lib ]
++ (with coq.ocamlPackages; [ ocaml findlib ocamlbuild ]);
doCheck = true; doCheck = true;
checkTarget = "test"; checkTarget = "test";
passthru.tests.HelloWorld = callPackage ./test.nix {};
meta = { meta = {
description = "Purely functional IO for Coq"; description = "Purely functional IO for Coq";
license = licenses.mit; license = licenses.mit;

View File

@ -0,0 +1,21 @@
{ stdenv, coq, simple-io }:
stdenv.mkDerivation {
pname = "coq-simple-io-test";
inherit (simple-io) src version;
checkInputs = [ coq simple-io ];
dontConfigure = true;
dontBuild = true;
doCheck = true;
checkPhase = ''
cd test
for p in Argv.v Example.v HelloWorld.v TestExtraction.v TestPervasives.v
do
[ -f $p ] && echo $p && coqc $p
done
'';
installPhase = "touch $out";
}

View File

@ -5,14 +5,14 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "svdtools"; pname = "svdtools";
version = "0.2.6"; version = "0.2.7";
src = fetchCrate { src = fetchCrate {
inherit version pname; inherit version pname;
sha256 = "sha256-y0RCUSk7YEE5bF/dVEuH/sTtHcVIT4+P0DVkPiNf54I="; sha256 = "sha256-pRY9lL04BcZDYeFcdArIp2PcWiCZBurCYpYtYhPqFsg=";
}; };
cargoSha256 = "sha256-PPoHTh8cjQMkD69BYk/HW/PwDV5j/OrHHpjFZdBqZxM="; cargoSha256 = "sha256-9XymDE9ON11VfZObrMiARmpJay2g2mKEf0l2eojbjL8=";
meta = with lib; { meta = with lib; {
description = "Tools to handle vendor-supplied, often buggy SVD files"; description = "Tools to handle vendor-supplied, often buggy SVD files";

View File

@ -5,7 +5,7 @@
# imlib2 can load images from ID3 tags. # imlib2 can load images from ID3 tags.
, libid3tag, librsvg, libheif , libid3tag, librsvg, libheif
, freetype , bzip2, pkg-config , freetype , bzip2, pkg-config
, x11Support ? true, xlibsWrapper ? null , x11Support ? true
, webpSupport ? true , webpSupport ? true
, svgSupport ? false , svgSupport ? false
, heifSupport ? false , heifSupport ? false
@ -20,10 +20,11 @@
, openbox , openbox
, fluxbox , fluxbox
, enlightenment , enlightenment
, xorg
}: }:
let let
inherit (lib) optional; inherit (lib) optional optionals;
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "imlib2"; pname = "imlib2";
@ -37,7 +38,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
libjpeg libtiff giflib libpng libjpeg libtiff giflib libpng
bzip2 freetype libid3tag bzip2 freetype libid3tag
] ++ optional x11Support xlibsWrapper ] ++ optionals x11Support [ xorg.libXft xorg.libXext ]
++ optional heifSupport libheif ++ optional heifSupport libheif
++ optional svgSupport librsvg ++ optional svgSupport librsvg
++ optional webpSupport libwebp ++ optional webpSupport libwebp

View File

@ -1,8 +1,8 @@
{ callPackage, zlib }: { callPackage, zlib }:
callPackage ./common.nix rec { callPackage ./common.nix rec {
version = "0.4.1"; version = "0.4.2";
url = "https://www.prevanders.net/libdwarf-${version}.tar.xz"; url = "https://www.prevanders.net/libdwarf-${version}.tar.xz";
sha512 = "793fe487de80fe6878f022b90f49ec334a0d7db071ff22a11902db5e3457cc7f3f853945a9ac74de2c40f7f388277f21c5b2e62745bca92d2bb55c51e9577693"; sha512 = "6d2a3ebf0104362dd9cecec272935684f977db119810eea0eec88c9f56a042f260a4f6ed3bbabde8592fe16f98cbd81b4ab2878005140e05c8f475df6380d1c2";
buildInputs = [ zlib ]; buildInputs = [ zlib ];
knownVulnerabilities = []; knownVulnerabilities = [];
} }

View File

@ -4,5 +4,5 @@ callPackage ./common.nix rec {
url = "https://www.prevanders.net/libdwarf-${version}.tar.gz"; url = "https://www.prevanders.net/libdwarf-${version}.tar.gz";
sha512 = "e0f9c88554053ee6c1b1333960891189e7820c4a4ddc302b7e63754a4cdcfc2acb1b4b6083a722d1204a75e994fff3401ecc251b8c3b24090f8cb4046d90f870"; sha512 = "e0f9c88554053ee6c1b1333960891189e7820c4a4ddc302b7e63754a4cdcfc2acb1b4b6083a722d1204a75e994fff3401ecc251b8c3b24090f8cb4046d90f870";
buildInputs = [ zlib libelf ]; buildInputs = [ zlib libelf ];
knownVulnerabilities = [ "CVE-2022-32200" ]; knownVulnerabilities = [ "CVE-2022-32200" "CVE-2022-39170" ];
} }

View File

@ -0,0 +1,65 @@
{ lib, stdenv, fetchFromGitHub, rustPlatform, napi-rs-cli, nodejs, libiconv }:
stdenv.mkDerivation rec {
pname = "matrix-sdk-crypto-nodejs";
version = "0.1.0-beta.2";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "matrix-rust-sdk";
rev = "${pname}-v${version}";
hash = "sha256-E++0tm/2d8/3zAXwovJ71uF2sxDORWyJNnA3e1Q3NLA=";
};
patches = [
# This is needed because two versions of indexed_db_futures are present (which will fail to vendor, see https://github.com/rust-lang/cargo/issues/10310).
# (matrix-sdk-crypto-nodejs doesn't use this dependency, we only need to remove it to vendor the dependencies successfully.)
./remove-duplicate-dependency.patch
];
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src patches;
name = "${pname}-${version}";
hash = "sha256-G2Um7vHinOuOx9U2BH14LAx+s/0Sxtlc9Nz6nPJfmU8=";
};
postPatch = ''
cd bindings/${pname}
'';
nativeBuildInputs = [
rustPlatform.cargoSetupHook
rustPlatform.rust.cargo
rustPlatform.rust.rustc
napi-rs-cli
nodejs
];
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
buildPhase = ''
runHook preBuild
npm run release-build --offline
runHook postBuild
'';
installPhase = ''
runHook preInstall
local -r outPath="$out/lib/node_modules/@matrix-org/${pname}"
mkdir -p "$outPath"
cp package.json index.js index.d.ts matrix-sdk-crypto.*.node "$outPath"
runHook postInstall
'';
meta = with lib; {
description = "A no-network-IO implementation of a state machine that handles E2EE for Matrix clients";
homepage = "https://github.com/matrix-org/matrix-rust-sdk/tree/${src.rev}/bindings/matrix-sdk-crypto-nodejs";
license = licenses.asl20;
maintainers = with maintainers; [ winter ];
inherit (nodejs.meta) platforms;
};
}

View File

@ -0,0 +1,47 @@
diff --git a/Cargo.lock b/Cargo.lock
index 2ddfdd0..3fcca5f 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1985,20 +1985,6 @@ version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
-[[package]]
-name = "indexed_db_futures"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d26ac735f676c52305becf53264b91cea9866a8de61ccbf464405b377b9cbca9"
-dependencies = [
- "cfg-if",
- "js-sys",
- "uuid 0.8.2",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
-]
-
[[package]]
name = "indexed_db_futures"
version = "0.2.3"
@@ -2558,8 +2544,7 @@ dependencies = [
"derive_builder",
"futures-util",
"getrandom 0.2.7",
- "indexed_db_futures 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "indexed_db_futures 0.2.3 (git+https://github.com/Hywan/rust-indexed-db?branch=feat-factory-nodejs)",
+ "indexed_db_futures",
"js-sys",
"matrix-sdk-base",
"matrix-sdk-common",
diff --git a/crates/matrix-sdk-indexeddb/Cargo.toml b/crates/matrix-sdk-indexeddb/Cargo.toml
index 7f23dfc..c57e29a 100644
--- a/crates/matrix-sdk-indexeddb/Cargo.toml
+++ b/crates/matrix-sdk-indexeddb/Cargo.toml
@@ -30,7 +30,6 @@ js-sys = { version = "0.3.58" }
matrix-sdk-base = { version = "0.6.0", path = "../matrix-sdk-base", features = ["js"] }
matrix-sdk-crypto = { version = "0.6.0", path = "../matrix-sdk-crypto", features = ["js"], optional = true }
matrix-sdk-store-encryption = { version = "0.2.0", path = "../matrix-sdk-store-encryption" }
-indexed_db_futures = "0.2.3"
indexed_db_futures_nodejs = { package = "indexed_db_futures", git = "https://github.com/Hywan/rust-indexed-db", branch = "feat-factory-nodejs", optional = true }
ruma = "0.7.0"
serde = "1.0.136"

View File

@ -6,7 +6,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libupnp"; pname = "libupnp";
version = "1.14.13"; version = "1.14.14";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
owner = "pupnp"; owner = "pupnp";
repo = "pupnp"; repo = "pupnp";
rev = "release-${version}"; rev = "release-${version}";
sha256 = "sha256-3pvJDReyZilJ8pAHYw6d+6ammv4EliLgA+VOSBsvF20="; sha256 = "sha256-LZFCfYz6MKMt0IDH22EbcmTRUXrrhQMaSjqAZH28nIQ=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -49,6 +49,9 @@ let
withGtk3 = true; withGtk3 = true;
inherit (srcs.qtbase) src version; inherit (srcs.qtbase) src version;
inherit bison cups harfbuzz libGL dconf gtk3 developerBuild cmake; inherit bison cups harfbuzz libGL dconf gtk3 developerBuild cmake;
patches = [
./patches/qtbase-qmake-pkg-config.patch
];
}; };
qt3d = callPackage ./modules/qt3d.nix { }; qt3d = callPackage ./modules/qt3d.nix { };
@ -90,6 +93,14 @@ let
wrapQtAppsHook = makeSetupHook { wrapQtAppsHook = makeSetupHook {
deps = [ buildPackages.makeWrapper ]; deps = [ buildPackages.makeWrapper ];
} ./hooks/wrap-qt-apps-hook.sh; } ./hooks/wrap-qt-apps-hook.sh;
qmake = makeSetupHook {
deps = [ self.qtbase.dev ];
substitutions = {
inherit debug;
fix_qmake_libtool = ./hooks/fix-qmake-libtool.sh;
};
} ./hooks/qmake-hook.sh;
}; };
self = lib.makeScope newScope addPackages; self = lib.makeScope newScope addPackages;

View File

@ -0,0 +1,25 @@
# Fix libtool libraries generated by qmake.
# qmake started inserting filenames of shared objects instead of the appropriate
# linker flags. fixQmakeLibtool searches for broken libtool libraries and
# replaces the filenames with the linker flags that should have been there.
fixQmakeLibtool() {
if [ -d "$1" ]; then
find "$1" -name '*.la' | while read la; do
set +e
framework_libs=$(grep '^dependency_libs' "$la" | grep -Eo -- '-framework +\w+' | tr '\n' ' ')
set -e
sed -i "$la" \
-e '/^dependency_libs/ s,\(/[^ ]\+\)/lib\([^/ ]\+\)\.so,-L\1 -l\2,g' \
-e '/^dependency_libs/ s,-framework \+\w\+,,g'
if [ ! -z "$framework_libs" ]; then
if grep '^inherited_linker_flags=' $la >/dev/null; then
sed -i "$la" -e "s/^\(inherited_linker_flags='[^']*\)/\1 $framework_libs/"
else
echo "inherited_linker_flags='$framework_libs'" >>"$la"
fi
fi
done
fi
}
fixupOutputHooks+=('fixQmakeLibtool $prefix')

View File

@ -0,0 +1,66 @@
# fixQtBuiltinPaths
#
# Usage: fixQtBuiltinPaths _dir_ _pattern_
#
# Fix Qt builtin paths in files matching _pattern_ under _dir_.
#
fixQtBuiltinPaths() {
local dir="$1"
local pattern="$2"
local bin="${!outputBin}"
local dev="${!outputDev}"
local doc="${!outputDoc}"
local lib="${!outputLib}"
if [ -d "$dir" ]; then
find "$dir" -name "$pattern" | while read pr_; do
if grep -q '\$\$\[QT_' "${pr_:?}"; then
echo "fixQtBuiltinPaths: Fixing Qt builtin paths in \`${pr_:?}'..."
sed -i "${pr_:?}" \
-e "s|\\\$\\\$\\[QT_HOST_BINS[^]]*\\]|$dev/bin|g" \
-e "s|\\\$\\\$\\[QT_HOST_LIBEXECS[^]]*\\]|$dev/libexec|g" \
-e "s|\\\$\\\$\\[QT_HOST_DATA[^]]*\\]/mkspecs|$dev/mkspecs|g" \
-e "s|\\\$\\\$\\[QT_HOST_PREFIX[^]]*\\]|$dev|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_ARCHDATA[^]]*\\]|$lib|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_BINS[^]]*\\]|$bin/bin|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_CONFIGURATION[^]]*\\]|$bin|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_DATA[^]]*\\]|$lib|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_DOCS[^]]*\\]|$doc/share/doc|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_EXAMPLES[^]]*\\]|$doc/examples|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_HEADERS[^]]*\\]|$dev/include|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_LIBS[^]]*\\]|$lib/lib|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_LIBEXECS[^]]*\\]|$lib/libexec|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_PLUGINS[^]]*\\]|$bin/$qtPluginPrefix|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_PREFIX[^]]*\\]|$lib|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_TESTS[^]]*\\]|$dev/tests|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_TRANSLATIONS[^]]*\\]|$lib/translations|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_QML[^]]*\\]|$bin/$qtQmlPrefix|g"
fi
done
elif [ -e "$dir" ]; then
if grep -q '\$\$\[QT_' "${dir:?}"; then
echo "fixQtBuiltinPaths: Fixing Qt builtin paths in \`${dir:?}'..."
sed -i "${dir:?}" \
-e "s|\\\$\\\$\\[QT_HOST_BINS[^]]*\\]|$dev/bin|g" \
-e "s|\\\$\\\$\\[QT_HOST_LIBEXECS[^]]*\\]|$dev/libexec|g" \
-e "s|\\\$\\\$\\[QT_HOST_DATA[^]]*\\]/mkspecs|$dev/mkspecs|g" \
-e "s|\\\$\\\$\\[QT_HOST_PREFIX[^]]*\\]|$dev|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_ARCHDATA[^]]*\\]|$lib|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_BINS[^]]*\\]|$bin/bin|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_CONFIGURATION[^]]*\\]|$bin|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_DATA[^]]*\\]|$lib|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_DOCS[^]]*\\]|$doc/share/doc|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_EXAMPLES[^]]*\\]|$doc/examples|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_HEADERS[^]]*\\]|$dev/include|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_LIBS[^]]*\\]|$lib/lib|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_LIBEXECS[^]]*\\]|$lib/libexec|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_PLUGINS[^]]*\\]|$bin/$qtPluginPrefix|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_PREFIX[^]]*\\]|$lib|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_TESTS[^]]*\\]|$dev/tests|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_TRANSLATIONS[^]]*\\]|$lib/translations|g" \
-e "s|\\\$\\\$\\[QT_INSTALL_QML[^]]*\\]|$bin/$qtQmlPrefix|g"
fi
else
echo "fixQtBuiltinPaths: Warning: \`$dir' does not exist"
fi
}

View File

@ -0,0 +1,36 @@
# fixQtModulePaths
#
# Usage: fixQtModulePaths _dir_
#
# Find Qt module definitions in directory _dir_ and patch the module paths.
#
fixQtModulePaths() {
local dir="$1"
local bin="${!outputBin}"
local dev="${!outputDev}"
local lib="${!outputLib}"
if [ -d "$dir" ]; then
find "$dir" -name 'qt_*.pri' | while read pr; do
if grep -q '\$\$QT_MODULE_' "${pr:?}"; then
echo "fixQtModulePaths: Fixing module paths in \`${pr:?}'..."
sed -i "${pr:?}" \
-e "s|\\\$\\\$QT_MODULE_LIB_BASE|$lib/lib|g" \
-e "s|\\\$\\\$QT_MODULE_HOST_LIB_BASE|$lib/lib|g" \
-e "s|\\\$\\\$QT_MODULE_INCLUDE_BASE|$dev/include|g" \
-e "s|\\\$\\\$QT_MODULE_BIN_BASE|$dev/bin|g"
fi
done
elif [ -e "$dir" ]; then
echo "fixQtModulePaths: Warning: \`$dir' is not a directory"
else
echo "fixQtModulePaths: Warning: \`$dir' does not exist"
fi
if [ "z$bin" != "z$dev" ]; then
if [ -d "$bin/bin" ]; then
mkdir -p "$dev/bin"
lndir -silent "$bin/bin" "$dev/bin"
fi
fi
}

View File

@ -0,0 +1,34 @@
updateToolPath() {
local tool="$1"
local target="$2"
local original="${!outputBin}/$tool"
local actual="${!outputDev}/$tool"
if grep -q "$original" "$target"; then
echo "updateToolPath: Updating \`$original' in \`$target\'..."
sed -i "$target" -e "s|$original|$actual|"
fi
}
moveQtDevTools() {
if [ -n "$devTools" ]; then
for tool in $devTools; do
moveToOutput "$tool" "${!outputDev}"
done
if [ -d "${!outputDev}/mkspecs" ]; then
find "${!outputDev}/mkspecs" -name '*.pr?' | while read pr_; do
for tool in $devTools; do
updateToolPath "$tool" "$pr_"
done
done
fi
if [ -d "${!outputDev}/lib/cmake" ]; then
find "${!outputDev}/lib/cmake" -name '*.cmake' | while read cmake; do
for tool in $devTools; do
updateToolPath "$tool" "$cmake"
done
done
fi
fi
}

View File

@ -0,0 +1,48 @@
. @fix_qmake_libtool@
qmakeFlags=(${qmakeFlags-})
qmakePrePhase() {
qmakeFlags_orig=("${qmakeFlags[@]}")
# These flags must be added _before_ the flags specified in the derivation.
# TODO: these flags also need a patch which isn't applied
# can we either remove these flags or update the qt5 patch?
# "NIX_OUTPUT_DOC=${!outputDev}/${qtDocPrefix:?}" \
qmakeFlags=(
"PREFIX=$out"
"NIX_OUTPUT_OUT=$out"
"NIX_OUTPUT_DEV=${!outputDev}"
"NIX_OUTPUT_BIN=${!outputBin}"
"NIX_OUTPUT_QML=${!outputBin}/${qtQmlPrefix:?}"
"NIX_OUTPUT_PLUGIN=${!outputBin}/${qtPluginPrefix:?}"
)
if [ -n "@debug@" ]; then
qmakeFlags+=("CONFIG+=debug")
else
qmakeFlags+=("CONFIG+=release")
fi
qmakeFlags+=("${qmakeFlags_orig[@]}")
}
prePhases+=" qmakePrePhase"
qmakeConfigurePhase() {
runHook preConfigure
echo "QMAKEPATH=$QMAKEPATH"
echo qmake "${qmakeFlags[@]}"
qmake "${qmakeFlags[@]}"
if ! [[ -v enableParallelBuilding ]]; then
enableParallelBuilding=1
echo "qmake: enabled parallel building"
fi
runHook postConfigure
}
if [ -z "${dontUseQmakeConfigure-}" -a -z "${configurePhase-}" ]; then
configurePhase=qmakeConfigurePhase
fi

View File

@ -7,37 +7,87 @@ if [[ -n "${__nix_qtbase-}" ]]; then
exit 1 exit 1
fi fi
else # Only set up Qt once. else # Only set up Qt once.
__nix_qtbase="@dev@" __nix_qtbase="@dev@"
qtPluginPrefix=@qtPluginPrefix@ qtPluginPrefix=@qtPluginPrefix@
qtQmlPrefix=@qtQmlPrefix@ qtQmlPrefix=@qtQmlPrefix@
# Disable debug symbols if qtbase was built without debugging. . @fix_qt_builtin_paths@
# This stops -dev paths from leaking into other outputs. . @fix_qt_module_paths@
if [ -z "@debug@" ]; then
NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE-}${NIX_CFLAGS_COMPILE:+ }-DQT_NO_DEBUG"
fi
# Integration with CMake: # Disable debug symbols if qtbase was built without debugging.
# Set the CMake build type corresponding to how qtbase was built. # This stops -dev paths from leaking into other outputs.
if [ -n "@debug@" ]; then if [ -z "@debug@" ]; then
cmakeBuildType="Debug" NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE-}${NIX_CFLAGS_COMPILE:+ }-DQT_NO_DEBUG"
else
cmakeBuildType="Release"
fi
qtPreHook() {
# Check that wrapQtAppsHook is used, or it is explicitly disabled.
if [[ -z "$__nix_wrapQtAppsHook" && -z "$dontWrapQtApps" ]]; then
echo >&2 "Error: wrapQtAppsHook is not used, and dontWrapQtApps is not set."
exit 1
fi fi
}
prePhases+=" qtPreHook"
addQtModulePrefix () { # Integration with CMake:
addToSearchPath QT_ADDITIONAL_PACKAGES_PREFIX_PATH $1 # Set the CMake build type corresponding to how qtbase was built.
} if [ -n "@debug@" ]; then
addEnvHooks "$hostOffset" addQtModulePrefix cmakeBuildType="Debug"
else
cmakeBuildType="Release"
fi
# Build tools are often confused if QMAKE is unset.
export QMAKE=@dev@/bin/qmake
export QMAKEPATH=
export QMAKEMODULES=
declare -Ag qmakePathSeen=()
qmakePathHook() {
# Skip this path if we have seen it before.
# MUST use 'if' because 'qmakePathSeen[$]' may be unset.
if [ -n "${qmakePathSeen[$1]-}" ]; then return; fi
qmakePathSeen[$1]=1
if [ -d "$1/mkspecs" ]; then
QMAKEMODULES="${QMAKEMODULES}${QMAKEMODULES:+:}/mkspecs"
QMAKEPATH="${QMAKEPATH}${QMAKEPATH:+:}$1"
fi
}
envBuildHostHooks+=(qmakePathHook)
postPatchMkspecs() {
# Prevent this hook from running multiple times
dontPatchMkspecs=1
local bin="${!outputBin}"
local dev="${!outputDev}"
local doc="${!outputDoc}"
local lib="${!outputLib}"
moveToOutput "mkspecs" "$dev"
if [ -d "$dev/mkspecs/modules" ]; then
fixQtModulePaths "$dev/mkspecs/modules"
fi
if [ -d "$dev/mkspecs" ]; then
fixQtBuiltinPaths "$dev/mkspecs" '*.pr?'
fi
if [ -d "$lib" ]; then
fixQtBuiltinPaths "$lib" '*.pr?'
fi
}
if [ -z "${dontPatchMkspecs-}" ]; then
postPhases="${postPhases-}${postPhases:+ }postPatchMkspecs"
fi
qtPreHook() {
# Check that wrapQtAppsHook is used, or it is explicitly disabled.
if [[ -z "$__nix_wrapQtAppsHook" && -z "$dontWrapQtApps" ]]; then
echo >&2 "Error: wrapQtAppsHook is not used, and dontWrapQtApps is not set."
exit 1
fi
}
prePhases+=" qtPreHook"
addQtModulePrefix() {
addToSearchPath QT_ADDITIONAL_PACKAGES_PREFIX_PATH $1
}
addEnvHooks "$hostOffset" addQtModulePrefix
fi fi

View File

@ -1,110 +1,99 @@
if [[ -z "${__nix_wrapQtAppsHook-}" ]]; then if [[ -z "${__nix_wrapQtAppsHook-}" ]]; then
__nix_wrapQtAppsHook=1 # Don't run this hook more than once. __nix_wrapQtAppsHook=1 # Don't run this hook more than once.
# Inherit arguments given in mkDerivation # Inherit arguments given in mkDerivation
qtWrapperArgs=( ${qtWrapperArgs-} ) qtWrapperArgs=(${qtWrapperArgs-})
qtHostPathSeen=() qtHostPathSeen=()
qtUnseenHostPath() { qtUnseenHostPath() {
for pkg in "${qtHostPathSeen[@]}" for pkg in "${qtHostPathSeen[@]}"; do
do if [ "${pkg:?}" == "$1" ]; then
if [ "${pkg:?}" == "$1" ] return 1
then
return 1
fi
done
qtHostPathSeen+=("$1")
return 0
}
qtHostPathHook() {
qtUnseenHostPath "$1" || return 0
if ! [ -v qtPluginPrefix ]
then
echo "wrapQtAppsHook qtHostPathHook: qtPluginPrefix is unset. hint: add qt6.qtbase to buildInputs"
fi
local pluginDir="$1/${qtPluginPrefix:?}"
if [ -d "$pluginDir" ]
then
qtWrapperArgs+=(--prefix QT_PLUGIN_PATH : "$pluginDir")
fi
local qmlDir="$1/${qtQmlPrefix:?}"
if [ -d "$qmlDir" ]
then
qtWrapperArgs+=(--prefix QML2_IMPORT_PATH : "$qmlDir")
fi
}
addEnvHooks "$targetOffset" qtHostPathHook
makeQtWrapper() {
local original="$1"
local wrapper="$2"
shift 2
makeWrapper "$original" "$wrapper" "${qtWrapperArgs[@]}" "$@"
}
wrapQtApp() {
local program="$1"
shift 1
wrapProgram "$program" "${qtWrapperArgs[@]}" "$@"
}
qtOwnPathsHook() {
local xdgDataDir="${!outputBin}/share"
if [ -d "$xdgDataDir" ]
then
qtWrapperArgs+=(--prefix XDG_DATA_DIRS : "$xdgDataDir")
fi
local xdgConfigDir="${!outputBin}/etc/xdg"
if [ -d "$xdgConfigDir" ]
then
qtWrapperArgs+=(--prefix XDG_CONFIG_DIRS : "$xdgConfigDir")
fi
qtHostPathHook "${!outputBin}"
}
preFixupPhases+=" qtOwnPathsHook"
# Note: $qtWrapperArgs still gets defined even if ${dontWrapQtApps-} is set.
wrapQtAppsHook() {
# skip this hook when requested
[ -z "${dontWrapQtApps-}" ] || return 0
# guard against running multiple times (e.g. due to propagation)
[ -z "$wrapQtAppsHookHasRun" ] || return 0
wrapQtAppsHookHasRun=1
local targetDirs=( "$prefix/bin" "$prefix/sbin" "$prefix/libexec" "$prefix/Applications" "$prefix/"*.app )
echo "wrapping Qt applications in ${targetDirs[@]}"
for targetDir in "${targetDirs[@]}"
do
[ -d "$targetDir" ] || continue
find "$targetDir" ! -type d -executable -print0 | while IFS= read -r -d '' file
do
if [ -f "$file" ]
then
echo "wrapping $file"
wrapQtApp "$file"
elif [ -h "$file" ]
then
target="$(readlink -e "$file")"
echo "wrapping $file -> $target"
rm "$file"
makeQtWrapper "$target" "$file"
fi fi
done done
done
}
fixupOutputHooks+=(wrapQtAppsHook) qtHostPathSeen+=("$1")
return 0
}
qtHostPathHook() {
qtUnseenHostPath "$1" || return 0
if ! [ -v qtPluginPrefix ]; then
echo "wrapQtAppsHook qtHostPathHook: qtPluginPrefix is unset. hint: add qt6.qtbase to buildInputs"
fi
local pluginDir="$1/${qtPluginPrefix:?}"
if [ -d "$pluginDir" ]; then
qtWrapperArgs+=(--prefix QT_PLUGIN_PATH : "$pluginDir")
fi
local qmlDir="$1/${qtQmlPrefix:?}"
if [ -d "$qmlDir" ]; then
qtWrapperArgs+=(--prefix QML2_IMPORT_PATH : "$qmlDir")
fi
}
addEnvHooks "$targetOffset" qtHostPathHook
makeQtWrapper() {
local original="$1"
local wrapper="$2"
shift 2
makeWrapper "$original" "$wrapper" "${qtWrapperArgs[@]}" "$@"
}
wrapQtApp() {
local program="$1"
shift 1
wrapProgram "$program" "${qtWrapperArgs[@]}" "$@"
}
qtOwnPathsHook() {
local xdgDataDir="${!outputBin}/share"
if [ -d "$xdgDataDir" ]; then
qtWrapperArgs+=(--prefix XDG_DATA_DIRS : "$xdgDataDir")
fi
local xdgConfigDir="${!outputBin}/etc/xdg"
if [ -d "$xdgConfigDir" ]; then
qtWrapperArgs+=(--prefix XDG_CONFIG_DIRS : "$xdgConfigDir")
fi
qtHostPathHook "${!outputBin}"
}
preFixupPhases+=" qtOwnPathsHook"
# Note: $qtWrapperArgs still gets defined even if ${dontWrapQtApps-} is set.
wrapQtAppsHook() {
# skip this hook when requested
[ -z "${dontWrapQtApps-}" ] || return 0
# guard against running multiple times (e.g. due to propagation)
[ -z "$wrapQtAppsHookHasRun" ] || return 0
wrapQtAppsHookHasRun=1
local targetDirs=("$prefix/bin" "$prefix/sbin" "$prefix/libexec" "$prefix/Applications" "$prefix/"*.app)
echo "wrapping Qt applications in ${targetDirs[@]}"
for targetDir in "${targetDirs[@]}"; do
[ -d "$targetDir" ] || continue
find "$targetDir" ! -type d -executable -print0 | while IFS= read -r -d '' file; do
if [ -f "$file" ]; then
echo "wrapping $file"
wrapQtApp "$file"
elif [ -h "$file" ]; then
target="$(readlink -e "$file")"
echo "wrapping $file -> $target"
rm "$file"
makeQtWrapper "$target" "$file"
fi
done
done
}
fixupOutputHooks+=(wrapQtAppsHook)
fi fi

View File

@ -182,6 +182,15 @@ stdenv.mkDerivation rec {
substituteInPlace src/corelib/CMakeLists.txt --replace /bin/ls ${coreutils}/bin/ls substituteInPlace src/corelib/CMakeLists.txt --replace /bin/ls ${coreutils}/bin/ls
''; '';
fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh;
fix_qt_module_paths = ../hooks/fix-qt-module-paths.sh;
preHook = ''
. "$fix_qt_builtin_paths"
. "$fix_qt_module_paths"
. ${../hooks/move-qt-dev-tools.sh}
. ${../hooks/fix-qmake-libtool.sh}
'';
qtPluginPrefix = "lib/qt-6/plugins"; qtPluginPrefix = "lib/qt-6/plugins";
qtQmlPrefix = "lib/qt-6/qml"; qtQmlPrefix = "lib/qt-6/qml";
@ -199,8 +208,46 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
postInstall = '' postInstall = ''
mkdir -p $dev moveToOutput "mkspecs" "$dev"
mv $out/mkspecs $out/bin $out/libexec $dev/ '';
devTools = [
"libexec/moc"
"libexec/rcc"
"libexec/syncqt.pl"
"libexec/qlalr"
"libexec/ensure_pro_file.cmake"
"libexec/cmake_automoc_parser"
"libexec/qvkgen"
"libexec/tracegen"
"libexec/uic"
"bin/fixqt4headers.pl"
"bin/moc"
"bin/qdbuscpp2xml"
"bin/qdbusxml2cpp"
"bin/qlalr"
"bin/qmake"
"bin/rcc"
"bin/syncqt.pl"
"bin/uic"
];
postFixup = ''
# Don't retain build-time dependencies like gdb.
sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri
fixQtModulePaths "''${!outputDev}/mkspecs/modules"
fixQtBuiltinPaths "''${!outputDev}" '*.pr?'
# Move development tools to $dev
moveQtDevTools
moveToOutput bin "$dev"
moveToOutput libexec "$dev"
# fixup .pc file (where to find 'moc' etc.)
sed -i "$dev/lib/pkgconfig/Qt6Core.pc" \
-e "/^bindir=/ c bindir=$dev/bin"
patchShebangs $out $dev
''; '';
dontStrip = debugSymbols; dontStrip = debugSymbols;
@ -211,7 +258,7 @@ stdenv.mkDerivation rec {
homepage = "https://www.qt.io/"; homepage = "https://www.qt.io/";
description = "A cross-platform application framework for C++"; description = "A cross-platform application framework for C++";
license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ]; license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
maintainers = with maintainers; [ milahu nickcao ]; maintainers = with maintainers; [ milahu nickcao LunNova ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

Some files were not shown because too many files have changed in this diff Show More