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 { };