diff options
36 files changed, 480 insertions, 197 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 9957fdbb5c40..3a4d3f5e1247 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -281,6 +281,7 @@ ./services/databases/riak.nix ./services/databases/riak-cs.nix ./services/databases/stanchion.nix + ./services/databases/victoriametrics.nix ./services/databases/virtuoso.nix ./services/desktops/accountsservice.nix ./services/desktops/bamf.nix diff --git a/nixos/modules/services/databases/victoriametrics.nix b/nixos/modules/services/databases/victoriametrics.nix new file mode 100644 index 000000000000..cb6bf8508fb6 --- /dev/null +++ b/nixos/modules/services/databases/victoriametrics.nix @@ -0,0 +1,70 @@ +{ config, pkgs, lib, ... }: +let cfg = config.services.victoriametrics; in +{ + options.services.victoriametrics = with lib; { + enable = mkEnableOption "victoriametrics"; + package = mkOption { + type = types.package; + default = pkgs.victoriametrics; + defaultText = "pkgs.victoriametrics"; + description = '' + The VictoriaMetrics distribution to use. + ''; + }; + listenAddress = mkOption { + default = ":8428"; + type = types.str; + description = '' + The listen address for the http interface. + ''; + }; + retentionPeriod = mkOption { + type = types.int; + default = 1; + description = '' + Retention period in months. + ''; + }; + extraOptions = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra options to pass to VictoriaMetrics. See the README: <link + xlink:href="https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md" /> + or <command>victoriametrics -help</command> for more + information. + ''; + }; + }; + config = lib.mkIf cfg.enable { + systemd.services.victoriametrics = { + description = "VictoriaMetrics time series database"; + after = [ "network.target" ]; + serviceConfig = { + Restart = "on-failure"; + RestartSec = 1; + StartLimitBurst = 5; + StateDirectory = "victoriametrics"; + DynamicUser = true; + ExecStart = '' + ${cfg.package}/bin/victoria-metrics \ + -storageDataPath=/var/lib/victoriametrics \ + -httpListenAddr ${cfg.listenAddress} + -retentionPeriod ${toString cfg.retentionPeriod} + ${lib.escapeShellArgs cfg.extraOptions} + ''; + }; + wantedBy = [ "multi-user.target" ]; + + postStart = + let + bindAddr = (lib.optionalString (lib.hasPrefix ":" cfg.listenAddress) "127.0.0.1") + cfg.listenAddress; + in + lib.mkBefore '' + until ${lib.getBin pkgs.curl}/bin/curl -s -o /dev/null http://${bindAddr}/ping; do + sleep 1; + done + ''; + }; + }; +} diff --git a/nixos/modules/services/security/bitwarden_rs/default.nix b/nixos/modules/services/security/bitwarden_rs/default.nix index d1817db07555..a63be0ee766e 100644 --- a/nixos/modules/services/security/bitwarden_rs/default.nix +++ b/nixos/modules/services/security/bitwarden_rs/default.nix @@ -18,15 +18,33 @@ let else key + toUpper x) "" parts; in if builtins.match "[A-Z0-9_]+" name != null then name else partsToEnvVar parts; - configFile = pkgs.writeText "bitwarden_rs.env" (concatMapStrings (s: s + "\n") ( - (concatLists (mapAttrsToList (name: value: - if value != null then [ "${nameToEnvVar name}=${if isBool value then boolToString value else toString value}" ] else [] - ) cfg.config)))); + # Due to the different naming schemes allowed for config keys, + # we can only check for values consistently after converting them to their corresponding environment variable name. + configEnv = + let + configEnv = listToAttrs (concatLists (mapAttrsToList (name: value: + if value != null then [ (nameValuePair (nameToEnvVar name) (if isBool value then boolToString value else toString value)) ] else [] + ) cfg.config)); + in { DATA_FOLDER = "/var/lib/bitwarden_rs"; } // optionalAttrs (!(configEnv ? WEB_VAULT_ENABLED) || configEnv.WEB_VAULT_ENABLED == "true") { + WEB_VAULT_FOLDER = "${pkgs.bitwarden_rs-vault}/share/bitwarden_rs/vault"; + } // configEnv; + + configFile = pkgs.writeText "bitwarden_rs.env" (concatStrings (mapAttrsToList (name: value: "${name}=${value}\n") configEnv)); + + bitwarden_rs = pkgs.bitwarden_rs.override { inherit (cfg) dbBackend; }; in { options.services.bitwarden_rs = with types; { enable = mkEnableOption "bitwarden_rs"; + dbBackend = mkOption { + type = enum [ "sqlite" "mysql" "postgresql" ]; + default = "sqlite"; + description = '' + Which database backend bitwarden_rs will be using. + ''; + }; + backupDir = mkOption { type = nullOr str; default = null; @@ -56,23 +74,20 @@ in { even though foo2 would have been converted to FOO_2. This allows working around any potential future conflicting naming conventions. - Based on the attributes passed to this config option a environment file will be generated + Based on the attributes passed to this config option an environment file will be generated that is passed to bitwarden_rs's systemd service. The available configuration options can be found in - <link xlink:href="https://github.com/dani-garcia/bitwarden_rs/blob/1.8.0/.env.template">the environment template file</link>. + <link xlink:href="https://github.com/dani-garcia/bitwarden_rs/blob/${bitwarden_rs.version}/.env.template">the environment template file</link>. ''; - apply = config: optionalAttrs config.webVaultEnabled { - webVaultFolder = "${pkgs.bitwarden_rs-vault}/share/bitwarden_rs/vault"; - } // config; }; }; config = mkIf cfg.enable { - services.bitwarden_rs.config = { - dataFolder = "/var/lib/bitwarden_rs"; - webVaultEnabled = mkDefault true; - }; + assertions = [ { + assertion = cfg.backupDir != null -> cfg.dbBackend == "sqlite"; + message = "Backups for database backends other than sqlite will need customization"; + } ]; users.users.bitwarden_rs = { inherit group; @@ -87,7 +102,7 @@ in { User = user; Group = group; EnvironmentFile = configFile; - ExecStart = "${pkgs.bitwarden_rs}/bin/bitwarden_rs"; + ExecStart = "${bitwarden_rs}/bin/bitwarden_rs"; LimitNOFILE = "1048576"; LimitNPROC = "64"; PrivateTmp = "true"; @@ -109,6 +124,7 @@ in { path = with pkgs; [ sqlite ]; serviceConfig = { SyslogIdentifier = "backup-bitwarden_rs"; + Type = "oneshot"; User = mkDefault user; Group = mkDefault group; ExecStart = "${pkgs.bash}/bin/bash ${./backup.sh}"; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 8c11464f9d68..89426865e1ac 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -293,6 +293,7 @@ in upnp = handleTest ./upnp.nix {}; uwsgi = handleTest ./uwsgi.nix {}; vault = handleTest ./vault.nix {}; + victoriametrics = handleTest ./victoriametrics.nix {}; virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {}; wireguard = handleTest ./wireguard {}; wireguard-generated = handleTest ./wireguard/generated.nix {}; diff --git a/nixos/tests/systemd.nix b/nixos/tests/systemd.nix index 9a9b526e3322..8028145939bb 100644 --- a/nixos/tests/systemd.nix +++ b/nixos/tests/systemd.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... }: { +import ./make-test-python.nix ({ pkgs, ... }: { name = "systemd"; machine = { lib, ... }: { @@ -53,50 +53,69 @@ import ./make-test.nix ({ pkgs, ... }: { }; testScript = '' - $machine->waitForX; + import re + import subprocess + + machine.wait_for_x() # wait for user services - $machine->waitForUnit("default.target","alice"); + machine.wait_for_unit("default.target", "alice") # Regression test for https://github.com/NixOS/nixpkgs/issues/35415 - subtest "configuration files are recognized by systemd", sub { - $machine->succeed('test -e /system_conf_read'); - $machine->succeed('test -e /home/alice/user_conf_read'); - $machine->succeed('test -z $(ls -1 /var/log/journal)'); - }; + with subtest("configuration files are recognized by systemd"): + machine.succeed("test -e /system_conf_read") + machine.succeed("test -e /home/alice/user_conf_read") + machine.succeed("test -z $(ls -1 /var/log/journal)") # Regression test for https://github.com/NixOS/nixpkgs/issues/50273 - subtest "DynamicUser actually allocates a user", sub { - $machine->succeed('systemd-run --pty --property=Type=oneshot --property=DynamicUser=yes --property=User=iamatest whoami | grep iamatest'); - }; + with subtest("DynamicUser actually allocates a user"): + assert "iamatest" in machine.succeed( + "systemd-run --pty --property=Type=oneshot --property=DynamicUser=yes --property=User=iamatest whoami" + ) # Regression test for https://github.com/NixOS/nixpkgs/issues/35268 - subtest "file system with x-initrd.mount is not unmounted", sub { - $machine->succeed('mountpoint -q /test-x-initrd-mount'); - $machine->shutdown; - system('qemu-img', 'convert', '-O', 'raw', - 'vm-state-machine/empty2.qcow2', 'x-initrd-mount.raw'); - my $extinfo = `${pkgs.e2fsprogs}/bin/dumpe2fs x-initrd-mount.raw`; - die "File system was not cleanly unmounted: $extinfo" - unless $extinfo =~ /^Filesystem state: *clean$/m; - }; + with subtest("file system with x-initrd.mount is not unmounted"): + machine.succeed("mountpoint -q /test-x-initrd-mount") + machine.shutdown() - subtest "systemd-shutdown works", sub { - $machine->shutdown; - $machine->waitForUnit('multi-user.target'); - $machine->succeed('test -e /tmp/shared/shutdown-test'); - }; + subprocess.check_call( + [ + "qemu-img", + "convert", + "-O", + "raw", + "vm-state-machine/empty0.qcow2", + "x-initrd-mount.raw", + ] + ) + extinfo = subprocess.check_output( + [ + "${pkgs.e2fsprogs}/bin/dumpe2fs", + "x-initrd-mount.raw", + ] + ).decode("utf-8") + assert ( + re.search(r"^Filesystem state: *clean$", extinfo, re.MULTILINE) is not None + ), ("File system was not cleanly unmounted: " + extinfo) + + with subtest("systemd-shutdown works"): + machine.shutdown() + machine.wait_for_unit("multi-user.target") + machine.succeed("test -e /tmp/shared/shutdown-test") + + # Test settings from /etc/sysctl.d/50-default.conf are applied + with subtest("systemd sysctl settings are applied"): + machine.wait_for_unit("multi-user.target") + assert "fq_codel" in machine.succeed("sysctl net.core.default_qdisc") + + # Test cgroup accounting is enabled + with subtest("systemd cgroup accounting is enabled"): + machine.wait_for_unit("multi-user.target") + assert "yes" in machine.succeed( + "systemctl show testservice1.service -p IOAccounting" + ) - # Test settings from /etc/sysctl.d/50-default.conf are applied - subtest "systemd sysctl settings are applied", sub { - $machine->waitForUnit('multi-user.target'); - $machine->succeed('sysctl net.core.default_qdisc | grep -q "fq_codel"'); - }; - - # Test cgroup accounting is enabled - subtest "systemd cgroup accounting is enabled", sub { - $machine->waitForUnit('multi-user.target'); - $machine->succeed('systemctl show testservice1.service -p IOAccounting | grep -q "yes"'); - $machine->succeed('systemctl status testservice1.service | grep -q "CPU:"'); - }; + retcode, output = machine.execute("systemctl status testservice1.service") + assert retcode in [0, 3] # https://bugs.freedesktop.org/show_bug.cgi?id=77507 + assert "CPU:" in output ''; }) diff --git a/nixos/tests/victoriametrics.nix b/nixos/tests/victoriametrics.nix new file mode 100644 index 000000000000..73ef8b728615 --- /dev/null +++ b/nixos/tests/victoriametrics.nix @@ -0,0 +1,31 @@ +# This test runs influxdb and checks if influxdb is up and running + +import ./make-test-python.nix ({ pkgs, ...} : { + name = "victoriametrics"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ yorickvp ]; + }; + + nodes = { + one = { ... }: { + services.victoriametrics.enable = true; + }; + }; + + testScript = '' + start_all() + + one.wait_for_unit("victoriametrics.service") + + # write some points and run simple query + out = one.succeed( + "curl -d 'measurement,tag1=value1,tag2=value2 field1=123,field2=1.23' -X POST 'http://localhost:8428/write'" + ) + cmd = """curl -s -G 'http://localhost:8428/api/v1/export' -d 'match={__name__!=""}'""" + # data takes a while to appear + one.wait_until_succeeds(f"[[ $({cmd} | wc -l) -ne 0 ]]") + out = one.succeed(cmd) + assert '"values":[123]' in out + assert '"values":[1.23]' in out + ''; +}) diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix index b972aae7de80..1d6bc33cc554 100644 --- a/pkgs/applications/audio/gpodder/default.nix +++ b/pkgs/applications/audio/gpodder/default.nix @@ -5,14 +5,14 @@ python3Packages.buildPythonApplication rec { pname = "gpodder"; - version = "3.10.11"; + version = "3.10.12"; format = "other"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "15f5z3cnch9lpzbz73l4wjykv9n74y8djz5db53la2ql4ihaxfz9"; + sha256 = "0q95am079gg01dkivr972mm2k87y8z296a9yf7amzsf9hxfycdra"; }; patches = [ diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix index 267f25f8bb58..e3b82152e6fa 100644 --- a/pkgs/applications/networking/cluster/kops/default.nix +++ b/pkgs/applications/networking/cluster/kops/default.nix @@ -67,7 +67,7 @@ in rec { }; kops_1_15 = mkKops { - version = "1.15.0"; - sha256 = "0sjas8pn0njl767b1y15g7cci2q3kxkxwmgr0wvs7vi3n1s1sf9d"; + version = "1.15.1"; + sha256 = "0iq2bqq6zv6sk2psar33c3smnz79rk5v623qx4kr5h47wnqvrfvj"; }; } diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix index 5a133dec83dd..8928814e9670 100644 --- a/pkgs/applications/networking/instant-messengers/dino/default.nix +++ b/pkgs/applications/networking/instant-messengers/dino/default.nix @@ -2,7 +2,8 @@ , vala, cmake, ninja, wrapGAppsHook, pkgconfig, gettext , gobject-introspection, gnome3, glib, gdk-pixbuf, gtk3, glib-networking , xorg, libXdmcp, libxkbcommon -, libnotify, libsoup, libgee +, libnotify, libsoup, libgee, utillinux, libselinux, libsepol, libpsl, brotli +, librsvg, libsignal-protocol-c , libgcrypt , epoxy , at-spi2-core @@ -14,15 +15,15 @@ , icu }: -stdenv.mkDerivation { - name = "dino-unstable-2019-10-28"; +stdenv.mkDerivation rec { + pname = "dino"; + version = "0.1.0"; src = fetchFromGitHub { owner = "dino"; repo = "dino"; - rev = "388cc56674487e7b9e339637369fc55f0e271daf"; - sha256 = "1v8rnjbzi8qhwb1fv787byxk8ygfs16z2j64h0s6sd3asr4n0kz1"; - fetchSubmodules = true; + rev = "v${version}"; + sha256 = "1k5cgj5n8s40i71wqdh6m1q0njl45ichfdbbywx9rga5hljz1c54"; }; nativeBuildInputs = [ @@ -51,21 +52,27 @@ stdenv.mkDerivation { pcre xorg.libxcb xorg.libpthreadstubs + xorg.libXtst libXdmcp libxkbcommon epoxy at-spi2-core dbus icu + utillinux + libselinux + libsepol + libpsl + brotli + libsignal-protocol-c + librsvg ]; - enableParallelBuilding = true; - meta = with stdenv.lib; { description = "Modern Jabber/XMPP Client using GTK/Vala"; homepage = https://github.com/dino/dino; license = licenses.gpl3; platforms = platforms.linux; - maintainers = [ maintainers.mic92 ]; + maintainers = with maintainers; [ mic92 qyliss ]; }; } diff --git a/pkgs/applications/science/logic/ott/default.nix b/pkgs/applications/science/logic/ott/default.nix index 854a62a5538d..fa7c3dd5e95f 100644 --- a/pkgs/applications/science/logic/ott/default.nix +++ b/pkgs/applications/science/logic/ott/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "ott"; - version = "0.29"; + version = "0.30"; src = fetchFromGitHub { owner = "ott-lang"; repo = "ott"; rev = version; - sha256 = "0saznk2mjbhp3j57imy2p2j0938026bw5m5gqbj59vcvk1rwwl22"; + sha256 = "16bxfnm30z94x36vr8vs6zd6fj55vnb7aypjl6hf7clk42040brc"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index acfb30cd7c53..c6e046ea45bc 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -135,6 +135,10 @@ let git-test = callPackage ./git-test { }; + git-workspace = callPackage ./git-workspace { + inherit (darwin.apple_sdk.frameworks) Security; + }; + git2cl = callPackage ./git2cl { }; gitFastExport = callPackage ./fast-export { }; diff --git a/pkgs/applications/version-management/git-and-tools/git-workspace/default.nix b/pkgs/applications/version-management/git-and-tools/git-workspace/default.nix new file mode 100644 index 000000000000..3a72f38903e6 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git-workspace/default.nix @@ -0,0 +1,31 @@ +{ stdenv +, fetchFromGitHub +, rustPlatform +, Security +}: + +rustPlatform.buildRustPackage rec { + pname = "git-workspace"; + version = "0.4.1"; + + src = fetchFromGitHub { + owner = "orf"; + repo = pname; + rev = "v${version}"; + sha256 = "01qxm00c5wqpy1clrvjr44v7cg4nqawaf5a6qnvvgswvis4kakzr"; + }; + + cargoSha256 = "16rkmk888alfvq8nsggi26vck1c7ya0fa5j7gv219g5py4gw2n34"; + + verifyCargoDeps = true; + + buildInputs = with stdenv; lib.optional isDarwin Security; + + meta = with stdenv.lib; { + description = "Sync personal and work git repositories from multiple providers"; + homepage = "https://github.com/orf/git-workspace"; + license = with licenses; [ mit ]; + platforms = platforms.all; + maintainers = with maintainers; [ misuzu ]; + }; +} diff --git a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix index efc538f0fd61..c146ffef5ff6 100644 --- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix +++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix @@ -137,16 +137,7 @@ in '' CRATENAME=$(echo ${crateName} | sed -e "s/\(.*\)-sys$/\U\1/") grep -P "^cargo:(?!(rustc-|warning=|rerun-if-changed=|rerun-if-env-changed))" target/build/${crateName}.opt \ | sed -e "s/cargo:\([^=]*\)=\(.*\)/export DEP_$(echo $CRATENAME)_\U\1\E=\2/" > target/env - set -e - if [[ -n "$(ls target/build/${crateName}.out)" ]]; then - - if [[ -e "${libPath}" ]]; then - cp -r target/build/${crateName}.out/* $(dirname ${libPath}) #*/ - else - cp -r target/build/${crateName}.out/* src #*/ - fi - fi fi runHook postConfigure '' diff --git a/pkgs/build-support/rust/build-rust-crate/test/default.nix b/pkgs/build-support/rust/build-rust-crate/test/default.nix index cdffb30d9b3c..6aad02992c1b 100644 --- a/pkgs/build-support/rust/build-rust-crate/test/default.nix +++ b/pkgs/build-support/rust/build-rust-crate/test/default.nix @@ -199,6 +199,27 @@ let }) ]; }; + # Regression test for https://github.com/NixOS/nixpkgs/issues/74071 + # Whenevever a build.rs file is generating files those should not be overlayed onto the actual source dir + buildRsOutDirOverlay = { + src = symlinkJoin { + name = "buildrs-out-dir-overlay"; + paths = [ + (mkLib "src/lib.rs") + (mkFile "build.rs" '' + use std::env; + use std::ffi::OsString; + use std::fs; + use std::path::Path; + fn main() { + let out_dir = env::var_os("OUT_DIR").expect("OUT_DIR not set"); + let out_file = Path::new(&out_dir).join("lib.rs"); + fs::write(out_file, "invalid rust code!").expect("failed to write lib.rs"); + } + '') + ]; + }; + }; }; brotliCrates = (callPackage ./brotli-crates.nix {}); in lib.mapAttrs (key: value: mkTest (value // lib.optionalAttrs (!value?crateName) { crateName = key; })) cases // { diff --git a/pkgs/data/icons/qogir-icon-theme/default.nix b/pkgs/data/icons/qogir-icon-theme/default.nix index b7ae27aac689..8bfde381633c 100644 --- a/pkgs/data/icons/qogir-icon-theme/default.nix +++ b/pkgs/data/icons/qogir-icon-theme/default.nix @@ -2,17 +2,19 @@ stdenv.mkDerivation rec { pname = "qogir-icon-theme"; - version = "2019-09-15"; + version = "2020-01-29"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; - rev = "4e1b6c693615bc2c7c7a11df6f4b90f2e6fb67db"; - sha256 = "1vp1wp4fgmy5af8z8nb3m6wgmb6wbwlvx5smf9dxfcn254hdg8g0"; + rev = version; + sha256 = "0g6qiry4gzkr48xn4qi8sdna0hi3982sywskz9adkzqcznir542h"; }; nativeBuildInputs = [ gtk3 ]; + dontDropIconThemeCache = true; + installPhase = '' patchShebangs install.sh mkdir -p $out/share/icons @@ -21,7 +23,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A colorful design icon theme for linux desktops"; - homepage = https://github.com/vinceliuice/Qogir-icon-theme; + homepage = "https://github.com/vinceliuice/Qogir-icon-theme"; license = with licenses; [ gpl3 ]; platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix index bdb16c922071..316ddbfcb607 100644 --- a/pkgs/development/compilers/nim/default.nix +++ b/pkgs/development/compilers/nim/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "nim"; - version = "1.0.4"; + version = "1.0.6"; src = fetchurl { url = "https://nim-lang.org/download/${pname}-${version}.tar.xz"; - sha256 = "1q5fx9g40bk4ajghi856w5l34fmrl7avq5j6p0dr2xa4l52ib149"; + sha256 = "1cv6bxc7w21455c0pv0r2h64ljyzw266jsk1fsgiiyk2rx8mfkhk"; }; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix index 9327e0d936c5..150681ebda18 100644 --- a/pkgs/development/libraries/glibc/default.nix +++ b/pkgs/development/libraries/glibc/default.nix @@ -54,9 +54,10 @@ callPackage ./common.nix { inherit stdenv; } { # Fix -Werror build failure when building glibc with musl with GCC >= 8, see: # https://github.com/NixOS/nixpkgs/pull/68244#issuecomment-544307798 (stdenv.lib.optional stdenv.hostPlatform.isMusl "-Wno-error=attribute-alias") - (stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + (stdenv.lib.optionals ((stdenv.hostPlatform != stdenv.buildPlatform) || stdenv.hostPlatform.isMusl) [ # Ignore "error: '__EI___errno_location' specifies less restrictive attributes than its target '__errno_location'" # New warning as of GCC 9 + # Same for musl: https://github.com/NixOS/nixpkgs/issues/78805 "-Wno-error=missing-attributes" ]) ]); diff --git a/pkgs/development/libraries/gspell/default.nix b/pkgs/development/libraries/gspell/default.nix index 8adb6264e375..71a427eb2a66 100644 --- a/pkgs/development/libraries/gspell/default.nix +++ b/pkgs/development/libraries/gspell/default.nix @@ -2,7 +2,7 @@ let pname = "gspell"; - version = "1.8.2"; + version = "1.8.3"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; @@ -11,7 +11,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"; + sha256 = "1s1dns070pz8dg04ppshdbx1r86n9406vkxcfs8hdghn0bfi9ras"; }; propagatedBuildInputs = [ enchant2 ]; # required for pkgconfig diff --git a/pkgs/development/libraries/odpic/default.nix b/pkgs/development/libraries/odpic/default.nix index f3e8742bb207..52dbdc105750 100644 --- a/pkgs/development/libraries/odpic/default.nix +++ b/pkgs/development/libraries/odpic/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, fixDarwinDylibNames, oracle-instantclient, libaio }: let - version = "3.2.1"; + version = "3.3.0"; libPath = stdenv.lib.makeLibraryPath [ oracle-instantclient.lib ]; in stdenv.mkDerivation { @@ -13,7 +13,7 @@ in stdenv.mkDerivation { owner = "oracle"; repo = "odpi"; rev = "v${version}"; - sha256 = "1f9gznc7h73cgx32p55rkhzla6l7l9dg53ilwh6zdgdqlp7n018i"; + sha256 = "0qyfpincifz2vgicjd4q3rk563sg7927xja53rz3l7zv54wp9k62"; }; nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin [ fixDarwinDylibNames ]; diff --git a/pkgs/development/libraries/quickder/default.nix b/pkgs/development/libraries/quickder/default.nix index 529d361f206f..7e006236080a 100644 --- a/pkgs/development/libraries/quickder/default.nix +++ b/pkgs/development/libraries/quickder/default.nix @@ -3,10 +3,10 @@ stdenv.mkDerivation rec { pname = "quickder"; - version = "1.2-6"; + version = "1.3.0"; src = fetchFromGitHub { - sha256 = "00wifjydgmqw2i5vmr049visc3shjqccgzqynkmmhkjhs86ghzr6"; + sha256 = "15lxv8vcjnsjxg7ywcac5p6mj5vf5pxq1219yap653ci4f1liqfr"; rev = "version-${version}"; owner = "vanrein"; repo = "quick-der"; diff --git a/pkgs/development/python-modules/ROPGadget/default.nix b/pkgs/development/python-modules/ROPGadget/default.nix index 4daf76219adf..310e84a918d4 100644 --- a/pkgs/development/python-modules/ROPGadget/default.nix +++ b/pkgs/development/python-modules/ROPGadget/default.nix @@ -3,11 +3,11 @@ buildPythonPackage rec { pname = "ROPGadget"; - version = "5.9"; + version = "6.0"; src = fetchPypi { inherit pname version; - sha256 = "0lggiqws4dzq6k6c20l515pmjajl19gymsxfggkv771dv5kr1gbs"; + sha256 = "02wgrdrg0s0cr9yjsb4945244m8x8rr8jzxr8h8c6k2na4d17xf4"; }; propagatedBuildInputs = [ capstone ]; diff --git a/pkgs/development/python-modules/atlassian-python-api/default.nix b/pkgs/development/python-modules/atlassian-python-api/default.nix new file mode 100755 index 000000000000..3de3277a72d5 --- /dev/null +++ b/pkgs/development/python-modules/atlassian-python-api/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchPypi +, isPy3k +, certifi +, chardet +, idna +, oauthlib +, requests +, requests_oauthlib +, six +, urllib3 +, pytestrunner +, pytest +}: + +buildPythonPackage rec { + pname = "atlassian-python-api"; + version = "1.14.9"; + + src = fetchPypi { + inherit pname version; + sha256 = "28ff793cb43152384a810efc6ee572473daf3dc44bf7c1c295efb270a6d29251"; + }; + + checkInputs = [ pytestrunner pytest ]; + + propagatedBuildInputs = [ oauthlib requests requests_oauthlib six ]; + + meta = with lib; { + description = "Python Atlassian REST API Wrapper"; + homepage = "https://github.com/atlassian-api/atlassian-python-api"; + license = licenses.asl20; + maintainers = [ maintainers.arnoldfarkas ]; + }; +} + diff --git a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix new file mode 100644 index 000000000000..626d704f1d8a --- /dev/null +++ b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix @@ -0,0 +1,23 @@ +{ lib, buildPythonPackage, fetchPypi, django, djangorestframework, pyjwt }: + +buildPythonPackage rec { + pname = "djangorestframework_simplejwt"; + version = "4.4.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "c315be70aa12a5f5790c0ab9acd426c3a58eebea65a77d0893248c5144a5080c"; + }; + + propagatedBuildInputs = [ django djangorestframework pyjwt ]; + + # Test raises django.core.exceptions.ImproperlyConfigured + doCheck = false; + + meta = with lib; { + description = "A minimal JSON Web Token authentication plugin for Django REST Framework"; + homepage = "https://github.com/davesque/django-rest-framework-simplejwt"; + license = licenses.mit; + maintainers = [ maintainers.arnoldfarkas ]; + }; +} diff --git a/pkgs/development/python-modules/statsmodels/default.nix b/pkgs/development/python-modules/statsmodels/default.nix index e45ccdd49c67..61d354c8d5f5 100644 --- a/pkgs/development/python-modules/statsmodels/default.nix +++ b/pkgs/development/python-modules/statsmodels/default.nix @@ -13,11 +13,11 @@ buildPythonPackage rec { pname = "statsmodels"; - version = "0.10.2"; + version = "0.11.0"; src = fetchPypi { inherit pname version; - sha256 = "9cd2194c6642a8754e85f9a6e6912cdf996bebf6ff715d3cc67f65dadfd37cc9"; + sha256 = "0wcc7xbwlf8r2diw9fnzf4bg9h5cg406w7phd3dz37hx17yfi3ha"; }; checkInputs = with self; [ nose ]; diff --git a/pkgs/development/tools/misc/argbash/default.nix b/pkgs/development/tools/misc/argbash/default.nix index b8e3ff4a9dfe..0cc25ddf20b6 100644 --- a/pkgs/development/tools/misc/argbash/default.nix +++ b/pkgs/development/tools/misc/argbash/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, autoconf }: +{ stdenv, fetchFromGitHub, autoconf, runtimeShell, python3Packages, makeWrapper }: stdenv.mkDerivation rec { pname = "argbash"; @@ -12,12 +12,24 @@ stdenv.mkDerivation rec { sha256 = "0zara7v3pnwiwkpb0x0g37pxhmim4425q4gba712f6djj115r1mr"; }; - sourceRoot = "${src}/resources"; + sourceRoot = "source/resources"; - nativeBuildInputs = [ autoconf ]; + postPatch = '' + chmod -R +w .. + patchShebangs .. + substituteInPlace Makefile \ + --replace '/bin/bash' "${runtimeShell}" + ''; + + nativeBuildInputs = [ autoconf python3Packages.docutils makeWrapper ]; makeFlags = [ "PREFIX=$(out)" ]; + postInstall = '' + wrapProgram $out/bin/argbash \ + --prefix PATH : '${autoconf}/bin' + ''; + meta = with stdenv.lib; { description = "Bash argument parsing code generator"; homepage = "https://argbash.io/"; diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix index 6e6d6b56014f..3d4f52f2c704 100644 --- a/pkgs/games/mindustry/default.nix +++ b/pkgs/games/mindustry/default.nix @@ -12,6 +12,8 @@ # any build is allowed, so this parameter acts as a simple whitelist. # Takes the package version and returns the build version. , makeBuildVersion ? (v: v) +, enableClient ? true +, enableServer ? true }: let @@ -52,6 +54,9 @@ let pname = "${pname}-deps"; inherit version src postPatch; nativeBuildInputs = [ gradle_5 perl ]; + # Here we build both the server and the client so we only have to specify + # one hash for 'deps'. Deps can be garbage collected after the build, + # so this is not really an issue. buildPhase = '' export GRADLE_USER_HOME=$(mktemp -d) gradle --no-daemon desktop:dist -Pbuildversion=${buildVersion} @@ -68,31 +73,49 @@ let outputHash = "16k058fw9yk89adx8j1708ynfri5yizmmvh49prls9slw4hipffb"; }; -in stdenv.mkDerivation rec { - inherit pname version src postPatch; - - nativeBuildInputs = [ gradle_5 makeWrapper ]; - - buildPhase = '' - export GRADLE_USER_HOME=$(mktemp -d) - # point to offline repo - sed -ie "s#mavenLocal()#mavenLocal(); maven { url '${deps}' }#g" build.gradle + # Separate commands for building and installing the server and the client + buildClient = '' gradle --offline --no-daemon desktop:dist -Pbuildversion=${buildVersion} + ''; + buildServer = '' gradle --offline --no-daemon server:dist -Pbuildversion=${buildVersion} ''; - - installPhase = '' + installClient = '' install -Dm644 desktop/build/libs/Mindustry.jar $out/share/mindustry.jar - install -Dm644 server/build/libs/server-release.jar $out/share/mindustry-server.jar - mkdir $out/bin + mkdir -p $out/bin makeWrapper ${jre}/bin/java $out/bin/mindustry \ --prefix LD_LIBRARY_PATH : ${libpulseaudio}/lib \ --add-flags "-jar $out/share/mindustry.jar" - makeWrapper ${jre}/bin/java $out/bin/mindustry-server \ - --add-flags "-jar $out/share/mindustry-server.jar" install -Dm644 core/assets/icons/icon_64.png $out/share/icons/hicolor/64x64/apps/mindustry.png install -Dm644 ${desktopItem}/share/applications/Mindustry.desktop $out/share/applications/Mindustry.desktop ''; + installServer = '' + install -Dm644 server/build/libs/server-release.jar $out/share/mindustry-server.jar + mkdir -p $out/bin + makeWrapper ${jre}/bin/java $out/bin/mindustry-server \ + --add-flags "-jar $out/share/mindustry-server.jar" + ''; + +in +assert stdenv.lib.assertMsg (enableClient || enableServer) + "mindustry: at least one of 'enableClient' and 'enableServer' must be true"; +stdenv.mkDerivation rec { + inherit pname version src postPatch; + + nativeBuildInputs = [ gradle_5 makeWrapper ]; + + buildPhase = with stdenv.lib; '' + export GRADLE_USER_HOME=$(mktemp -d) + # point to offline repo + sed -ie "s#mavenLocal()#mavenLocal(); maven { url '${deps}' }#g" build.gradle + ${optionalString enableClient buildClient} + ${optionalString enableServer buildServer} + ''; + + installPhase = with stdenv.lib; '' + ${optionalString enableClient installClient} + ${optionalString enableServer installServer} + ''; meta = with stdenv.lib; { homepage = "https://mindustrygame.github.io/"; diff --git a/pkgs/servers/monitoring/seyren/default.nix b/pkgs/servers/monitoring/seyren/default.nix index eb98e45c36c3..5312ecb06924 100644 --- a/pkgs/servers/monitoring/seyren/default.nix +++ b/pkgs/servers/monitoring/seyren/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "seyren"; - version = "1.1.0"; + version = "1.5.0"; src = fetchurl { url = "https://github.com/scobal/seyren/releases/download/${version}/seyren-${version}.jar"; - sha256 = "10m64zdci4swlvivii1jnmrwfi461af3xvn0xvwvy7i8kyb56vrr"; + sha256 = "1fixij04n8hgmaj8kw8i6vclwyd6n94x0n6ify73ynm6dfv8g37x"; }; phases = ["installPhase"]; diff --git a/pkgs/servers/mtprotoproxy/default.nix b/pkgs/servers/mtprotoproxy/default.nix index 550ee4c160f3..4838fed47fb0 100644 --- a/pkgs/servers/mtprotoproxy/default.nix +++ b/pkgs/servers/mtprotoproxy/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "mtprotoproxy"; - version = "1.0.8"; + version = "1.0.9"; src = fetchFromGitHub { owner = "alexbers"; repo = "mtprotoproxy"; rev = "v${version}"; - sha256 = "1bpgbqbgy7c637bzm6g5msm2i10dfl4qb7psy3k3cbaysw696kjc"; + sha256 = "16f9hzh4h41qb5962lxx04653ncar83znh872g2qh564b6f922z2"; }; nativeBuildInputs = [ wrapPython ]; diff --git a/pkgs/servers/nosql/victoriametrics/default.nix b/pkgs/servers/nosql/victoriametrics/default.nix new file mode 100644 index 000000000000..45d3d3cc5595 --- /dev/null +++ b/pkgs/servers/nosql/victoriametrics/default.nix @@ -0,0 +1,21 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "VictoriaMetrics"; + version = "1.32.5"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "1i3l8bkii3x8wnq9a8yn48cchni5h0gy3rrpvg0jgm4kmm5dlq4y"; + }; + + modSha256 = "0696p1hv5z3dvawizvw0yi4xzl41bsmszkdqayzb37nm5cfk8riq"; + meta = with lib; { + homepage = "https://victoriametrics.com/"; + description = "fast, cost-effective and scalable time series database, long-term remote storage for Prometheus"; + license = licenses.asl20; + maintainers = [ maintainers.yorickvp ]; + }; +} diff --git a/pkgs/tools/admin/lego/default.nix b/pkgs/tools/admin/lego/default.nix index fa7c3876a283..48daaa418bb4 100644 --- a/pkgs/tools/admin/lego/default.nix +++ b/pkgs/tools/admin/lego/default.nix @@ -2,18 +2,22 @@ buildGoModule rec { pname = "lego"; - version = "3.2.0"; + version = "3.3.0"; src = fetchFromGitHub { owner = "go-acme"; repo = pname; rev = "v${version}"; - sha256 = "1djvwyjg30f9bj61pf3y2k2w055pj39v0sif4rjqg8cz0j382a2z"; + sha256 = "135zz5gp5vqqwmz3701n5xfvz9yxzm4m53q3dbj9vfc8xkcxn44n"; }; - modSha256 = "0k3p11cji3p4nzr8aia8hp01wyx1qfx84259dwbfwg1b32ln8rkc"; + modSha256 = "0jirpfd427317px0fd630bmi3li6zc5vihydwmwbj0qsfvhn4qm4"; subPackages = [ "cmd/lego" ]; + buildFlagsArray = [ + "-ldflags=-X main.version=${version}" + ]; + meta = with lib; { description = "Let's Encrypt client and ACME library written in Go"; license = licenses.mit; diff --git a/pkgs/tools/security/bitwarden_rs/cargo-lock-lettre.patch b/pkgs/tools/security/bitwarden_rs/cargo-lock-lettre.patch deleted file mode 100644 index d9f491ca290a..000000000000 --- a/pkgs/tools/security/bitwarden_rs/cargo-lock-lettre.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/Cargo.lock b/Cargo.lock -index 2e0b695..6d23410 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -114,8 +114,8 @@ dependencies = [ - "handlebars 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonwebtoken 6.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -- "lettre 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", -- "lettre_email 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", -+ "lettre 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", -+ "lettre_email 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libsqlite3-sys 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "multipart 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)", -@@ -1007,13 +1007,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - - [[package]] - name = "lettre" --version = "0.9.1" -+version = "0.9.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - dependencies = [ - "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bufstream 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -- "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", -- "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "fast_chemail 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)", - "hostname 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", -@@ -1026,14 +1024,12 @@ dependencies = [ - - [[package]] - name = "lettre_email" --version = "0.9.1" -+version = "0.9.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - dependencies = [ - "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "email 0.0.20 (registry+https://github.com/rust-lang/crates.io-index)", -- "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", -- "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", -- "lettre 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", -+ "lettre 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", - "mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", -@@ -2858,8 +2854,8 @@ dependencies = [ - "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" - "checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" - "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" --"checksum lettre 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "646aee0a55545eaffdf0df1ac19b500b51adb3095ec4dfdc704134e56ea23531" --"checksum lettre_email 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ae1b3d43e4bb7beb9974a359cbb3ea4f93dfba6c1c0c6e9c9f82e538e0f9ab9f" -+"checksum lettre 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c66afaa5dfadbb81d4e00fd1d1ab057c7cd4c799c5a44e0009386d553587e728" -+"checksum lettre_email 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bbb68ca999042d965476e47bbdbacd52db0927348b6f8062c44dd04a3b1fd43b" - "checksum libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "42914d39aad277d9e176efbdad68acb1d5443ab65afe0e0e4f0d49352a950880" - "checksum libsqlite3-sys 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd6457c70bbff456d9fe49deaba35ec47c3e598bf8d7950ff0575ceb7a8a6ad1" - "checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" diff --git a/pkgs/tools/security/bitwarden_rs/default.nix b/pkgs/tools/security/bitwarden_rs/default.nix index f04996f1b431..1b262581eb23 100644 --- a/pkgs/tools/security/bitwarden_rs/default.nix +++ b/pkgs/tools/security/bitwarden_rs/default.nix @@ -1,31 +1,43 @@ -{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, openssl, Security, CoreServices }: +{ stdenv, rustPlatform, fetchFromGitHub +, pkgconfig, openssl +, Security, CoreServices +, dbBackend ? "sqlite", libmysqlclient, postgresql }: -rustPlatform.buildRustPackage rec { +let + featuresFlag = "--features ${dbBackend}"; + +in rustPlatform.buildRustPackage rec { pname = "bitwarden_rs"; - version = "1.9.1"; + version = "1.13.1"; src = fetchFromGitHub { owner = "dani-garcia"; repo = pname; rev = version; - sha256 = "0jfb4b2lp2v01aw615lx0qj1qh73hyrbjn9kva7zqp74wcfw12gp"; + sha256 = "0af8cnpx86a096m59wmszcfyrfgf7adlqr39phbg647mgjfzwcrk"; }; - cargoPatches = [ - # type annotations required: cannot resolve `std::string::String: std::convert::AsRef<_>` - ./cargo-lock-lettre.patch - ]; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security CoreServices ]; + buildInputs = with stdenv.lib; [ openssl ] + ++ optionals stdenv.isDarwin [ Security CoreServices ] + ++ optional (dbBackend == "mysql") libmysqlclient + ++ optional (dbBackend == "postgresql") postgresql; RUSTC_BOOTSTRAP = 1; - cargoSha256 = "0p39gqrqdmgqhngp1qyh6jl0sp0ifj5n3bxfqafjbspb4zph3ls4"; + cargoSha256 = "1v6n4aqhd5pyvvhlzhpmq7ykclfxw82wn2bg7n49b53d9p72jwq6"; + cargoBuildFlags = [ featuresFlag ]; + + checkPhase = '' + runHook preCheck + echo "Running cargo cargo test ${featuresFlag} -- ''${checkFlags} ''${checkFlagsArray+''${checkFlagsArray[@]}}" + cargo test ${featuresFlag} -- ''${checkFlags} ''${checkFlagsArray+"''${checkFlagsArray[@]}"} + runHook postCheck + ''; meta = with stdenv.lib; { - description = "An unofficial lightweight implementation of the Bitwarden server API using Rust and SQLite"; - homepage = https://github.com/dani-garcia/bitwarden_rs; + description = "Unofficial Bitwarden compatible server written in Rust"; + homepage = "https://github.com/dani-garcia/bitwarden_rs"; license = licenses.gpl3; maintainers = with maintainers; [ msteen ]; platforms = platforms.all; diff --git a/pkgs/tools/security/qdigidoc/default.nix b/pkgs/tools/security/qdigidoc/default.nix index 7fc6ed209663..fcbc166689e3 100644 --- a/pkgs/tools/security/qdigidoc/default.nix +++ b/pkgs/tools/security/qdigidoc/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchgit, fetchurl, cmake, darkhttpd, gettext, makeWrapper, pkgconfig +{ stdenv, mkDerivation, fetchgit, fetchurl, cmake, darkhttpd, gettext, makeWrapper, pkgconfig , libdigidocpp, opensc, openldap, openssl, pcsclite, qtbase, qttranslations, qtsvg }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "qdigidoc"; - version = "4.1.0"; + version = "4.2.3"; src = fetchgit { url = "https://github.com/open-eid/DigiDoc4-Client"; rev = "v${version}"; - sha256 = "1iry36h3pfnw2gqjnfhv53i2svybxj8jf18qh486djyai84hjr4d"; + sha256 = "1hj49vvg8vrayr9kpz73fafa7k298hmiamkyd8c3ipy6s51xh6q4"; fetchSubmodules = true; }; @@ -42,9 +42,9 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Qt-based UI for signing and verifying DigiDoc documents"; - homepage = https://www.id.ee/; + homepage = "https://www.id.ee/"; license = licenses.lgpl21Plus; platforms = platforms.linux; - maintainers = with maintainers; [ yegortimoshenko ]; + maintainers = with maintainers; [ yegortimoshenko mmahut ]; }; } diff --git a/pkgs/tools/security/ripasso/cursive.nix b/pkgs/tools/security/ripasso/cursive.nix index b273b882daf0..da850c6d9daa 100644 --- a/pkgs/tools/security/ripasso/cursive.nix +++ b/pkgs/tools/security/ripasso/cursive.nix @@ -2,17 +2,17 @@ with rustPlatform; buildRustPackage rec { - version = "0.3.0"; + version = "0.4.0"; pname = "ripasso-cursive"; src = fetchFromGitHub { owner = "cortex"; repo = "ripasso"; rev = "release-${version}"; - sha256 = "1rkb23i9gcfmifcl31s8w86k7aza6nxrh3w33fvhv1ins1gxxk7w"; + sha256 = "164da20j727p8l7hh37j2r8pai9sj402nhswvg0nrlgj53nr6083"; }; - cargoSha256 = "1p0bsl4h2w257vfjbpqiga693gaslfq34g30dghpqb5n4kl416zp"; + cargoSha256 = "1vyhdbia7khh0ixim00knai5d270jl5a5crqik1qaz7bkwc02bsp"; cargoBuildFlags = [ "-p ripasso-cursive -p ripasso-man" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 313272a31231..2feb885ba5dd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -791,6 +791,9 @@ in bitwarden_rs = callPackage ../tools/security/bitwarden_rs { inherit (darwin.apple_sdk.frameworks) Security CoreServices; }; + bitwarden_rs-sqlite = bitwarden_rs; + bitwarden_rs-mysql = bitwarden_rs.override { dbBackend = "mysql"; }; + bitwarden_rs-postgresql = bitwarden_rs.override { dbBackend = "postgresql"; }; bitwarden_rs-vault = callPackage ../tools/security/bitwarden_rs/vault.nix { }; @@ -15884,6 +15887,8 @@ in unifiStable; unifi = unifiStable; + victoriametrics = callPackage ../servers/nosql/victoriametrics { }; + virtlyst = libsForQt5.callPackage ../servers/web-apps/virtlyst { }; virtuoso6 = callPackage ../servers/sql/virtuoso/6.x.nix { @@ -23129,6 +23134,11 @@ in mindustry = callPackage ../games/mindustry { }; + mindustry-server = callPackage ../games/mindustry { + enableClient = false; + enableServer = true; + }; + minecraft = callPackage ../games/minecraft { }; minecraft-server = callPackage ../games/minecraft-server { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 18b014bff86e..3a93212d0c1f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1662,6 +1662,8 @@ in { asn1ate = callPackage ../development/python-modules/asn1ate { }; + atlassian-python-api = callPackage ../development/python-modules/atlassian-python-api { }; + atomiclong = callPackage ../development/python-modules/atomiclong { }; atomicwrites = callPackage ../development/python-modules/atomicwrites { }; @@ -3325,6 +3327,8 @@ in { djangorestframework-jwt = callPackage ../development/python-modules/djangorestframework-jwt { }; + djangorestframework-simplejwt = callPackage ../development/python-modules/djangorestframework-simplejwt { }; + django-raster = callPackage ../development/python-modules/django-raster { }; django_redis = callPackage ../development/python-modules/django_redis { }; |