Merge master into staging-next

This commit is contained in:
github-actions[bot] 2022-01-20 12:01:11 +00:00 committed by GitHub
commit 264c91d4e8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 269 additions and 129 deletions

View file

@ -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";

View file

@ -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 <option>enableConfiguredRecompile</option> is
set to <literal>true</literal>.
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 <option>enableConfiguredRecompile</option>
to <literal>true</literal> 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 <option>config</option> is set to a
non-null value. This adds the necessary Haskell dependencies (GHC with
packages) to the xmonad binary's environment.
'';
};

View file

@ -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")
'';
})

View file

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

View file

@ -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";

View file

@ -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 ];

View file

@ -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=";

View file

@ -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;

View file

@ -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 ];

View file

@ -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 ];

View file

@ -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 = [

View file

@ -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=";

View file

@ -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 ];

View file

@ -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;

View file

@ -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 = [

View file

@ -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";

View file

@ -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 = [

View file

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

View file

@ -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 ];
};
}

View file

@ -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 \

View file

@ -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 */

View file

@ -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 ];

View file

@ -58,7 +58,10 @@ stdenv.mkDerivation {
license = licenses.gpl3Plus;
maintainers = [ maintainers.eelco ];
maintainers = [
maintainers.eelco
maintainers.m00wl
];
platforms = platforms.all;
mainProgram = "grep";
};

View file

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