diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 1cf7513d65e8..bdb2a2c8bb63 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -7227,6 +7227,12 @@
email = "wheatdoge@gmail.com";
name = "Tim Liou";
};
+ m00wl = {
+ name = "Moritz Lumme";
+ email = "moritz.lumme@gmail.com";
+ github = "m00wl";
+ githubId = 46034439;
+ };
m1cr0man = {
email = "lucas+nix@m1cr0man.com";
github = "m1cr0man";
diff --git a/nixos/modules/services/x11/window-managers/xmonad.nix b/nixos/modules/services/x11/window-managers/xmonad.nix
index ecad411ff683..68f97c2f504b 100644
--- a/nixos/modules/services/x11/window-managers/xmonad.nix
+++ b/nixos/modules/services/x11/window-managers/xmonad.nix
@@ -2,7 +2,7 @@
with lib;
let
- inherit (lib) mkOption mkIf optionals literalExpression;
+ inherit (lib) mkOption mkIf optionals literalExpression optionalString;
cfg = config.services.xserver.windowManager.xmonad;
ghcWithPackages = cfg.haskellPackages.ghcWithPackages;
@@ -26,11 +26,14 @@ let
in
pkgs.runCommandLocal "xmonad" {
nativeBuildInputs = [ pkgs.makeWrapper ];
- } ''
+ } (''
install -D ${xmonadEnv}/share/man/man1/xmonad.1.gz $out/share/man/man1/xmonad.1.gz
makeWrapper ${configured}/bin/xmonad $out/bin/xmonad \
+ '' + optionalString cfg.enableConfiguredRecompile ''
+ --set NIX_GHC "${xmonadEnv}/bin/ghc" \
+ '' + ''
--set XMONAD_XMESSAGE "${pkgs.xorg.xmessage}/bin/xmessage"
- '';
+ '');
xmonad = if (cfg.config != null) then xmonad-config else xmonad-vanilla;
in {
@@ -95,12 +98,14 @@ in {
xmonad from PATH. This allows e.g. switching to the new xmonad binary
after rebuilding your system with nixos-rebuild.
For the same reason, ghc is not added to the environment when this
- option is set.
+ option is set, unless is
+ set to true.
If you actually want to run xmonad with a config specified here, but
also be able to recompile and restart it from a copy of that source in
- $HOME/.xmonad on the fly, you will have to implement that yourself
- using something like "compileRestart" from the example.
+ $HOME/.xmonad on the fly, set
+ to true and implement something like "compileRestart"
+ from the example.
This should allow you to switch at will between the local xmonad and
the one NixOS puts in your PATH.
'';
@@ -116,6 +121,29 @@ in {
compiledConfig = printf "xmonad-%s-%s" arch os
+ myConfig = defaultConfig
+ { modMask = mod4Mask -- Use Super instead of Alt
+ , terminal = "urxvt" }
+ `additionalKeys`
+ [ ( (mod4Mask,xK_r), compileRestart True)
+ , ( (mod4Mask,xK_q), restart "xmonad" True ) ]
+
+ --------------------------------------------
+ {- version 0.17.0 -}
+ --------------------------------------------
+ -- compileRestart resume =
+ -- dirs <- io getDirectories
+ -- whenX (recompile dirs True) $
+ -- when resume writeStateToFile
+ -- *> catchIO
+ -- ( do
+ -- args <- getArgs
+ -- executeFile (cacheDir dirs > compiledConfig) False args Nothing
+ -- )
+ --
+ -- main = getDirectories >>= launch myConfig
+ --------------------------------------------
+
compileRestart resume =
whenX (recompile True) $
when resume writeStateToFile
@@ -126,12 +154,17 @@ in {
executeFile (dir > compiledConfig) False args Nothing
)
- main = launch defaultConfig
- { modMask = mod4Mask -- Use Super instead of Alt
- , terminal = "urxvt" }
- `additionalKeys`
- [ ( (mod4Mask,xK_r), compileRestart True)
- , ( (mod4Mask,xK_q), restart "xmonad" True ) ]
+ main = launch myConfig
+ '';
+ };
+
+ enableConfiguredRecompile = mkOption {
+ default = false;
+ type = lib.types.bool;
+ description = ''
+ Enable recompilation even if is set to a
+ non-null value. This adds the necessary Haskell dependencies (GHC with
+ packages) to the xmonad binary's environment.
'';
};
diff --git a/nixos/tests/xmonad.nix b/nixos/tests/xmonad.nix
index 078cd2118107..a14d4b819eb6 100644
--- a/nixos/tests/xmonad.nix
+++ b/nixos/tests/xmonad.nix
@@ -1,4 +1,55 @@
-import ./make-test-python.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...}:
+
+let
+ mkConfig = name: keys: ''
+ import XMonad
+ import XMonad.Operations (restart)
+ import XMonad.Util.EZConfig
+ import XMonad.Util.SessionStart
+ import Control.Monad (when)
+ import Text.Printf (printf)
+ import System.Posix.Process (executeFile)
+ import System.Info (arch,os)
+ import System.Environment (getArgs)
+ import System.FilePath ((>))
+
+ main = launch $ def { startupHook = startup } `additionalKeysP` myKeys
+
+ startup = isSessionStart >>= \sessInit ->
+ spawn "touch /tmp/${name}"
+ >> if sessInit then setSessionStarted else spawn "xterm"
+
+ myKeys = [${builtins.concatStringsSep ", " keys}]
+
+ compiledConfig = printf "xmonad-%s-%s" arch os
+
+ compileRestart resume =
+ whenX (recompile True) $
+ when resume writeStateToFile
+ *> catchIO
+ ( do
+ dir <- getXMonadDataDir
+ args <- getArgs
+ executeFile (dir > compiledConfig) False args Nothing
+ )
+ '';
+
+ oldKeys =
+ [ ''("M-C-x", spawn "xterm")''
+ ''("M-q", restart "xmonad" True)''
+ ''("M-C-q", compileRestart True)''
+ ''("M-C-t", spawn "touch /tmp/somefile")'' # create somefile
+ ];
+
+ newKeys =
+ [ ''("M-C-x", spawn "xterm")''
+ ''("M-q", restart "xmonad" True)''
+ ''("M-C-q", compileRestart True)''
+ ''("M-C-r", spawn "rm /tmp/somefile")'' # delete somefile
+ ];
+
+ newConfig = pkgs.writeText "xmonad.hs" (mkConfig "newXMonad" newKeys);
+in {
name = "xmonad";
meta = with pkgs.lib.maintainers; {
maintainers = [ nequissimus ];
@@ -10,21 +61,10 @@ import ./make-test-python.nix ({ pkgs, ...} : {
services.xserver.displayManager.defaultSession = "none+xmonad";
services.xserver.windowManager.xmonad = {
enable = true;
+ enableConfiguredRecompile = true;
enableContribAndExtras = true;
extraPackages = with pkgs.haskellPackages; haskellPackages: [ xmobar ];
- config = ''
- import XMonad
- import XMonad.Operations (restart)
- import XMonad.Util.EZConfig
- import XMonad.Util.SessionStart
-
- main = launch $ def { startupHook = startup } `additionalKeysP` myKeys
-
- startup = isSessionStart >>= \sessInit ->
- if sessInit then setSessionStarted else spawn "xterm"
-
- myKeys = [ ("M-C-x", spawn "xterm"), ("M-q", restart "xmonad" True) ]
- '';
+ config = mkConfig "oldXMonad" oldKeys;
};
};
@@ -38,10 +78,40 @@ import ./make-test-python.nix ({ pkgs, ...} : {
machine.wait_for_window("${user.name}.*machine")
machine.sleep(1)
machine.screenshot("terminal1")
+ machine.succeed("rm /tmp/oldXMonad")
machine.send_key("alt-q")
- machine.sleep(3)
+ machine.wait_for_file("/tmp/oldXMonad")
machine.wait_for_window("${user.name}.*machine")
machine.sleep(1)
machine.screenshot("terminal2")
+
+ # /tmp/somefile should not exist yet
+ machine.fail("stat /tmp/somefile")
+
+ # original config has a keybinding that creates somefile
+ machine.send_key("alt-ctrl-t")
+ machine.sleep(1)
+ machine.succeed("stat /tmp/somefile")
+
+ # set up the new config
+ machine.succeed("mkdir -p ${user.home}/.xmonad")
+ machine.copy_from_host("${newConfig}", "${user.home}/.xmonad/xmonad.hs")
+
+ # recompile xmonad using the new config
+ machine.send_key("alt-ctrl-q")
+ machine.wait_for_file("/tmp/newXMonad")
+
+ # new config has a keybinding that deletes somefile
+ machine.send_key("alt-ctrl-r")
+ machine.sleep(1)
+ machine.fail("stat /tmp/somefile")
+
+ # restart with the old config, and confirm the old keybinding is back
+ machine.succeed("rm /tmp/oldXMonad")
+ machine.send_key("alt-q")
+ machine.wait_for_file("/tmp/oldXMonad")
+ machine.send_key("alt-ctrl-t")
+ machine.sleep(1)
+ machine.succeed("stat /tmp/somefile")
'';
})
diff --git a/pkgs/applications/audio/sfxr-qt/default.nix b/pkgs/applications/audio/sfxr-qt/default.nix
index 165f8446c763..bf8b826f544f 100644
--- a/pkgs/applications/audio/sfxr-qt/default.nix
+++ b/pkgs/applications/audio/sfxr-qt/default.nix
@@ -2,6 +2,7 @@
, mkDerivation
, fetchFromGitHub
, cmake
+, extra-cmake-modules
, qtbase
, qtquickcontrols2
, SDL
@@ -10,18 +11,22 @@
mkDerivation rec {
pname = "sfxr-qt";
- version = "1.3.0";
+ version = "1.4.0";
+
src = fetchFromGitHub {
owner = "agateau";
repo = "sfxr-qt";
rev = version;
- sha256 = "15yjgjl1c5k816mnpc09104zq0ack2a3mjsxmhcik7cmjkfiipr5";
+ sha256 = "sha256-Mn+wcwu70BwsTLFlc12sOOe6U1AJ8hR7bCIPlPnCooE=";
fetchSubmodules = true;
};
+
nativeBuildInputs = [
cmake
+ extra-cmake-modules
(python3.withPackages (pp: with pp; [ pyyaml jinja2 setuptools ]))
];
+
buildInputs = [
qtbase
qtquickcontrols2
@@ -36,4 +41,3 @@ mkDerivation rec {
platforms = platforms.linux;
};
}
-
diff --git a/pkgs/applications/editors/gophernotes/default.nix b/pkgs/applications/editors/gophernotes/default.nix
index fe694c1add4f..c7375536bf5b 100644
--- a/pkgs/applications/editors/gophernotes/default.nix
+++ b/pkgs/applications/editors/gophernotes/default.nix
@@ -5,16 +5,16 @@
buildGoModule rec {
pname = "gophernotes";
- version = "0.7.3";
+ version = "0.7.4";
src = fetchFromGitHub {
owner = "gopherdata";
repo = "gophernotes";
rev = "v${version}";
- sha256 = "sha256-LiYPos6Ic+se5bTTkvggmyxyS20uhgALkDU2LoXTci8=";
+ sha256 = "sha256-ZyZ5VOZEgFn9QrFBC1bNHKA2g8msDUnd1c5plooO+b8=";
};
- vendorSha256 = "sha256-wDMx3B47Vv87/3YEPX8/70Q5/REJ7IPvw8dA/viJiSY=";
+ vendorSha256 = "sha256-NH8Hz9SzmDksvGqCpggi6hG4kW+AoA1tctF6rGgy4H4=";
meta = with lib; {
description = "Go kernel for Jupyter notebooks";
diff --git a/pkgs/applications/misc/solaar/default.nix b/pkgs/applications/misc/solaar/default.nix
index e4e149df0ec8..39eadc843700 100644
--- a/pkgs/applications/misc/solaar/default.nix
+++ b/pkgs/applications/misc/solaar/default.nix
@@ -13,13 +13,13 @@
# logitech-udev-rules instead of adding this to services.udev.packages on NixOS
python3Packages.buildPythonApplication rec {
pname = "solaar";
- version = "1.1.0";
+ version = "1.1.1";
src = fetchFromGitHub {
owner = "pwr-Solaar";
repo = "Solaar";
rev = version;
- sha256 = "sha256-rNz296pKw2/WaryxHekWHSAS1jdTviZxXDgO/L/PJCU=";
+ sha256 = "1yqxk6nfxc1xhk59qbz9m3wqkxv446g17pazvanpavriiysjzbrs";
};
nativeBuildInputs = [ wrapGAppsHook gdk-pixbuf ];
diff --git a/pkgs/applications/networking/cluster/helmsman/default.nix b/pkgs/applications/networking/cluster/helmsman/default.nix
index 47da659d7e1f..4f9de00dcf25 100644
--- a/pkgs/applications/networking/cluster/helmsman/default.nix
+++ b/pkgs/applications/networking/cluster/helmsman/default.nix
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "helmsman";
- version = "3.7.7";
+ version = "3.8.0";
src = fetchFromGitHub {
owner = "Praqma";
repo = "helmsman";
rev = "v${version}";
- sha256 = "sha256-duNkvRMq3CKAGDDsrDWKydFZRt6fxuO0uP2Ff3HA+ek=";
+ sha256 = "sha256-KZrv447Yz4WxtkmQkGLsnZC0ok0rWCM2Fs+m8LVTGfM=";
};
vendorSha256 = "sha256-4imZrZfpR/5tw9ZFSTr7Gx4G9O1iHNE9YRYMOJFKvHU=";
diff --git a/pkgs/applications/networking/cluster/kube3d/default.nix b/pkgs/applications/networking/cluster/kube3d/default.nix
index fa2f218ffa0b..0e4dc8f560fd 100644
--- a/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kube3d";
- version = "5.2.1";
+ version = "5.2.2";
src = fetchFromGitHub {
owner = "rancher";
repo = "k3d";
rev = "v${version}";
- sha256 = "sha256-rKiOPpRupoCRtGJ3DVBUY9483EEBxaaECZRdWiyxaEk=";
+ sha256 = "sha256-yOrxEY2UpupVmbDSAhgruTUOhNVAGCpSJsvzDEFFccw=";
};
vendorSha256 = null;
diff --git a/pkgs/data/icons/numix-icon-theme-circle/default.nix b/pkgs/data/icons/numix-icon-theme-circle/default.nix
index 089e098e97e2..ca5596be8329 100644
--- a/pkgs/data/icons/numix-icon-theme-circle/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-circle/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "numix-icon-theme-circle";
- version = "21.12.05";
+ version = "22.01.15";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
- sha256 = "sha256-tmrysmg4jVPurNJy3AqzAIjd1QCXoH2nGuJhRinvqVQ=";
+ sha256 = "sha256-mOjNztzvSdKN4fgbcwYWA+iaYiRIa8v6EeK7eyX0lTs=";
};
nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/icons/numix-icon-theme-square/default.nix b/pkgs/data/icons/numix-icon-theme-square/default.nix
index 8aeb6d44669a..4bfb30760c36 100644
--- a/pkgs/data/icons/numix-icon-theme-square/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-square/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "numix-icon-theme-square";
- version = "21.12.05";
+ version = "22.01.15";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
- sha256 = "sha256-SVWIY7RGwk2AKruDkAYoZ5nDSAU8LPb9dtqxDFumZ5o=";
+ sha256 = "sha256-z1eLDJWvpUh4qSGz9xu/NcZjpC0Asj8v4HuUxiQO0cQ=";
};
nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/development/guile-modules/guile-sdl2/default.nix b/pkgs/development/guile-modules/guile-sdl2/default.nix
index c6fbba93de47..c4ec4904f9aa 100644
--- a/pkgs/development/guile-modules/guile-sdl2/default.nix
+++ b/pkgs/development/guile-modules/guile-sdl2/default.nix
@@ -12,11 +12,11 @@
stdenv.mkDerivation rec {
pname = "guile-sdl2";
- version = "0.5.0";
+ version = "0.7.0";
src = fetchurl {
url = "https://files.dthompson.us/${pname}/${pname}-${version}.tar.gz";
- hash = "sha256-lWTLctPUDqvN/Y95oOL7LF3czlLJFQ9d9np9dx4DHYU=";
+ hash = "sha256-h0osCURnYTUQFrKw0i7Jd+QCI8piR1NUE2lbxPv87aQ=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/interpreters/joker/default.nix b/pkgs/development/interpreters/joker/default.nix
index 17503fc66ec1..141bda75fa88 100644
--- a/pkgs/development/interpreters/joker/default.nix
+++ b/pkgs/development/interpreters/joker/default.nix
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "joker";
- version = "0.17.3";
+ version = "0.18.0";
src = fetchFromGitHub {
rev = "v${version}";
owner = "candid82";
repo = "joker";
- sha256 = "sha256-mm1vFXaQEljsU7Yg+3zDF2MBsc/ePSVF9LezeMWCyL0=";
+ sha256 = "sha256-Iia4sl8lRTpek5aZvQW/yy+TnMq5KNJH+pBnksqL/G0=";
};
vendorSha256 = "sha256-AYoespfzFLP/jIIxbw5K653wc7sSfLY8K7di8GZ64wA=";
diff --git a/pkgs/development/ocaml-modules/lablgtk3/default.nix b/pkgs/development/ocaml-modules/lablgtk3/default.nix
index b14f5b736b45..29bc928e6220 100644
--- a/pkgs/development/ocaml-modules/lablgtk3/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtk3/default.nix
@@ -1,16 +1,18 @@
-{ lib, fetchurl, pkg-config, buildDunePackage, dune-configurator, gtk3, cairo2 }:
+{ lib, fetchFromGitHub, pkg-config, buildDunePackage, dune-configurator, gtk3, cairo2 }:
buildDunePackage rec {
- version = "3.1.1";
+ version = "3.1.2";
pname = "lablgtk3";
useDune2 = true;
- minimumOCamlVersion = "4.05";
+ minimalOCamlVersion = "4.05";
- src = fetchurl {
- url = "https://github.com/garrigue/lablgtk/releases/download/${version}/lablgtk3-${version}.tbz";
- sha256 = "1ygc1yh99gh44h958yffw1vxdlfpn799d4x1s36c2jfbi8f0dir2";
+ src = fetchFromGitHub {
+ owner = "garrigue";
+ repo = "lablgtk";
+ rev = version;
+ sha256 = "sha256:0b17w9qb1f02h3313cm62mrqlhwxficppzm72n7sf8mmwrylxbm7";
};
nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/pyathena/default.nix b/pkgs/development/python-modules/pyathena/default.nix
index a16e77308602..c24bcefec167 100644
--- a/pkgs/development/python-modules/pyathena/default.nix
+++ b/pkgs/development/python-modules/pyathena/default.nix
@@ -5,23 +5,22 @@
, botocore
, pandas
, tenacity
+, pythonOlder
}:
buildPythonPackage rec {
pname = "pyathena";
- version = "2.3.2";
+ version = "2.4.1";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.7";
src = fetchPypi {
pname = "PyAthena";
inherit version;
- sha256 = "20a473c52e76a211c427d2f711af0a04804a70fc036ab884780e42e0dc2025f7";
+ sha256 = "9d42b4e2cdbd8c48f8157692b50681b08569aa3cac3a9694e671ec9aa40f969b";
};
- # Nearly all tests depend on a working AWS Athena instance,
- # therefore deactivating them.
- # https://github.com/laughingman7743/PyAthena/#testing
- doCheck = false;
-
propagatedBuildInputs = [
boto3
botocore
@@ -29,6 +28,15 @@ buildPythonPackage rec {
tenacity
];
+ # Nearly all tests depend on a working AWS Athena instance,
+ # therefore deactivating them.
+ # https://github.com/laughingman7743/PyAthena/#testing
+ doCheck = false;
+
+ pythonImportsCheck = [
+ "pyathena"
+ ];
+
meta = with lib; {
homepage = "https://github.com/laughingman7743/PyAthena/";
license = licenses.mit;
diff --git a/pkgs/development/python-modules/pydelijn/default.nix b/pkgs/development/python-modules/pydelijn/default.nix
index f8a5d2ed4ae9..151a0c5a9669 100644
--- a/pkgs/development/python-modules/pydelijn/default.nix
+++ b/pkgs/development/python-modules/pydelijn/default.nix
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "pydelijn";
- version = "0.6.1";
+ version = "1.0.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
- sha256 = "1lwd2f043hy7gf1ly9zpaq1yg947bqw2af8vhwssf48zpisfgc81";
+ sha256 = "c5b6565c50d4f97d28baca9faf487281c2a5db635060b69f659e27c28a1a6e93";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pymsteams/default.nix b/pkgs/development/python-modules/pymsteams/default.nix
index 7eca666a9cca..0fe7d97f4999 100644
--- a/pkgs/development/python-modules/pymsteams/default.nix
+++ b/pkgs/development/python-modules/pymsteams/default.nix
@@ -1,25 +1,34 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
+, pythonOlder
, requests
}:
buildPythonPackage rec {
pname = "pymsteams";
- version = "0.1.16";
+ version = "0.2.0";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "rveachkc";
repo = pname;
rev = version;
- sha256 = "sha256-dRfzMCsU+jRdnqzIBLn1mPWr+UDq1HFfXXqe1dVhGDo=";
+ sha256 = "1q4fm9dwnx5cy8r6gfzbn2f05hacpjfqlsgcyf2cv56wzb9rrg8v";
};
- propagatedBuildInputs = [ requests ];
+ propagatedBuildInputs = [
+ requests
+ ];
# Tests require network access
doCheck = false;
- pythonImportsCheck = [ "pymsteams" ];
+
+ pythonImportsCheck = [
+ "pymsteams"
+ ];
meta = with lib; {
description = "Python module to interact with Microsoft Teams";
diff --git a/pkgs/development/python-modules/pyturbojpeg/default.nix b/pkgs/development/python-modules/pyturbojpeg/default.nix
index aecbbbd65055..6fb7d5d47283 100644
--- a/pkgs/development/python-modules/pyturbojpeg/default.nix
+++ b/pkgs/development/python-modules/pyturbojpeg/default.nix
@@ -10,13 +10,13 @@
buildPythonPackage rec {
pname = "pyturbojpeg";
- version = "1.6.4";
+ version = "1.6.5";
format = "setuptools";
src = fetchPypi {
pname = "PyTurboJPEG";
inherit version;
- hash = "sha256-kAIFFK7VnwL7o4G512f7kVVDBLz2SnjapzzpNM/KNKA=";
+ hash = "sha256-l3eeD/WGiqVQ2E92WBV8eTRPVdtUnP7wP4brE8PPTkw=";
};
patches = [
diff --git a/pkgs/development/tools/misc/drush/default.nix b/pkgs/development/tools/misc/drush/default.nix
index e2be56b638e8..8cafab36f2ac 100644
--- a/pkgs/development/tools/misc/drush/default.nix
+++ b/pkgs/development/tools/misc/drush/default.nix
@@ -2,40 +2,30 @@
stdenv.mkDerivation rec {
pname = "drush";
- version = "6.1.0";
+ version = "8.4.10";
- meta = with lib; {
- description = "Command-line shell and Unix scripting interface for Drupal";
- homepage = "https://github.com/drush-ops/drush";
- license = licenses.gpl2;
- maintainers = with maintainers; [ lovek323 ];
- platforms = platforms.all;
+ src = fetchurl {
+ url = "https://github.com/drush-ops/drush/releases/download/${version}/drush.phar";
+ sha256 = "sha256-yXSoTDFLsjDiYkRfrIxv2WTVdHzgxZRvtn3Pht5XF4k=";
};
- src = fetchFromGitHub {
- owner = "drush-ops";
- repo = pname;
- rev = version;
- sha256 = "sha256-0nf/m+xJmfHsFLuordiMp8UyrGGXuS70+zFHkIxLWhU=";
- };
-
- consoleTable = fetchurl {
- url = "http://download.pear.php.net/package/Console_Table-1.1.3.tgz";
- sha256 = "07gbjd7m1fj5dmavr0z20vkqwx1cz2522sj9022p257jifj1yl76";
- };
+ dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
- # install libraries
- cd lib
- tar -xf ${consoleTable}
- cd ..
-
- mkdir -p "$out"
- cp -r . "$out/src"
- mkdir "$out/bin"
- wrapProgram "$out/src/drush" --prefix PATH : "${lib.makeBinPath [ which php bash coreutils ncurses ]}"
- ln -s "$out/src/drush" "$out/bin/drush"
+ mkdir -p $out/bin
+ install -D $src $out/libexec/drush/drush.phar
+ makeWrapper ${php}/bin/php $out/bin/drush \
+ --add-flags "$out/libexec/drush/drush.phar" \
+ --prefix PATH : "${lib.makeBinPath [ which php bash coreutils ncurses ]}"
'';
+
+ meta = with lib; {
+ description = "Command-line shell and Unix scripting interface for Drupal";
+ homepage = "https://github.com/drush-ops/drush";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ lovek323 ];
+ platforms = platforms.all;
+ };
}
diff --git a/pkgs/tools/networking/ratman/default.nix b/pkgs/tools/networking/ratman/default.nix
new file mode 100644
index 000000000000..e2b2966f78b0
--- /dev/null
+++ b/pkgs/tools/networking/ratman/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, fetchurl
+, installShellFiles
+, libsodium
+, pkg-config
+, protobuf
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+ pname = "ratman";
+ version = "0.3.1";
+
+ src = fetchurl {
+ url = "https://git.irde.st/we/irdest/-/archive/${pname}-${version}/irdest-${pname}-${version}.tar.gz";
+ sha256 = "0x1wvhsmf7m55j9hmirkz75qivsg33xab1sil6nbv8fby428fpq6";
+ };
+
+ cargoSha256 = "1dkfyy1z34qaavyd3f20hrrrb3kjsdfkyzd535xlds9wivgchmd0";
+
+ nativeBuildInputs = [ protobuf pkg-config installShellFiles ];
+
+ cargoBuildFlags = [ "--all-features" "-p" "ratman" ];
+ cargoTestFlags = cargoBuildFlags;
+
+ buildInputs = [ libsodium ];
+
+ postInstall = ''
+ installManPage docs/man/ratmand.1
+ '';
+
+ SODIUM_USE_PKG_CONFIG = 1;
+
+ meta = with lib; {
+ description = "A modular decentralised peer-to-peer packet router and associated tools";
+ homepage = "https://git.irde.st/we/irdest";
+ platforms = platforms.unix;
+ license = licenses.agpl3;
+ maintainers = with maintainers; [ spacekookie yuka ];
+ };
+}
diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix
index b26760a72941..c52bdb0802d1 100644
--- a/pkgs/tools/networking/socat/default.nix
+++ b/pkgs/tools/networking/socat/default.nix
@@ -9,20 +9,13 @@
stdenv.mkDerivation rec {
pname = "socat";
- version = "1.7.4.2";
+ version = "1.7.4.3";
src = fetchurl {
url = "http://www.dest-unreach.org/socat/download/${pname}-${version}.tar.bz2";
- sha256 = "sha256-ZpCp+ZkEV7UFCXonK78sv0zDVXYXb3ZkbjUksOkcF2M=";
+ sha256 = "sha256-1HMYEEQVB3Y1EZ3+5EvPtB3jSXN0qaABsa/24vCFgAc=";
};
- patches = [
- # This adds missing feature checks for TCP_INFO, a Linux feature
- #
- # Discussed in https://github.com/Homebrew/homebrew-core/pull/88595
- ./socat-fix-feature-check-tcpinfo.patch
- ];
-
postPatch = ''
patchShebangs test.sh
substituteInPlace test.sh \
diff --git a/pkgs/tools/networking/socat/socat-fix-feature-check-tcpinfo.patch b/pkgs/tools/networking/socat/socat-fix-feature-check-tcpinfo.patch
deleted file mode 100644
index ec0ea88359c8..000000000000
--- a/pkgs/tools/networking/socat/socat-fix-feature-check-tcpinfo.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/filan.c b/filan.c
-index 3465f7c..77c22a4 100644
---- a/filan.c
-+++ b/filan.c
-@@ -905,6 +905,7 @@ int tcpan(int fd, FILE *outfile) {
- #if WITH_TCP
-
- int tcpan2(int fd, FILE *outfile) {
-+#ifdef TCP_INFO
- struct tcp_info tcpinfo;
- socklen_t tcpinfolen = sizeof(tcpinfo);
- int result;
-@@ -930,6 +931,8 @@ int tcpan2(int fd, FILE *outfile) {
- // fprintf(outfile, "%s={%u}\t", "TCPI_", tcpinfo.tcpi_);
-
- return 0;
-+#endif
-+ return -1;
- }
-
- #endif /* WITH_TCP */
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index e50be528e5b8..50dbebf23c22 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "exploitdb";
- version = "2022-01-14";
+ version = "2022-01-20";
src = fetchFromGitHub {
owner = "offensive-security";
repo = pname;
rev = version;
- sha256 = "sha256-/Id3cAz+upJPHzNcTnbO02AehS6R9YTz9Ff+1fc7NJs=";
+ sha256 = "sha256-tcoohr9ENRG+WFRJ3KG5NBpwatksV0TQ4HoEypqMjVo=";
};
nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix
index bb0c90197d3c..efb3be1c8fb2 100644
--- a/pkgs/tools/text/gnugrep/default.nix
+++ b/pkgs/tools/text/gnugrep/default.nix
@@ -58,7 +58,10 @@ stdenv.mkDerivation {
license = licenses.gpl3Plus;
- maintainers = [ maintainers.eelco ];
+ maintainers = [
+ maintainers.eelco
+ maintainers.m00wl
+ ];
platforms = platforms.all;
mainProgram = "grep";
};
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 264cfda72b9a..916ec4037644 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9128,6 +9128,8 @@ with pkgs;
rarian = callPackage ../development/libraries/rarian { };
+ ratman = callPackage ../tools/networking/ratman { };
+
ratools = callPackage ../tools/networking/ratools { };
ratt = callPackage ../applications/misc/ratt { };