diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh
index 9d49d4055e4..ea9667995e1 100644
--- a/nixos/modules/installer/tools/nixos-install.sh
+++ b/nixos/modules/installer/tools/nixos-install.sh
@@ -125,7 +125,7 @@ fi
# Resolve the flake.
if [[ -n $flake ]]; then
- flake=$(nix "${flakeFlags[@]}" flake info --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url)
+ flake=$(nix "${flakeFlags[@]}" flake metadata --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url)
fi
if [[ ! -e $NIXOS_CONFIG && -z $system && -z $flake ]]; then
diff --git a/nixos/modules/services/mail/exim.nix b/nixos/modules/services/mail/exim.nix
index 892fbd33214..8927d84b478 100644
--- a/nixos/modules/services/mail/exim.nix
+++ b/nixos/modules/services/mail/exim.nix
@@ -67,6 +67,13 @@ in
'';
};
+ queueRunnerInterval = mkOption {
+ type = types.str;
+ default = "5m";
+ description = ''
+ How often to spawn a new queue runner.
+ '';
+ };
};
};
@@ -104,7 +111,7 @@ in
wantedBy = [ "multi-user.target" ];
restartTriggers = [ config.environment.etc."exim.conf".source ];
serviceConfig = {
- ExecStart = "${cfg.package}/bin/exim -bdf -q30m";
+ ExecStart = "${cfg.package}/bin/exim -bdf -q${cfg.queueRunnerInterval}";
ExecReload = "${coreutils}/bin/kill -HUP $MAINPID";
};
preStart = ''
diff --git a/nixos/modules/services/mail/spamassassin.nix b/nixos/modules/services/mail/spamassassin.nix
index 4e642542ec6..ac878222b26 100644
--- a/nixos/modules/services/mail/spamassassin.nix
+++ b/nixos/modules/services/mail/spamassassin.nix
@@ -126,19 +126,36 @@ in
};
systemd.services.sa-update = {
+ # Needs to be able to contact the update server.
+ wants = [ "network-online.target" ];
+ after = [ "network-online.target" ];
+
+ serviceConfig = {
+ Type = "oneshot";
+ User = "spamd";
+ Group = "spamd";
+ StateDirectory = "spamassassin";
+ ExecStartPost = "+${pkgs.systemd}/bin/systemctl -q --no-block try-reload-or-restart spamd.service";
+ };
+
script = ''
set +e
- ${pkgs.su}/bin/su -s "${pkgs.bash}/bin/bash" -c "${pkgs.spamassassin}/bin/sa-update --gpghomedir=/var/lib/spamassassin/sa-update-keys/" spamd
-
- v=$?
+ ${pkgs.spamassassin}/bin/sa-update --verbose --gpghomedir=/var/lib/spamassassin/sa-update-keys/
+ rc=$?
set -e
- if [ $v -gt 1 ]; then
- echo "sa-update execution error"
- exit $v
+
+ if [[ $rc -gt 1 ]]; then
+ # sa-update failed.
+ exit $rc
fi
- if [ $v -eq 0 ]; then
- systemctl reload spamd.service
+
+ if [[ $rc -eq 1 ]]; then
+ # No update was available, exit successfully.
+ exit 0
fi
+
+ # An update was available and installed. Compile the rules.
+ ${pkgs.spamassassin}/bin/sa-compile
'';
};
@@ -153,32 +170,22 @@ in
};
systemd.services.spamd = {
- description = "Spam Assassin Server";
+ description = "SpamAssassin Server";
wantedBy = [ "multi-user.target" ];
- after = [ "network.target" ];
+ wants = [ "sa-update.service" ];
+ after = [
+ "network.target"
+ "sa-update.service"
+ ];
serviceConfig = {
- ExecStart = "${pkgs.spamassassin}/bin/spamd ${optionalString cfg.debug "-D"} --username=spamd --groupname=spamd --virtual-config-dir=/var/lib/spamassassin/user-%u --allow-tell --pidfile=/run/spamd.pid";
- ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+ User = "spamd";
+ Group = "spamd";
+ ExecStart = "+${pkgs.spamassassin}/bin/spamd ${optionalString cfg.debug "-D"} --username=spamd --groupname=spamd --virtual-config-dir=%S/spamassassin/user-%u --allow-tell --pidfile=/run/spamd.pid";
+ ExecReload = "+${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+ StateDirectory = "spamassassin";
};
-
- # 0 and 1 no error, exitcode > 1 means error:
- # https://spamassassin.apache.org/full/3.1.x/doc/sa-update.html#exit_codes
- preStart = ''
- echo "Recreating '/var/lib/spamasassin' with creating '3.004001' (or similar) and 'sa-update-keys'"
- mkdir -p /var/lib/spamassassin
- chown spamd:spamd /var/lib/spamassassin -R
- set +e
- ${pkgs.su}/bin/su -s "${pkgs.bash}/bin/bash" -c "${pkgs.spamassassin}/bin/sa-update --gpghomedir=/var/lib/spamassassin/sa-update-keys/" spamd
- v=$?
- set -e
- if [ $v -gt 1 ]; then
- echo "sa-update execution error"
- exit $v
- fi
- chown spamd:spamd /var/lib/spamassassin -R
- '';
};
};
}
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
index 2ea191426ce..63e01dd054a 100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
@@ -236,9 +236,12 @@ def main() -> None:
gens += get_generations(profile)
remove_old_entries(gens)
for gen in gens:
- write_entry(*gen, machine_id)
- if os.readlink(system_dir(*gen)) == args.default_config:
- write_loader_conf(*gen)
+ try:
+ write_entry(*gen, machine_id)
+ if os.readlink(system_dir(*gen)) == args.default_config:
+ write_loader_conf(*gen)
+ except OSError as e:
+ print("ignoring profile '{}' in the list of boot entries because of the following error:\n{}".format(profile, e), file=sys.stderr)
memtest_entry_file = "@efiSysMountPoint@/loader/entries/memtest86.conf"
if os.path.exists(memtest_entry_file):
diff --git a/nixos/modules/virtualisation/nixos-containers.nix b/nixos/modules/virtualisation/nixos-containers.nix
index f15d5875841..7a1f11ce40d 100644
--- a/nixos/modules/virtualisation/nixos-containers.nix
+++ b/nixos/modules/virtualisation/nixos-containers.nix
@@ -439,21 +439,16 @@ in
default = false;
description = ''
Whether this NixOS machine is a lightweight container running
- in another NixOS system. If set to true, support for nested
- containers is disabled by default, but can be reenabled by
- setting to true.
+ in another NixOS system.
'';
};
boot.enableContainers = mkOption {
type = types.bool;
- default = !config.boot.isContainer;
+ default = true;
description = ''
Whether to enable support for NixOS containers. Defaults to true
- (at no cost if containers are not actually used), but only if the
- system is not itself a lightweight container of a host.
- To enable support for nested containers, this option has to be
- explicitly set to true (in the outer container).
+ (at no cost if containers are not actually used).
'';
};
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 1ce55e1eac4..1ca1c3854f8 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -75,6 +75,7 @@ in
containers-ip = handleTest ./containers-ip.nix {};
containers-macvlans = handleTest ./containers-macvlans.nix {};
containers-names = handleTest ./containers-names.nix {};
+ containers-nested = handleTest ./containers-nested.nix {};
containers-physical_interfaces = handleTest ./containers-physical_interfaces.nix {};
containers-portforward = handleTest ./containers-portforward.nix {};
containers-reloadable = handleTest ./containers-reloadable.nix {};
diff --git a/nixos/tests/containers-nested.nix b/nixos/tests/containers-nested.nix
new file mode 100644
index 00000000000..a653361494f
--- /dev/null
+++ b/nixos/tests/containers-nested.nix
@@ -0,0 +1,30 @@
+# Test for NixOS' container nesting.
+
+import ./make-test-python.nix ({ pkgs, ... }: {
+ name = "nested";
+
+ meta = with pkgs.lib.maintainers; { maintainers = [ sorki ]; };
+
+ machine = { lib, ... }:
+ let
+ makeNested = subConf: {
+ containers.nested = {
+ autoStart = true;
+ privateNetwork = true;
+ config = subConf;
+ };
+ };
+ in makeNested (makeNested { });
+
+ testScript = ''
+ machine.start()
+ machine.wait_for_unit("container@nested.service")
+ machine.succeed("systemd-run --pty --machine=nested -- machinectl list | grep nested")
+ print(
+ machine.succeed(
+ "systemd-run --pty --machine=nested -- systemd-run --pty --machine=nested -- systemctl status"
+ )
+ )
+ '';
+})
+
diff --git a/pkgs/applications/graphics/hydrus/default.nix b/pkgs/applications/graphics/hydrus/default.nix
index e42666beb1f..56ebbeb3722 100644
--- a/pkgs/applications/graphics/hydrus/default.nix
+++ b/pkgs/applications/graphics/hydrus/default.nix
@@ -1,7 +1,6 @@
{ lib
, fetchFromGitHub
, xz
-, qt5
, wrapQtAppsHook
, miniupnpc_2
, swftools
@@ -10,14 +9,14 @@
pythonPackages.buildPythonPackage rec {
pname = "hydrus";
- version = "434";
+ version = "436";
format = "other";
src = fetchFromGitHub {
owner = "hydrusnetwork";
repo = "hydrus";
rev = "v${version}";
- sha256 = "sha256-7Allc9zawja8DO2idv+MAYZ/cBRTCMd0mbgBLfEVii8=";
+ sha256 = "sha256-FXm8VUEY0OZ6/dc/qNwOXekhv5H2C9jjg/eNDoMvMn0==";
};
nativeBuildInputs = [
diff --git a/pkgs/applications/networking/cluster/kubeconform/default.nix b/pkgs/applications/networking/cluster/kubeconform/default.nix
index ca5e30154da..c62cbb2a67a 100644
--- a/pkgs/applications/networking/cluster/kubeconform/default.nix
+++ b/pkgs/applications/networking/cluster/kubeconform/default.nix
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kubeconform";
- version = "0.4.6";
+ version = "0.4.7";
src = fetchFromGitHub {
owner = "yannh";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-lduHYYskEPUimEX54ymOyo5jY7GGBB42YTefDMNS4qo=";
+ sha256 = "sha256-ahVdKMx3u2KnJ30wi9rV8JCVg9wPmbgdrtG8IpWWlCs=";
};
vendorSha256 = null;
diff --git a/pkgs/development/compilers/koka/default.nix b/pkgs/development/compilers/koka/default.nix
index 087b0ad1153..6523dcca2f6 100644
--- a/pkgs/development/compilers/koka/default.nix
+++ b/pkgs/development/compilers/koka/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPackages, cmake, gnumake, makeWrapper, mkDerivation, fetchFromGitHub
+{ stdenv, pkgsHostTarget, cmake, makeWrapper, mkDerivation, fetchFromGitHub
, alex, array, base, bytestring, cond, containers, directory, extra
, filepath, haskeline, hpack, hspec, hspec-core, json, lib, mtl
, parsec, process, regex-compat, text, time }:
@@ -18,11 +18,12 @@ let
src = "${src}/kklib";
nativeBuildInputs = [ cmake ];
};
+ inherit (pkgsHostTarget.targetPackages.stdenv) cc;
runtimeDeps = [
- buildPackages.stdenv.cc
- buildPackages.stdenv.cc.bintools.bintools
- gnumake
- cmake
+ cc
+ cc.bintools.bintools
+ pkgsHostTarget.gnumake
+ pkgsHostTarget.cmake
];
in
mkDerivation rec {
@@ -42,7 +43,7 @@ mkDerivation rec {
cp -a contrib $out/share/koka/v${version}
cp -a kklib $out/share/koka/v${version}
wrapProgram "$out/bin/koka" \
- --set CC "${lib.getBin buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc" \
+ --set CC "${lib.getBin cc}/bin/${cc.targetPrefix}cc" \
--prefix PATH : "${lib.makeSearchPath "bin" runtimeDeps}"
'';
doCheck = false;
diff --git a/pkgs/development/coq-modules/tlc/default.nix b/pkgs/development/coq-modules/tlc/default.nix
index 6bbad1c6c2b..1e212b44e72 100644
--- a/pkgs/development/coq-modules/tlc/default.nix
+++ b/pkgs/development/coq-modules/tlc/default.nix
@@ -1,23 +1,29 @@
{ lib, mkCoqDerivation, coq, version ? null }:
-with lib; mkCoqDerivation {
+with lib; (mkCoqDerivation {
pname = "tlc";
owner = "charguer";
inherit version;
displayVersion = { tlc = false; };
defaultVersion = with versions; switch coq.coq-version [
+ { case = range "8.12" "8.13"; out = "20210316"; }
{ case = range "8.10" "8.12"; out = "20200328"; }
{ case = range "8.6" "8.12"; out = "20181116"; }
] null;
+ release."20210316".sha256 = "1hlavnx20lxpf2iydbbxqmim9p8wdwv4phzp9ypij93yivih0g4a";
release."20200328".sha256 = "16vzild9gni8zhgb3qhmka47f8zagdh03k6nssif7drpim8233lx";
release."20181116".sha256 = "032lrbkxqm9d3fhf6nv1kq2z0mqd3czv3ijlbsjwnfh12xck4vpl";
- installFlags = [ "CONTRIB=$(out)/lib/coq/${coq.coq-version}/user-contrib" ];
-
meta = {
homepage = "http://www.chargueraud.org/softs/tlc/";
description = "A non-constructive library for Coq";
license = licenses.free;
maintainers = [ maintainers.vbgl ];
};
-}
+}).overrideAttrs (x:
+ if versionAtLeast x.version "20210316"
+ then {}
+ else {
+ installFlags = [ "CONTRIB=$(out)/lib/coq/${coq.coq-version}/user-contrib" ];
+ }
+)
diff --git a/pkgs/development/libraries/zookeeper_mt/default.nix b/pkgs/development/libraries/zookeeper_mt/default.nix
index 978321f96e7..8b9f6b70cfe 100644
--- a/pkgs/development/libraries/zookeeper_mt/default.nix
+++ b/pkgs/development/libraries/zookeeper_mt/default.nix
@@ -14,19 +14,19 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://apache/zookeeper/${zookeeper.pname}-${version}/apache-${zookeeper.pname}-${version}.tar.gz";
- sha512 = "16994067d460a1b6af6a71f3458c64ee32629e876a1ff6646d57be62f1a5adab57462af84074ecaded4186dd3fde035ee24cd9d578b8e5044073eb05f4ab9c3e";
+ sha512 = "90643aa0ae1b9bf1f5e137dfbcee7e3c53db15e5038d7e406e4a1c345d6a0531bf7afa2b03f99d419ebd0fe892f127a7abfe582f786034ba823e53a0a9246bfb";
};
sourceRoot = "apache-${zookeeper.pname}-${version}/zookeeper-client/zookeeper-client-c";
nativeBuildInputs = [
autoreconfHook
+ pkg-config
jre
];
buildInputs = [
openssl
- pkg-config
zookeeper
];
diff --git a/pkgs/development/python-modules/stevedore/default.nix b/pkgs/development/python-modules/stevedore/default.nix
index c9ea2044048..cf1a50c49be 100644
--- a/pkgs/development/python-modules/stevedore/default.nix
+++ b/pkgs/development/python-modules/stevedore/default.nix
@@ -18,15 +18,21 @@ buildPythonPackage rec {
sha256 = "3a5bbd0652bf552748871eaa73a4a8dc2899786bc497a2aa1fcb4dcdb0debeee";
};
- propagatedBuildInputs = [ pbr setuptools six ]
- ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
+ propagatedBuildInputs = [
+ pbr
+ setuptools
+ six
+ ] ++ lib.optionals (pythonOlder "3.8") [
+ importlib-metadata
+ ];
doCheck = false;
pythonImportsCheck = [ "stevedore" ];
meta = with lib; {
description = "Manage dynamic plugins for Python applications";
- homepage = "https://pypi.python.org/pypi/stevedore";
+ homepage = "https://docs.openstack.org/stevedore/";
license = licenses.asl20;
+ maintainers = with maintainers; [ fab ];
};
}
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index 0e2df1a4678..0216c05eeac 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -325,6 +325,10 @@ let
addOpenGLRunpath "$lib"
done
'';
+
+ requiredSystemFeatures = [
+ "big-parallel"
+ ];
};
meta = with lib; {
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index 33c47c7aed8..47f8b217bc5 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "esbuild";
- version = "0.11.13";
+ version = "0.11.14";
src = fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
rev = "v${version}";
- sha256 = "0v358n2vpa1l1a699zyq43yzb3lcxjp3k4acppx0ggva05qn9zd1";
+ sha256 = "0qxylzc7lzpsp5hm3dl5jvy9aca8azn8dmbjz9z5n5rkdmm8vd9p";
};
vendorSha256 = "1n5538yik72x94vzfq31qaqrkpxds5xys1wlibw2gn2am0z5c06q";
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix
index c0d4567fe0b..dc342e501e4 100644
--- a/pkgs/development/tools/misc/clojure-lsp/default.nix
+++ b/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -1,39 +1,29 @@
-{ lib, stdenv, callPackage, fetchFromGitHub, leiningen, openjdk11
-, graalvm11-ce, babashka }:
+{ lib, stdenv, graalvm11-ce, babashka, fetchurl, fetchFromGitHub }:
-let
+stdenv.mkDerivation rec {
pname = "clojure-lsp";
- version = "2021.02.14-19.46.47";
- leiningen11 = leiningen.override ({ jdk = openjdk11; });
+ version = "2021.04.13-12.47.33";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
- sha256 = "sha256-Zj7/8RcuxCy2xdd+5jeOb1GTsQsX0EVW32k32fA6uf4=";
+ sha256 = "1la0d28pvp1fqnxp3scb2vawcblilwyx42djxn379vag403p1i2d";
};
- repository = callPackage ./repository.nix {
- inherit src pname version;
- leiningen = leiningen11;
+ jar = fetchurl {
+ url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp.jar";
+ sha256 = "059gz7y2rzwdxpyqy80w4lghzgxi5lb4rxmks1721yq6k7ljjyqy";
};
-in stdenv.mkDerivation rec {
- inherit src pname version;
-
- postPatch = ''
- # Hack to set maven cache in another directory since MAVEN_OPTS doesn't work
- substituteInPlace project.clj \
- --replace ":main" ":local-repo \"${repository}\" :main"
- '';
GRAALVM_HOME = graalvm11-ce;
+ CLOJURE_LSP_JAR = jar;
- buildInputs = [ graalvm11-ce leiningen11 repository ];
+ buildInputs = [ graalvm11-ce ];
buildPhase = with lib; ''
runHook preBuild
- export LEIN_HOME="$(mktemp -d)"
bash ./graalvm/native-unix-compile.sh
runHook postBuild
@@ -51,14 +41,14 @@ in stdenv.mkDerivation rec {
checkPhase = ''
runHook preCheck
- ${babashka}/bin/bb ./integration-test/run-all.clj ./clojure-lsp
+ ${babashka}/bin/bb integration-test/run-all.clj ./clojure-lsp
runHook postCheck
'';
meta = with lib; {
description = "Language Server Protocol (LSP) for Clojure";
- homepage = "https://github.com/snoe/clojure-lsp";
+ homepage = "https://github.com/clojure-lsp/clojure-lsp";
license = licenses.mit;
maintainers = [ maintainers.ericdallo ];
platforms = graalvm11-ce.meta.platforms;
diff --git a/pkgs/development/tools/misc/clojure-lsp/repository.nix b/pkgs/development/tools/misc/clojure-lsp/repository.nix
deleted file mode 100644
index 122096e9657..00000000000
--- a/pkgs/development/tools/misc/clojure-lsp/repository.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib, stdenv, src, pname, version, leiningen }:
-
-stdenv.mkDerivation {
- inherit src;
-
- name = "${pname}-${version}-repository";
- buildInputs = [ leiningen ];
-
- postPatch = ''
- # Hack to set maven cache in another directory since MAVEN_OPTS doesn't work
- substituteInPlace project.clj \
- --replace ":main" ":local-repo \"$out\" :main"
- '';
-
- buildPhase = ''
- runHook preBuild
-
- export LEIN_HOME="$(mktemp -d)"
- lein with-profiles +native-image deps
-
- runHook postBuild
- '';
-
- installPhase = ''
- runHook preInstall
-
- find $out -type f \
- -name \*.lastUpdated -or \
- -name resolver-status.properties -or \
- -name _remote.repositories \
- -delete
-
- runHook postInstall
- '';
-
- dontFixup = true;
- outputHashAlgo = "sha256";
- outputHashMode = "recursive";
- outputHash = "sha256-aWZPsJF32ENyYNZCHf5amxVF9pb+5M73JqG/OITZlak=";
-}
diff --git a/pkgs/development/tools/treefmt/default.nix b/pkgs/development/tools/treefmt/default.nix
new file mode 100644
index 00000000000..c90492c6aec
--- /dev/null
+++ b/pkgs/development/tools/treefmt/default.nix
@@ -0,0 +1,21 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+rustPlatform.buildRustPackage rec {
+ pname = "treefmt";
+ version = "0.1.1";
+
+ src = fetchFromGitHub {
+ owner = "numtide";
+ repo = "treefmt";
+ rev = "v${version}";
+ sha256 = "0a4yikkqppawii1q0kzsxwfp1aid688wa0lixjwfsl279lr69css";
+ };
+
+ cargoSha256 = "08k60gd23yanfraxpbw9hi7jbqgsxz9mv1ci6q9piis5742zlj9s";
+
+ meta = {
+ description = "one CLI to format the code tree";
+ homepage = "https://github.com/numtide/treefmt";
+ license = lib.licenses.mit;
+ maintainers = with lib.maintainers; [ zimbatm ];
+ };
+}
diff --git a/pkgs/games/gimx/default.nix b/pkgs/games/gimx/default.nix
index ab208dfa003..0ae5a791709 100644
--- a/pkgs/games/gimx/default.nix
+++ b/pkgs/games/gimx/default.nix
@@ -51,15 +51,19 @@ in stdenv.mkDerivation rec {
mkdir -p $out/share
cp -r ./loader/firmware $out/share/firmware
cp -r ${gimx-config}/Linux $out/share/config
- patch ${gimx-config}/Linux/Dualshock4.xml ${./noff.patch} -o $out/share/ds4.xml
makeWrapper $out/bin/gimx $out/bin/gimx-with-confs \
--set GIMXCONF $out/share/config
makeWrapper $out/bin/gimx $out/bin/gimx-test-ds4 \
- --set GIMXCONF $out/share \
+ --set GIMXCONF $out/share/config \
--add-flags "--nograb" --add-flags "--curses" \
- --add-flags "-p /dev/ttyUSB0" --add-flags "-c ds4.xml"
+ --add-flags "-p /dev/ttyUSB0" --add-flags "-c Dualshock4.xml"
+
+ makeWrapper $out/bin/gimx $out/bin/gimx-test-xone \
+ --set GIMXCONF $out/share/config \
+ --add-flags "--nograb" --add-flags "--curses" \
+ --add-flags "-p /dev/ttyUSB0" --add-flags "-c XOnePadUsb.xml"
'';
meta = with lib; {
diff --git a/pkgs/games/gimx/noff.patch b/pkgs/games/gimx/noff.patch
deleted file mode 100644
index 86b36adda23..00000000000
--- a/pkgs/games/gimx/noff.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/Linux/Dualshock4.xml b/Linux/Dualshock4.xml
-index 5e53ed3..45ee5ed 100644
---- a/Linux/Dualshock4.xml
-+++ b/Linux/Dualshock4.xml
-@@ -94,6 +94,11 @@
-
-
-
-+
-+
-+
-+
-+
-
-
-
diff --git a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
index eb3f8bf19cb..a20068767e5 100644
--- a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
@@ -1,13 +1,13 @@
{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, dovecot, libtool, xapian, icu64 }:
stdenv.mkDerivation rec {
pname = "fts-xapian";
- version = "1.4.7";
+ version = "1.4.9";
src = fetchFromGitHub {
owner = "grosjo";
repo = "fts-xapian";
rev = version;
- sha256 = "K2d1FFAilIggNuP0e698s+9bN08x2s/0Jryp7pmeixc=";
+ sha256 = "0p4ps9h24vr9bldrcf9cdx6l4rdz5i8zyc58qp10h7cc3jilwddy";
};
buildInputs = [ dovecot xapian icu64 ];
@@ -28,8 +28,9 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://github.com/grosjo/fts-xapian";
description = "Dovecot FTS plugin based on Xapian";
- license = licenses.lgpl21;
- maintainers = with maintainers; [ julm ];
+ changelog = "https://github.com/grosjo/fts-xapian/releases";
+ license = licenses.lgpl21Only;
+ maintainers = with maintainers; [ julm symphorien ];
platforms = platforms.unix;
};
}
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
index 03a135d6c76..cc06cc6ee6d 100644
--- a/pkgs/servers/mail/spamassassin/default.nix
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, perlPackages, makeWrapper, gnupg }:
+{ lib, fetchurl, perlPackages, makeWrapper, gnupg, re2c, gcc, gnumake }:
perlPackages.buildPerlPackage rec {
pname = "SpamAssassin";
@@ -29,7 +29,7 @@ perlPackages.buildPerlPackage rec {
mv "rules/"* $out/share/spamassassin/
for n in "$out/bin/"*; do
- wrapProgram "$n" --prefix PERL5LIB : "$PERL5LIB" --prefix PATH : "${gnupg}/bin"
+ wrapProgram "$n" --prefix PERL5LIB : "$PERL5LIB" --prefix PATH : ${lib.makeBinPath [ gnupg re2c gcc gnumake ]}
done
'';
diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix
index a178d43d231..98bd45516e2 100644
--- a/pkgs/servers/nosql/influxdb/default.nix
+++ b/pkgs/servers/nosql/influxdb/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "influxdb";
- version = "1.8.4";
+ version = "1.8.5";
src = fetchFromGitHub {
owner = "influxdata";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-cL+QaUGMElYd6P+xXkQgRnL8BKo2C95bhCwy59kRnwo=";
+ sha256 = "sha256-qKkCTsSUejqJhMzAgFJYMGalAUepUaP/caocRwnKflg=";
};
- vendorSha256 = "sha256-v4CEkhQiETeU6i186XIE/8z4T71gdKL+6W7sQ7/2RuI=";
+ vendorSha256 = "sha256-t7uwrsrF4LYdRjOhwdsCouDJXvD9364Ma5gvKezvi5o=";
doCheck = false;
diff --git a/pkgs/servers/zookeeper/default.nix b/pkgs/servers/zookeeper/default.nix
index c2315999b3c..d5bf7b91014 100644
--- a/pkgs/servers/zookeeper/default.nix
+++ b/pkgs/servers/zookeeper/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, jre, makeWrapper, bash, coreutils, runtimeShell }:
+{ lib, stdenv, fetchurl, jre, makeWrapper, bash, coreutils }:
stdenv.mkDerivation rec {
pname = "zookeeper";
- version = "3.6.2";
+ version = "3.6.3";
src = fetchurl {
url = "mirror://apache/zookeeper/${pname}-${version}/apache-${pname}-${version}-bin.tar.gz";
- sha512 = "caff5111bb6876b7124760bc006e6fa2523efa54b99321a3c9cd8192ea0d5596abc7d70a054b1aac9b20a411407dae7611c7aba870c23bff28eb1643ba499199";
+ sha512 = "3f7b1b7d9cf5647d52ad0076c922e108fa956e986b5624667c493cf6d8ff09d3ca88f623c79a799fe49c72e868cb3c9d0f77cb69608de74a183b2cbad10bc827";
};
nativeBuildInputs = [ makeWrapper ];
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
phases = ["unpackPhase" "installPhase"];
installPhase = ''
+ runHook preInstall
mkdir -p $out
cp -R conf docs lib $out
# Without this, zkCli.sh tries creating a log file in the Nix store.
@@ -31,6 +32,7 @@ stdenv.mkDerivation rec {
--prefix PATH : "${bash}/bin"
done
chmod -x $out/bin/zkEnv.sh
+ runHook postInstall
'';
meta = with lib; {
diff --git a/pkgs/tools/misc/dylibbundler/default.nix b/pkgs/tools/misc/dylibbundler/default.nix
deleted file mode 100644
index 7bf93bf88e7..00000000000
--- a/pkgs/tools/misc/dylibbundler/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, stdenv, fetchFromGitHub }:
-
-stdenv.mkDerivation {
- name = "dylibbundler";
-
- src = fetchFromGitHub {
- owner = "auriamg";
- repo = "/macdylibbundler";
- rev = "27923fbf6d1bc4d18c18e118280c4fe51fc41a80";
- sha256 = "1mpd43hvpfp7pskfrjnd6vcmfii9v3p97q0ws50krkdvshp0bv2h";
- };
-
- makeFlags = [ "PREFIX=$(out)" ];
-
- meta = with lib; {
- description = "Small command-line program that aims to make bundling .dylibs as easy as possible";
- homepage = "https://github.com/auriamg/macdylibbundler";
- license = licenses.mit;
- maintainers = with maintainers; [ alexfmpe ];
- platforms = with platforms; darwin ++ linux;
- };
-}
diff --git a/pkgs/tools/system/gptman/default.nix b/pkgs/tools/system/gptman/default.nix
new file mode 100644
index 00000000000..5209856edeb
--- /dev/null
+++ b/pkgs/tools/system/gptman/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "gptman";
+ version = "0.8.0";
+
+ src = fetchFromGitHub {
+ owner = "cecton";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "11zyjrw4f8gi5s4sd2kl3sdiz0avq7clr8zqnwl04y61b3fpg7y1";
+ };
+
+ cargoSha256 = "1cp8cyrd7ab8r2j28b69c2p3ysix5b9hpsqk07cmzgqwwml0qj12";
+
+ meta = with lib; {
+ description = "A CLI tool for Linux to copy a partition from one disk to another and more.";
+ homepage = "https://github.com/cecton/gptman";
+ license = with licenses; [ asl20 /* or */ mit ];
+ maintainers = with maintainers; [ akshgpt7 ];
+ };
+}
diff --git a/pkgs/tools/typesetting/pdftk/default.nix b/pkgs/tools/typesetting/pdftk/default.nix
index f90d1d4a7ed..c1f04616729 100644
--- a/pkgs/tools/typesetting/pdftk/default.nix
+++ b/pkgs/tools/typesetting/pdftk/default.nix
@@ -91,6 +91,5 @@ in stdenv.mkDerivation rec {
license = licenses.gpl2Plus;
maintainers = with maintainers; [ raskin averelld ];
platforms = platforms.unix;
- broken = stdenv.isDarwin;
};
}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index e4a8fee3076..d7f1fff525d 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -176,6 +176,7 @@ mapAliases ({
dvb_apps = throw "dvb_apps has been removed."; # added 2020-11-03
dwarf_fortress = dwarf-fortress; # added 2016-01-23
dwm-git = throw "dwm-git has been removed from nixpkgs, as it had no updates for 2 years not serving it's purpose."; # added 2021-02-07
+ dylibbundler = macdylibbundler; # added 2021-04-24
elasticmq = throw "elasticmq has been removed in favour of elasticmq-server-bin"; # added 2021-01-17
emacsPackagesGen = emacsPackagesFor; # added 2018-08-18
emacsPackagesNgGen = emacsPackagesFor; # added 2018-08-18
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9d3bcc60861..9a0aafeed49 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2374,8 +2374,6 @@ in
enableSSH = true;
};
- dylibbundler = callPackage ../tools/misc/dylibbundler { };
-
dynamic-colors = callPackage ../tools/misc/dynamic-colors { };
dyncall = callPackage ../development/libraries/dyncall { };
@@ -5153,6 +5151,8 @@ in
gpt2tc = callPackage ../tools/text/gpt2tc { };
+ gptman = callPackage ../tools/system/gptman { };
+
ldmtool = callPackage ../tools/misc/ldmtool { };
gphotos-sync = callPackage ../tools/backup/gphotos-sync { };
@@ -31143,6 +31143,8 @@ in
fac-build = callPackage ../development/tools/build-managers/fac {};
+ treefmt = callPackage ../development/tools/treefmt { };
+
bottom = callPackage ../tools/system/bottom {};
cagebreak = callPackage ../applications/window-managers/cagebreak/default.nix {