Merge remote-tracking branch 'origin/master' into staging-next

main
Martin Weinelt 2 years ago
commit 48f17360d9
  1. 18
      doc/builders/fetchers.chapter.md
  2. 5
      lib/default.nix
  3. 12
      lib/options.nix
  4. 15
      lib/types.nix
  5. 6
      nixos/doc/manual/development/option-types.section.md
  6. 16
      nixos/doc/manual/from_md/development/option-types.section.xml
  7. 2
      nixos/modules/services/hardware/triggerhappy.nix
  8. 57
      nixos/modules/system/activation/top-level.nix
  9. 21
      nixos/modules/system/build.nix
  10. 2
      nixos/tests/mpd.nix
  11. 25
      pkgs/applications/audio/clerk/default.nix
  12. 43
      pkgs/applications/audio/mpc/default.nix
  13. 4
      pkgs/applications/misc/nwg-wrapper/default.nix
  14. 4
      pkgs/applications/networking/irc/wraith/configure.patch
  15. 4
      pkgs/applications/networking/irc/wraith/default.nix
  16. 12
      pkgs/applications/networking/irc/wraith/dlopen.patch
  17. 30
      pkgs/applications/window-managers/qtile/default.nix
  18. 1
      pkgs/build-support/fetchgit/builder.sh
  19. 3
      pkgs/build-support/fetchgit/default.nix
  20. 8
      pkgs/build-support/fetchgit/nix-prefetch-git
  21. 11
      pkgs/build-support/fetchgit/tests.nix
  22. 5
      pkgs/build-support/fetchgithub/default.nix
  23. 4
      pkgs/development/coq-modules/coq-ext-lib/default.nix
  24. 3
      pkgs/development/coq-modules/coq-record-update/default.nix
  25. 2
      pkgs/development/coq-modules/deriving/default.nix
  26. 15
      pkgs/development/coq-modules/equations/default.nix
  27. 2
      pkgs/development/coq-modules/reglang/default.nix
  28. 22
      pkgs/development/libraries/libusbgx/default.nix
  29. 4
      pkgs/development/python-modules/aioesphomeapi/default.nix
  30. 4
      pkgs/development/python-modules/aiohwenergy/default.nix
  31. 4
      pkgs/development/python-modules/aiounifi/default.nix
  32. 78
      pkgs/development/python-modules/datafusion/Cargo.lock.patch
  33. 90
      pkgs/development/python-modules/datafusion/default.nix
  34. 4
      pkgs/development/python-modules/django-taggit/default.nix
  35. 4
      pkgs/development/python-modules/flux-led/default.nix
  36. 4
      pkgs/development/python-modules/gigalixir/default.nix
  37. 4
      pkgs/development/python-modules/glom/default.nix
  38. 27
      pkgs/development/python-modules/jdatetime/default.nix
  39. 4
      pkgs/development/python-modules/levenshtein/default.nix
  40. 4
      pkgs/development/python-modules/markdown-it-py/default.nix
  41. 20
      pkgs/development/python-modules/rollbar/default.nix
  42. 4
      pkgs/development/tools/database/sqlfluff/default.nix
  43. 6
      pkgs/games/shattered-pixel-dungeon/default.nix
  44. 4
      pkgs/games/vintagestory/default.nix
  45. 40
      pkgs/misc/sagetex/default.nix
  46. 29
      pkgs/os-specific/linux/gt/default.nix
  47. 8
      pkgs/os-specific/linux/ima-evm-utils/default.nix
  48. 73
      pkgs/os-specific/linux/ima-evm-utils/xattr.patch
  49. 16
      pkgs/tools/filesystems/btrfs-progs/default.nix
  50. 10
      pkgs/tools/security/cosign/default.nix
  51. 4
      pkgs/tools/security/kubescape/default.nix
  52. 4
      pkgs/tools/security/lynis/default.nix
  53. 6
      pkgs/tools/wayland/swayr/default.nix
  54. 1
      pkgs/top-level/aliases.nix
  55. 20
      pkgs/top-level/all-packages.nix
  56. 2
      pkgs/top-level/python-packages.nix

@ -40,6 +40,24 @@ Used with Git. Expects `url` to a Git repo, `rev`, and `sha256`. `rev` in this c
Additionally the following optional arguments can be given: `fetchSubmodules = true` makes `fetchgit` also fetch the submodules of a repository. If `deepClone` is set to true, the entire repository is cloned as opposing to just creating a shallow clone. `deepClone = true` also implies `leaveDotGit = true` which means that the `.git` directory of the clone won't be removed after checkout.
If only parts of the repository are needed, `sparseCheckout` can be used. This will prevent git from fetching unnecessary blobs from server, see [git sparse-checkout](https://git-scm.com/docs/git-sparse-checkout) and [git clone --filter](https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---filterltfilter-specgt) for more infomation:
```nix
{ stdenv, fetchgit }:
stdenv.mkDerivation {
name = "hello";
src = fetchgit {
url = "https://...";
sparseCheckout = ''
path/to/be/included
another/path
'';
sha256 = "0000000000000000000000000000000000000000000000000000";
};
}
```
## `fetchfossil` {#fetchfossil}
Used with Fossil. Expects `url` to a Fossil archive, `rev`, and `sha256`.

@ -122,8 +122,9 @@ let
mkRenamedOptionModule mkMergedOptionModule mkChangedOptionModule
mkAliasOptionModule mkDerivedConfig doRename;
inherit (self.options) isOption mkEnableOption mkSinkUndeclaredOptions
mergeDefaultOption mergeOneOption mergeEqualOption getValues
getFiles optionAttrSetToDocList optionAttrSetToDocList'
mergeDefaultOption mergeOneOption mergeEqualOption mergeUniqueOption
getValues getFiles
optionAttrSetToDocList optionAttrSetToDocList'
scrubOptionValue literalExpression literalExample literalDocBook
showOption showFiles unknownModule mkOption;
inherit (self.types) isType setType defaultTypeMerge defaultFunctor

@ -172,11 +172,13 @@ rec {
else if all isInt list && all (x: x == head list) list then head list
else throw "Cannot merge definitions of `${showOption loc}'. Definition values:${showDefs defs}";
mergeOneOption = loc: defs:
if defs == [] then abort "This case should never happen."
else if length defs != 1 then
throw "The unique option `${showOption loc}' is defined multiple times. Definition values:${showDefs defs}"
else (head defs).value;
mergeOneOption = mergeUniqueOption { message = ""; };
mergeUniqueOption = { message }: loc: defs:
if length defs == 1
then (head defs).value
else assert length defs > 1;
throw "The option `${showOption loc}' is defined multiple times.\n${message}\nDefinition values:${showDefs defs}";
/* "Merge" option definitions by checking that they all have the same value. */
mergeEqualOption = loc: defs:

@ -32,7 +32,6 @@ let
last
length
tail
unique
;
inherit (lib.attrsets)
attrNames
@ -48,6 +47,7 @@ let
mergeDefaultOption
mergeEqualOption
mergeOneOption
mergeUniqueOption
showFiles
showOption
;
@ -470,6 +470,18 @@ rec {
nestedTypes.elemType = elemType;
};
unique = { message }: type: mkOptionType rec {
name = "unique";
inherit (type) description check;
merge = mergeUniqueOption { inherit message; };
emptyValue = type.emptyValue;
getSubOptions = type.getSubOptions;
getSubModules = type.getSubModules;
substSubModules = m: uniq (type.substSubModules m);
functor = (defaultFunctor name) // { wrapped = type; };
nestedTypes.elemType = type;
};
# Null or value of ...
nullOr = elemType: mkOptionType rec {
name = "nullOr";
@ -599,6 +611,7 @@ rec {
# A value from a set of allowed ones.
enum = values:
let
inherit (lib.lists) unique;
show = v:
if builtins.isString v then ''"${v}"''
else if builtins.isInt v then builtins.toString v

@ -250,6 +250,12 @@ Composed types are types that take a type as parameter. `listOf
: Ensures that type *`t`* cannot be merged. It is used to ensure option
definitions are declared only once.
`types.unique` `{ message = m }` *`t`*
: Ensures that type *`t`* cannot be merged. Prints the message *`m`*, after
the line `The option <option path> is defined multiple times.` and before
a list of definition locations.
`types.either` *`t1 t2`*
: Type *`t1`* or type *`t2`*, e.g. `with types; either int str`.

@ -496,6 +496,22 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.unique</literal>
<literal>{ message = m }</literal>
<emphasis><literal>t</literal></emphasis>
</term>
<listitem>
<para>
Ensures that type <emphasis><literal>t</literal></emphasis>
cannot be merged. Prints the message
<emphasis><literal>m</literal></emphasis>, after the line
<literal>The option &lt;option path&gt; is defined multiple times.</literal>
and before a list of definition locations.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.either</literal>

@ -70,7 +70,7 @@ in
type = types.listOf (types.submodule bindingCfg);
default = [];
example = lib.literalExpression ''
[ { keys = ["PLAYPAUSE"]; cmd = "''${pkgs.mpc_cli}/bin/mpc -q toggle"; } ]
[ { keys = ["PLAYPAUSE"]; cmd = "''${pkgs.mpc-cli}/bin/mpc -q toggle"; } ]
'';
description = ''
Key bindings for <command>triggerhappy</command>.

@ -109,9 +109,7 @@ let
utillinux = pkgs.util-linux;
kernelParams = config.boot.kernelParams;
installBootLoader =
config.system.build.installBootLoader
or "echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2; true";
installBootLoader = config.system.build.installBootLoader;
activationScript = config.system.activationScripts.script;
dryActivationScript = config.system.dryActivationScript;
nixosLabel = config.system.nixos.label;
@ -135,25 +133,27 @@ let
pkgs.replaceDependency { inherit oldDependency newDependency drv; }
) baseSystemAssertWarn config.system.replaceRuntimeDependencies;
/* Workaround until https://github.com/NixOS/nixpkgs/pull/156533
Call can be replaced by argument when that's merged.
*/
tmpFixupSubmoduleBoundary = subopts:
lib.mkOption {
type = lib.types.submoduleWith {
modules = [ { options = subopts; } ];
};
};
in
{
imports = [
../build.nix
(mkRemovedOptionModule [ "nesting" "clone" ] "Use `specialisation.«name» = { inheritParentConfig = true; configuration = { ... }; }` instead.")
(mkRemovedOptionModule [ "nesting" "children" ] "Use `specialisation.«name».configuration = { ... }` instead.")
];
options = {
system.build = mkOption {
internal = true;
default = {};
type = with types; lazyAttrsOf (uniq unspecified);
description = ''
Attribute set of derivations used to setup the system.
'';
};
specialisation = mkOption {
default = {};
example = lib.literalExpression "{ fewJobsManyCores.configuration = { nix.buildCores = 0; nix.maxJobs = 1; }; }";
@ -224,6 +224,39 @@ in
'';
};
system.build = tmpFixupSubmoduleBoundary {
installBootLoader = mkOption {
internal = true;
# "; true" => make the `$out` argument from switch-to-configuration.pl
# go to `true` instead of `echo`, hiding the useless path
# from the log.
default = "echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2; true";
description = ''
A program that writes a bootloader installation script to the path passed in the first command line argument.
See <literal>nixos/modules/system/activation/switch-to-configuration.pl</literal>.
'';
type = types.unique {
message = ''
Only one bootloader can be enabled at a time. This requirement has not
been checked until NixOS 22.05. Earlier versions defaulted to the last
definition. Change your configuration to enable only one bootloader.
'';
} (types.either types.str types.package);
};
toplevel = mkOption {
type = types.package;
readOnly = true;
description = ''
This option contains the store path that typically represents a NixOS system.
You can read this path in a custom deployment tool for example.
'';
};
};
system.copySystemConfiguration = mkOption {
type = types.bool;
default = false;

@ -0,0 +1,21 @@
{ lib, ... }:
let
inherit (lib) mkOption types;
in
{
options = {
system.build = mkOption {
default = {};
description = ''
Attribute set of derivations used to set up the system.
'';
type = types.submoduleWith {
modules = [{
freeformType = with types; lazyAttrsOf (uniq unspecified);
}];
};
};
};
}

@ -96,7 +96,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
};
testScript = ''
mpc = "${pkgs.mpc_cli}/bin/mpc --wait"
mpc = "${pkgs.mpc-cli}/bin/mpc --wait"
# Connects to the given server and attempts to play a tune.
def play_some_music(server):

@ -3,7 +3,7 @@
, fetchFromGitHub
, makeWrapper
, rofi
, mpc_cli
, mpc-cli
, perl
, util-linux
, python3Packages
@ -28,11 +28,24 @@ stdenv.mkDerivation {
strictDeps = true;
installPhase = ''
DESTDIR=$out PREFIX=/ make install
wrapProgram $out/bin/clerk \
--prefix PATH : "${lib.makeBinPath [ rofi mpc_cli perl util-linux libnotify ]}"
'';
installPhase =
let
binPath = lib.makeBinPath [
libnotify
mpc-cli
perl
rofi
util-linux
];
in
''
runHook preInstall
DESTDIR=$out PREFIX=/ make install
wrapProgram $out/bin/clerk --prefix PATH : "${binPath}"
runHook postInstall
'';
meta = with lib; {
description = "An MPD client built on top of rofi";

@ -2,12 +2,13 @@
, stdenv
, fetchFromGitHub
, fetchpatch
, installShellFiles
, libiconv
, libmpdclient
, meson
, ninja
, pkg-config
, libmpdclient
, sphinx
, libiconv
}:
stdenv.mkDerivation rec {
@ -15,10 +16,10 @@ stdenv.mkDerivation rec {
version = "0.34";
src = fetchFromGitHub {
owner = "MusicPlayerDaemon";
repo = "mpc";
rev = "v${version}";
sha256 = "sha256-2FjYBfak0IjibuU+CNQ0y9Ei8hTZhynS/BK2DNerhVw=";
owner = "MusicPlayerDaemon";
repo = pname;
rev = "v${version}";
hash = "sha256-2FjYBfak0IjibuU+CNQ0y9Ei8hTZhynS/BK2DNerhVw=";
};
patches = [
@ -29,15 +30,33 @@ stdenv.mkDerivation rec {
})
];
buildInputs = [ libmpdclient ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
buildInputs = [
libmpdclient
]
++ lib.optionals stdenv.isDarwin [ libiconv ];
nativeBuildInputs = [ meson ninja pkg-config sphinx ];
nativeBuildInputs = [
installShellFiles
meson
ninja
pkg-config
sphinx
];
postInstall = ''
installShellCompletion --cmd mpc --bash $out/share/doc/mpc/contrib/mpc-completion.bash
'';
postFixup = ''
rm $out/share/doc/mpc/contrib/mpc-completion.bash
'';
meta = with lib; {
description = "A minimalist command line interface to MPD";
homepage = "https://www.musicpd.org/clients/mpc/";
license = licenses.gpl2;
maintainers = with maintainers; [ algorith ncfavier ];
platforms = with platforms; linux ++ darwin;
description = "A minimalist command line interface to MPD";
changelog = "https://raw.githubusercontent.com/MusicPlayerDaemon/mpc/v${version}/NEWS";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = with platforms; unix;
};
}

@ -2,13 +2,13 @@
python3Packages.buildPythonPackage rec {
pname = "nwg-wrapper";
version = "0.1.0";
version = "0.1.2";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = pname;
rev = "v${version}";
sha256 = "0xkxyfbj8zljx7k5wbniz3x9jg0l4jnbbjv8hy5y5p4l10m0vpjs";
sha256 = "114y55mv2rgnp75a3c7rk46v5v84d1zqb6wkha7x16ab6xa9phzl";
};
nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];

@ -1,8 +1,8 @@
--- a/configure
+++ b/configure
@@ -6029,53 +6029,8 @@
@@ -6143,53 +6143,8 @@ rm -f confcache
#AC_CHECK_HEADERS(openssl/ssl.h openssl/crypto.h)
#AC_CHECK_HEADERS(zlib.h)
#EGG_CHECK_ZLIB
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for path to OpenSSL" >&5
-$as_echo_n "checking for path to OpenSSL... " >&6; }

@ -2,10 +2,10 @@
stdenv.mkDerivation rec {
pname = "wraith";
version = "1.4.7";
version = "1.4.10";
src = fetchurl {
url = "mirror://sourceforge/wraithbotpack/wraith-v${version}.tar.gz";
sha256 = "0h6liac5y7im0jfm2sj18mibvib7d1l727fjs82irsjj1v9kif3j";
sha256 = "1h8159g6wh1hi69cnhqkgwwwa95fa6z1zrzjl219mynbf6vjjzkw";
};
hardeningDisable = [ "format" ];
buildInputs = [ openssl ];

@ -1,15 +1,15 @@
diff --git a/src/libcrypto.cc b/src/libcrypto.cc
index 0339258..68746c8 100644
index 5139f66..517103f 100644
--- a/src/libcrypto.cc
+++ b/src/libcrypto.cc
@@ -95,17 +95,9 @@ int load_libcrypto() {
@@ -100,17 +100,9 @@ int load_libcrypto() {
}
sdprintf("Loading libcrypto");
+ dlerror(); // Clear Errors
+ libcrypto_handle = dlopen("@openssl@/lib/libcrypto.so", RTLD_LAZY|RTLD_GLOBAL);
- bd::Array<bd::String> libs_list(bd::String("libcrypto.so." SHLIB_VERSION_NUMBER " libcrypto.so libcrypto.so.0.9.8 libcrypto.so.7 libcrypto.so.6").split(' '));
- bd::Array<bd::String> libs_list(bd::String("libcrypto.so." SHLIB_VERSION_NUMBER " libcrypto.so libcrypto.so.1.1 libcrypto.so.1.0.0 libcrypto.so.0.9.8 libcrypto.so.10 libcrypto.so.9 libcrypto.so.8 libcrypto.so.7 libcrypto.so.6").split(' '));
-
- for (size_t i = 0; i < libs_list.length(); ++i) {
- dlerror(); // Clear Errors
@ -23,17 +23,17 @@ index 0339258..68746c8 100644
fprintf(stderr, STR("Unable to find libcrypto\n"));
return(1);
diff --git a/src/libssl.cc b/src/libssl.cc
index b432c7b..8940998 100644
index 6010abc..86e29fc 100644
--- a/src/libssl.cc
+++ b/src/libssl.cc
@@ -68,17 +68,9 @@ int load_libssl() {
@@ -78,17 +78,9 @@ int load_libssl() {
}
sdprintf("Loading libssl");
+ dlerror(); // Clear Errors
+ libssl_handle = dlopen("@openssl@/lib/libssl.so", RTLD_LAZY);
- bd::Array<bd::String> libs_list(bd::String("libssl.so." SHLIB_VERSION_NUMBER " libssl.so libssl.so.0.9.8 libssl.so.7 libssl.so.6").split(' '));
- bd::Array<bd::String> libs_list(bd::String("libssl.so." SHLIB_VERSION_NUMBER " libssl.so libssl.so.1.1 libssl.so.1.0.0 libssl.so.0.9.8 libssl.so.10 libssl.so.9 libssl.so.8 libssl.so.7 libssl.so.6").split(' '));
-
- for (size_t i = 0; i < libs_list.length(); ++i) {
- dlerror(); // Clear Errors

@ -1,15 +1,7 @@
{ lib, fetchFromGitHub, python3, mypy, glib, cairo, pango, pkg-config, libxcb, xcbutilcursor }:
{ lib, fetchFromGitHub, python3, python3Packages, mypy, glib, pango, pkg-config, xcbutilcursor }:
let
enabled-xcffib = cairocffi-xcffib: cairocffi-xcffib.override {
withXcffib = true;
};
# make it easier to reference python
python = python3;
pythonPackages = python.pkgs;
unwrapped = pythonPackages.buildPythonPackage rec {
unwrapped = python3Packages.buildPythonPackage rec {
pname = "qtile";
version = "0.19.0";
@ -33,13 +25,13 @@ let
nativeBuildInputs = [
pkg-config
] ++ (with pythonPackages; [
] ++ (with python3Packages; [
setuptools-scm
]);
propagatedBuildInputs = with pythonPackages; [
propagatedBuildInputs = with python3Packages; [
xcffib
(enabled-xcffib cairocffi)
(cairocffi.override { withXcffib = true; })
setuptools
python-dateutil
dbus-python
@ -68,9 +60,9 @@ let
};
};
in
(python.withPackages (ps: [ unwrapped ])).overrideAttrs (_: {
# otherwise will be exported as "env", this restores `nix search` behavior
name = "${unwrapped.pname}-${unwrapped.version}";
# export underlying qtile package
passthru = { inherit unwrapped; };
})
(python3.withPackages (_: [ unwrapped ])).overrideAttrs (_: {
# otherwise will be exported as "env", this restores `nix search` behavior
name = "${unwrapped.pname}-${unwrapped.version}";
# export underlying qtile package
passthru = { inherit unwrapped; };
})

@ -11,6 +11,7 @@ $SHELL $fetcher --builder --url "$url" --out "$out" --rev "$rev" \
${fetchLFS:+--fetch-lfs} \
${deepClone:+--deepClone} \
${fetchSubmodules:+--fetch-submodules} \
${sparseCheckout:+--sparse-checkout "$sparseCheckout"} \
${branchName:+--branch-name "$branchName"}
runHook postFetch

@ -15,6 +15,7 @@ in
{ url, rev ? "HEAD", md5 ? "", sha256 ? "", hash ? "", leaveDotGit ? deepClone
, fetchSubmodules ? true, deepClone ? false
, branchName ? null
, sparseCheckout ? ""
, name ? urlToName url rev
, # Shell code executed after the file has been fetched
# successfully. This can do things like check or transform the file.
@ -74,7 +75,7 @@ stdenvNoCC.mkDerivation {
else
lib.fakeSha256;
inherit url rev leaveDotGit fetchLFS fetchSubmodules deepClone branchName postFetch;
inherit url rev leaveDotGit fetchLFS fetchSubmodules deepClone branchName sparseCheckout postFetch;
postHook = if netrcPhase == null then null else ''
${netrcPhase}

@ -48,6 +48,7 @@ Options:
--rev ref Any sha1 or references (such as refs/heads/master)
--hash h Expected hash.
--branch-name Branch name to check out into
--sparse-checkout Only fetch and checkout part of the repository.
--deepClone Clone the entire repository.
--no-deepClone Make a shallow clone of just the required ref.
--leave-dotGit Keep the .git directories.
@ -75,6 +76,7 @@ for arg; do
--hash) argfun=set_hashType;;
--branch-name) argfun=set_branchName;;
--deepClone) deepClone=true;;
--sparse-checkout) argfun=set_sparseCheckout;;
--quiet) QUIET=true;;
--no-deepClone) deepClone=;;
--leave-dotGit) leaveDotGit=true;;
@ -96,7 +98,7 @@ for arg; do
case $argfun in
set_*)
var=${argfun#set_}
eval $var=$arg
eval "$var=$(printf %q "$arg")"
;;
esac
argfun=""
@ -112,6 +114,10 @@ init_remote(){
local url=$1
clean_git init --initial-branch=master
clean_git remote add origin "$url"
if [ -n "$sparseCheckout" ]; then
git config remote.origin.partialclonefilter "blob:none"
echo "$sparseCheckout" | git sparse-checkout set --stdin
fi
( [ -n "$http_proxy" ] && clean_git config http.proxy "$http_proxy" ) || true
}

@ -7,4 +7,15 @@
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
};
sparseCheckout = invalidateFetcherByDrvHash fetchgit {
name = "nix-source";
url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
sparseCheckout = ''
src
tests
'';
sha256 = "sha256-FknO6C/PSnMPfhUqObD4vsW4PhkwdmPa9blNzcNvJQ4=";
};
}

@ -3,6 +3,7 @@
{ owner, repo, rev, name ? "source"
, fetchSubmodules ? false, leaveDotGit ? null
, deepClone ? false, private ? false, forceFetchGit ? false
, sparseCheckout ? ""
, githubBase ? "github.com", varPrefix ? null
, ... # For hash agility
}@args:
@ -10,7 +11,7 @@ let
baseUrl = "https://${githubBase}/${owner}/${repo}";
passthruAttrs = removeAttrs args [ "owner" "repo" "rev" "fetchSubmodules" "forceFetchGit" "private" "githubBase" "varPrefix" ];
varBase = "NIX${if varPrefix == null then "" else "_${varPrefix}"}_GITHUB_PRIVATE_";
useFetchGit = fetchSubmodules || (leaveDotGit == true) || deepClone || forceFetchGit;
useFetchGit = fetchSubmodules || (leaveDotGit == true) || deepClone || forceFetchGit || (sparseCheckout != "");
# We prefer fetchzip in cases we don't need submodules as the hash
# is more stable in that case.
fetcher = if useFetchGit then fetchgit else fetchzip;
@ -30,7 +31,7 @@ let
};
fetcherArgs = (if useFetchGit
then {
inherit rev deepClone fetchSubmodules; url = "${baseUrl}.git";
inherit rev deepClone fetchSubmodules sparseCheckout; url = "${baseUrl}.git";
} // lib.optionalAttrs (leaveDotGit != null) { inherit leaveDotGit; }
else { url = "${baseUrl}/archive/${rev}.tar.gz"; }
) // privateAttrs // passthruAttrs // { inherit name; };

@ -5,13 +5,15 @@ with lib; mkCoqDerivation rec {
owner = "coq-ext-lib";
inherit version;
defaultVersion = with versions; switch coq.coq-version [
{ case = range "8.8" "8.15"; out = "0.11.6"; }
{ case = range "8.8" "8.14"; out = "0.11.4"; }
{ case = range "8.8" "8.13"; out = "0.11.3"; }
{ case = "8.7"; out = "0.9.7"; }
{ case = "8.6"; out = "0.9.5"; }
{ case = "8.5"; out = "0.9.4"; }
] null;
release."0.11.4".sha256 = "sha256:0yp8mhrhkc498nblvhq1x4j6i9aiidkjza4wzvrkp9p8rgx5g5y3";
release."0.11.6".sha256 = "0w6iyrdszz7zc8kaybhy3mwjain2d2f83q79xfd5di0hgdayh7q7";
release."0.11.4".sha256 = "0yp8mhrhkc498nblvhq1x4j6i9aiidkjza4wzvrkp9p8rgx5g5y3";
release."0.11.3".sha256 = "1w99nzpk72lffxis97k235axss5lmzhy5z3lga2i0si95mbpil42";
release."0.11.2".sha256 = "0iyka81g26x5n99xic7kqn8vxqjw8rz7vw9rs27iw04lf137vzv6";
release."0.10.3".sha256 = "0795gs2dlr663z826mp63c8h2zfadn541dr8q0fvnvi2z7kfyslb";

@ -5,10 +5,11 @@ with lib; mkCoqDerivation rec {
owner = "tchajed";
inherit version;
defaultVersion = with versions; switch coq.coq-version [
{ case = range "8.10" "8.14"; out = "0.3.0"; }
{ case = range "8.10" "8.15"; out = "0.3.0"; }
] null;
release."0.3.0".sha256 = "1ffr21dd6hy19gxnvcd4if2450iksvglvkd6q5713fajd72hmc0z";
releaseRev = v: "v${v}";
buildFlags = "NO_TEST=1";
meta = {
description = "Library to create Coq record update functions";
maintainers = with maintainers; [ ineol ];

@ -9,7 +9,7 @@ mkCoqDerivation {
inherit version;
defaultVersion = with versions; switch coq.coq-version [
{ case = range "8.11" "8.14"; out = "0.1.0"; }
{ case = range "8.11" "8.15"; out = "0.1.0"; }
] null;
releaseRev = v: "v${v}";

@ -6,8 +6,9 @@ with lib; mkCoqDerivation {
repo = "Coq-Equations";
inherit version;
defaultVersion = switch coq.coq-version [
{ case = "8.14"; out = "1.3-8.14"; }
{ case = "8.13"; out = "1.3-8.13"; }
{ case = "8.15"; out = "1.3+8.15"; }
{ case = "8.14"; out = "1.3+8.14"; }
{ case = "8.13"; out = "1.3+8.13"; }
{ case = "8.12"; out = "1.2.4+coq8.12"; }
{ case = "8.11"; out = "1.2.4+coq8.11"; }
{ case = "8.10"; out = "1.2.1+coq8.10-2"; }
@ -44,10 +45,12 @@ with lib; mkCoqDerivation {
release."1.2.4+coq8.12".sha256 = "1n0w8is464qcq8mk2mv7amaf0khbjz5mpc9phf0rhpjm0lb22cb3";
release."1.2.4+coq8.13".rev = "v1.2.4-8.13";
release."1.2.4+coq8.13".sha256 = "0i014lshsdflzw6h0qxra9d2f0q82vffxv2f29awbb9ad0p4rq4q";
release."1.3-8.13".rev = "v1.3-8.13";
release."1.3-8.13".sha256 = "1jwjbkkkk4bwf6pz4zzz8fy5bb17aqyf4smkja59rgj9ya6nrdhg";
release."1.3-8.14".rev = "v1.3-8.14";
release."1.3-8.14".sha256 = "19bj9nncd1r9g4273h5qx35gs3i4bw5z9bhjni24b413hyj55hkv";
release."1.3+8.13".rev = "v1.3-8.13";
release."1.3+8.13".sha256 = "1jwjbkkkk4bwf6pz4zzz8fy5bb17aqyf4smkja59rgj9ya6nrdhg";
release."1.3+8.14".rev = "v1.3-8.14";
release."1.3+8.14".sha256 = "19bj9nncd1r9g4273h5qx35gs3i4bw5z9bhjni24b413hyj55hkv";
release."1.3+8.15".rev = "v1.3-8.15";
release."1.3+8.15".sha256 = "1vfcfpsp9zyj0sw0cwibk76nj6n0r6gwh8m1aa3lbvc0b1kbm32k";
mlPlugin = true;
preBuild = "coq_makefile -f _CoqProject -o Makefile";

@ -10,7 +10,7 @@ mkCoqDerivation {
inherit version;
defaultVersion = with versions; switch coq.coq-version [
{ case = range "8.10" "8.14"; out = "1.1.2"; }
{ case = range "8.10" "8.15"; out = "1.1.2"; }
] null;

@ -0,0 +1,22 @@
{ stdenv, lib, fetchFromGitHub, cmake, bash-completion, pkg-config, libconfig, autoreconfHook }:
stdenv.mkDerivation {
pname = "libusbgx";
version = "unstable-2021-10-31";
src = fetchFromGitHub {
owner = "linux-usb-gadgets";
repo = "libusbgx";
rev = "060784424609d5a4e3bce8355f788c93f09802a5";
sha256 = "172qh8gva17jr18ldhf9zi960w2bqzmp030w6apxq57c9nv6d8k7";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ libconfig ];
meta = {
description = "C library encapsulating the kernel USB gadget-configfs userspace API functionality";
license = with lib.licenses; [
lgpl21Plus # library
gpl2Plus # examples
];
maintainers = with lib.maintainers; [ lheckemann ];
platforms = lib.platforms.linux;
};
}

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "aioesphomeapi";
version = "10.6.0";
version = "10.8.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "esphome";
repo = pname;
rev = "v${version}";
sha256 = "1z9pybis8yi938i3cgzma4w452ik9vggyyhs3y542zpk4183d7xw";
sha256 = "1349b2as6r3m9sxlfss8plzafn31kf3rihwa58b4f7cmc4dhb2s8";
};
propagatedBuildInputs = [

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "aiohwenergy";
version = "0.6.0";
version = "0.7.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "DCSBL";
repo = pname;
rev = version;
sha256 = "006q2kgc28dn43skk2x76d13fp51sy073nm8f2hrxn4wqwkccsx3";
sha256 = "0pgk9ky4kfb1kp0mpyxdinwql1q85a3bl5w34pr88wqdqdw467ms";
};
propagatedBuildInputs = [

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "aiounifi";
version = "29";
version = "30";
disabled = pythonOlder "3.7";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "Kane610";
repo = pname;
rev = "v${version}";
sha256 = "sha256-A2+jLxKpha7HV1m3uzy00o8tsjwx0Uuwn5x3DO9daTI=";
sha256 = "036yx1g80rc32g9mqx4khn8iqhmwl4kfch35pjslnna9kw3kb9i8";
};
propagatedBuildInputs = [

@ -0,0 +1,78 @@
diff --git a/Cargo.lock b/Cargo.lock
index fa84a54c..3d790e1c 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -57,9 +57,9 @@ checksum = "be4dc07131ffa69b8072d35f5007352af944213cde02545e2103680baed38fcd"
[[package]]
name = "arrow"
-version = "6.0.0"
+version = "6.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "337e668497751234149fd607f5cb41a6ae7b286b6329589126fe67f0ac55d637"
+checksum = "216c6846a292bdd93c2b93c1baab58c32ff50e2ab5e8d50db333ab518535dd8b"
dependencies = [
"bitflags",
"chrono",
@@ -212,9 +212,9 @@ dependencies = [
[[package]]
name = "comfy-table"
-version = "4.1.1"
+version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11e95a3e867422fd8d04049041f5671f94d53c32a9dcd82e2be268714942f3f3"
+checksum = "c42350b81f044f576ff88ac750419f914abb46a03831bb1747134344ee7a4e64"
dependencies = [
"strum",
"strum_macros",
@@ -279,7 +279,7 @@ dependencies = [
[[package]]
name = "datafusion"
-version = "5.1.0"
+version = "6.0.0"
dependencies = [
"ahash",
"arrow",
@@ -310,7 +310,7 @@ dependencies = [
[[package]]
name = "datafusion-python"
-version = "0.3.0"
+version = "0.4.0"
dependencies = [
"datafusion",
"pyo3",
@@ -877,9 +877,9 @@ dependencies = [
[[package]]
name = "parquet"
-version = "6.0.0"
+version = "6.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d263b9b59ba260518de9e57bd65931c3f765fea0fabacfe84f40d6fde38e841a"
+checksum = "788d9953f4cfbe9db1beff7bebd54299d105e34680d78b82b1ddc85d432cac9d"
dependencies = [
"arrow",
"base64",
@@ -1228,15 +1228,15 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "strum"
-version = "0.21.0"
+version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2"
+checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e"
[[package]]
name = "strum_macros"
-version = "0.21.1"
+version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec"
+checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb"
dependencies = [
"heck",
"proc-macro2",

@ -0,0 +1,90 @@
{ lib
, stdenv
, fetchurl
, buildPythonPackage
, fetchPypi
, fetchFromGitHub
, rustPlatform
, maturin
, pytestCheckHook
, libiconv
, numpy
, pandas
, pyarrow
, pytest
}:
let
# le sigh, the perils of unrelated versions of software living in the same
# repo: there's no obvious way to map the top level source repo
# (arrow-datafusion) version to the version of contained repo
# (arrow-datafusion/python)
#
# A commit hash will do in a pinch, and ultimately the sha256 has the final
# say of what the content is when building
cargoLock = fetchurl {
url = "https://raw.githubusercontent.com/apache/arrow-datafusion/6.0.0/python/Cargo.lock";
sha256 = "sha256-xiv3drEU5jOGsEIh0U01ZQ1NBKobxO2ctp4mxy9iigw=";
};
postUnpack = ''
cp "${cargoLock}" $sourceRoot/Cargo.lock
chmod u+w $sourceRoot/Cargo.lock
'';
in
buildPythonPackage rec {
pname = "datafusion";
version = "0.4.0";
format = "pyproject";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-+YqogteKfNhtI2QbVXv/5CIWm3PcOH653dwONm5ZcL8=";
};
inherit postUnpack;
# TODO: remove the patch hacking and postUnpack hooks after
# https://github.com/apache/arrow-datafusion/pull/1508 is merged
#
# the lock file isn't up to date as of 6.0.0 so we need to patch the source
# lockfile and the vendored cargo deps lockfile
patches = [ ./Cargo.lock.patch ];
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src pname version postUnpack;
sha256 = "sha256-JGyDxpfBXzduJaMF1sbmRm7KJajHYdVSj+WbiSETiY0=";
patches = [ ./Cargo.lock.patch ];
};
nativeBuildInputs = with rustPlatform; [
cargoSetupHook
maturinBuildHook
];
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
propagatedBuildInputs = [
numpy
pandas
pyarrow
];
checkInputs = [ pytest ];
pythonImportsCheck = [ "datafusion" ];
checkPhase = ''
runHook preCheck
pytest --pyargs "${pname}"
runHook postCheck
'';
meta = with lib; {
description = "Extensible query execution framework";
longDescription = ''
DataFusion is an extensible query execution framework, written in Rust,
that uses Apache Arrow as its in-memory format.
'';
homepage = "https://arrow.apache.org/datafusion/";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ cpcloud ];
};
}

@ -9,13 +9,13 @@
buildPythonPackage rec {
pname = "django-taggit";
version = "2.0.0";
version = "2.1.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "a23ca776ee2709b455c3a95625be1e4b891ddf1ffb4173153c41806de4038d72";
sha256 = "a9f41e4ad58efe4b28d86f274728ee87eb98eeae90c9eb4b4efad39e5068184e";
};
propagatedBuildInputs = [

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "flux-led";
version = "0.28.10";
version = "0.28.11";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "Danielhiversen";
repo = "flux_led";
rev = version;
sha256 = "sha256-kH+0W+MgdA7+owqC5KsOnqCidErCaQ3mEueZdP8eAS0=";
sha256 = "sha256-6EBHFqfCCDKMY9T8suPDIOoiA2LugMJh0OJiHoICioU=";
};
propagatedBuildInputs = [

@ -24,7 +24,9 @@ buildPythonApplication rec {
};
postPatch = ''
substituteInPlace setup.py --replace "'pytest-runner'," ""
substituteInPlace setup.py \
--replace "'pytest-runner'," "" \
--replace "cryptography==" "cryptography>="
'';
propagatedBuildInputs = [

@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "glom";
version = "20.11.0";
version = "22.1.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-VAUQcrzMnNs+u9ivBVkZUTemHTCPBL/xlnjkthNQ6xI=";
hash = "sha256-FRDGWHqPnGSiRmQbcAM8vF696Z8CrSRWk2eAOOghrrU=";
};
propagatedBuildInputs = [

@ -1,19 +1,34 @@
{ lib, buildPythonPackage, fetchPypi, six }:
{ lib
, buildPythonPackage
, fetchPypi
, six
, pythonOlder
}:
buildPythonPackage rec {
pname = "jdatetime";
version = "3.8.0";
version = "3.8.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "389a0723a8011379a5e34386ec466cb3f65b2d5cb5422702c1d3aecb6ac192d0";
sha256 = "db57ee517356b1bfc1603ef412f5da61eae92241ba0bcaf0851028cae424780c";
};
propagatedBuildInputs = [ six ];
propagatedBuildInputs = [
six
];
pythonImportsCheck = [
"jdatetime"
];
meta = with lib; {
description = "Jalali datetime binding for python";
homepage = "https://pypi.python.org/pypi/jdatetime";
description = "Jalali datetime binding";
homepage = "https://github.com/slashmili/python-jalali";
license = licenses.psfl;
maintainers = with maintainers; [ ];
};
}

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "levenshtein";
version = "0.16.0";
version = "0.17.0";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "maxbachmann";
repo = "Levenshtein";
rev = "v${version}";
sha256 = "agshUVkkqogj4FbonFd/rrGisMOomS62NND66YKZvjg=";
sha256 = "1a14cw2314jb5lrm979zipzk3av4630lxdr4jzj2wl5qh3yw4w52";
};
postPatch = ''

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "markdown-it-py";
version = "2.0.0";
version = "2.0.1";
format = "pyproject";
disabled = pythonOlder "3.6";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "executablebooks";
repo = pname;
rev = "v${version}";
sha256 = "sha256-ahg+aAVpAh07PZ1mfrne0EP9K2J4tb8eLp5XXFpWp00=";
sha256 = "0qrsl4ajhi2263i5q1kivp2s3n7naq3byfbsv11rni18skw3i2a6";
};
propagatedBuildInputs = [

@ -1,20 +1,24 @@
{ aiocontextvars
{ lib
, aiocontextvars
, blinker
, buildPythonPackage
, fetchPypi
, fetchpatch
, httpx
, lib
, mock
, pytestCheckHook
, requests
, six
, unittest2
, pythonOlder
, webob
}:
buildPythonPackage rec {
pname = "rollbar";
version = "0.16.2";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
@ -29,14 +33,20 @@ buildPythonPackage rec {
checkInputs = [
webob
blinker
unittest2
mock
httpx
aiocontextvars
pytestCheckHook
];
pythonImportsCheck = [ "rollbar" ];
# Still supporting unittest2
# https://github.com/rollbar/pyrollbar/pull/346
# https://github.com/rollbar/pyrollbar/pull/340
doCheck = false;
pythonImportsCheck = [
"rollbar"
];
meta = with lib; {
description = "Error tracking and logging from Python to Rollbar";

@ -5,13 +5,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "sqlfluff";
version = "0.9.1";
version = "0.9.2";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
hash = "sha256-sA9iMTDQ7SjaRG0/Uy+wGQ/2yQDqbZP6M5r1lFLBex4=";
hash = "sha256-BzO7S2sxZeklzIh1qRHJ4mGLsKLNpg8PuGGRVAkPlzc=";
};
propagatedBuildInputs = with python3.pkgs; [

@ -10,15 +10,15 @@
let
pname = "shattered-pixel-dungeon";
version = "1.1.0";
version = "1.1.2";
src = fetchFromGitHub {
owner = "00-Evan";
repo = "shattered-pixel-dungeon";
# NOTE: always use the commit sha, not the tag. Tags _will_ disappear!
# https://github.com/00-Evan/shattered-pixel-dungeon/issues/596
rev = "7f29a03078647ea503d3c866476568511aa5af84";
sha256 = "sha256-+d8X7WFGX8YGb2rGu8jVO82QdlF9ec+6+Ti5wGEIwRg=";
rev = "5d1a2dce6b554b40f6737ead45d411fd98f4c67d";
sha256 = "sha256-Vu7K0NnqFY298BIQV9AwNEahV0eJl14tAeq+rw6KrtM=";
};
postPatch = ''

@ -17,11 +17,11 @@
stdenv.mkDerivation rec {
pname = "vintagestory";
version = "1.16.0";
version = "1.16.1";
src = fetchurl {
url = "https://cdn.vintagestory.at/gamefiles/stable/vs_archive_${version}.tar.gz";
sha256 = "sha256-1lAcE+RwK16xPTGxGCz2Pdq6GhmXFwy60CSZyq3hgnM=";
sha256 = "sha256-o3FMuMvWxj9ECj77H/q5QkpcFbcZ0eNQ1OS51pUal3c=";
};
nativeBuildInputs = [ makeWrapper copyDesktopItems ];

@ -0,0 +1,40 @@
{ lib
, stdenv
, fetchFromGitHub
, texlive
}:
stdenv.mkDerivation rec {
pname = "sagetex";
version = "3.6";
passthru.tlType = "run";
src = fetchFromGitHub {
owner = "sagemath";
repo = "sagetex";
rev = "v${version}";
sha256 = "8iHcJbaY/dh0vmvYyd6zj1ZbuJRaJGb6bUBK1v4gXWU=";
};
buildInputs = [
texlive.combined.scheme-basic
];
buildPhase = ''
make sagetex.sty
'';
installPhase = ''
path="$out/tex/latex/sagetex"
mkdir -p "$path"
cp -va *.sty *.cfg *.def "$path/"
'';
meta = with lib; {
description = "Embed code, results of computations, and plots from Sage into LaTeX documents";
homepage = "https://github.com/sagemath/sagetex";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ alexnortung ];
platforms = platforms.all;
};
}

@ -0,0 +1,29 @@
{ stdenv, lib, fetchFromGitHub, cmake, bash-completion, pkg-config, libconfig
, asciidoc
, libusbgx
}:
stdenv.mkDerivation {
pname = "gt";
version = "unstable-2021-09-30";
src = fetchFromGitHub {
owner = "linux-usb-gadgets";
repo = "gt";
rev = "7247547a14b2d092dc03fd83218ae65c2f7ff7d6";
sha256 = "1has9q2sghd5vyi25l3h2hd4d315vvpld076iwwsg01fx4d9vjmg";
};
sourceRoot = "source";
preConfigure = ''
cmakeFlagsArray+=("-DBASH_COMPLETION_COMPLETIONSDIR=$out/share/bash-completions/completions")
'';
nativeBuildInputs = [ cmake pkg-config asciidoc ];
buildInputs = [ bash-completion libconfig libusbgx];
meta = {
description = "Linux command line tool for setting up USB gadgets using configfs";
license = with lib.licenses; [ asl20 ];
maintainers = with lib.maintainers; [ lheckemann ];
platforms = lib.platforms.linux;
};
}

@ -2,20 +2,18 @@
stdenv.mkDerivation rec {
pname = "ima-evm-utils";
version = "1.1";
version = "1.4";
src = fetchgit {
url = "git://git.code.sf.net/p/linux-ima/ima-evm-utils";
rev = "v${version}";
sha256 = "1dhfw6d9z4dv82q9zg2g025hgr179kamz9chy7v5w9b71aam8jf8";
sha256 = "1zmyv82232lzqk52m0s7fap9zb9hb1x6nsi5gznk0cbsnq2m67pc";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ openssl attr keyutils asciidoc libxslt ];
patches = [ ./xattr.patch ];
buildPhase = "make prefix=$out MANPAGE_DOCBOOK_XSL=${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl";
MANPAGE_DOCBOOK_XSL = "${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl";
meta = {
description = "evmctl utility to manage digital signatures of the Linux kernel integrity subsystem (IMA/EVM)";

@ -1,73 +0,0 @@
commit 6aea54d2ad2287b3e8894c262ee895f3d4a60516
Author: André Draszik <git@andred.net>
Date: Mon Oct 17 12:45:32 2016 +0100
evmctl: use correct include for xattr.h
The xattr API/ABI is provided by both the c-library, as well as by the
libattr package. The c-library's header file is sys/xattr.h, whereas
libattr's header file can be found in attr/xattr.h.
Given none of the code here *links* against the libattr.so shared library, it
is wrong to *compile* against libattr's API (header file).
Doing so avoids confusion as to which xattr.h is used as the least problem,
and potential ABI differences as the worst problem due the mismatching header
file used.
So make sure we compile and link against the same thing, the c-library in
both cases.
Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
diff --git a/configure.ac b/configure.ac
index 0497eb7..a5b4288 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,7 +30,7 @@ AC_SUBST(OPENSSL_LIBS)
AC_CHECK_HEADER(unistd.h)
AC_CHECK_HEADERS(openssl/conf.h)
-AC_CHECK_HEADERS(attr/xattr.h, , [AC_MSG_ERROR([attr/xattr.h header not found. You need the libattr development package.])])
+AC_CHECK_HEADERS(sys/xattr.h, , [AC_MSG_ERROR([sys/xattr.h header not found. You need the c-library development package.])])
AC_CHECK_HEADERS(keyutils.h, , [AC_MSG_ERROR([keyutils.h header not found. You need the libkeyutils development package.])])
#debug support - yes for a while
diff --git a/packaging/ima-evm-utils.spec b/packaging/ima-evm-utils.spec
index a11a27a..63388d2 100644
--- a/packaging/ima-evm-utils.spec
+++ b/packaging/ima-evm-utils.spec
@@ -11,7 +11,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: openssl-devel
-BuildRequires: libattr-devel
BuildRequires: keyutils-libs-devel
%description
diff --git a/packaging/ima-evm-utils.spec.in b/packaging/ima-evm-utils.spec.in
index 7ca6c6f..65c32f9 100644
--- a/packaging/ima-evm-utils.spec.in
+++ b/packaging/ima-evm-utils.spec.in
@@ -11,7 +11,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: openssl-devel
-BuildRequires: libattr-devel
BuildRequires: keyutils-libs-devel
%description
diff --git a/src/evmctl.c b/src/evmctl.c
index 2ffee78..3fbcd33 100644
--- a/src/evmctl.c
+++ b/src/evmctl.c
@@ -49,7 +49,7 @@
#include <stdint.h>
#include <string.h>
#include <dirent.h>
-#include <attr/xattr.h>
+#include <sys/xattr.h>
#include <linux/xattr.h>
#include <getopt.h>
#include <keyutils.h>

@ -2,6 +2,7 @@
, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, pkg-config, python3, xmlto
, zstd
, acl, attr, e2fsprogs, libuuid, lzo, systemd, zlib
, runCommand, btrfs-progs
}:
stdenv.mkDerivation rec {
@ -18,7 +19,7 @@ stdenv.mkDerivation rec {
python3 python3.pkgs.setuptools
];
buildInputs = [ acl attr e2fsprogs libuuid lzo python3 systemd zlib zstd ];
buildInputs = [ acl attr e2fsprogs libuuid lzo python3 zlib zstd ] ++ lib.optionals stdenv.hostPlatform.isGnu [ systemd ];
# for python cross-compiling
_PYTHON_HOST_PLATFORM = stdenv.hostPlatform.config;
@ -31,12 +32,21 @@ stdenv.mkDerivation rec {
install -v -m 444 -D btrfs-completion $out/share/bash-completion/completions/btrfs
'';
configureFlags = lib.optional stdenv.hostPlatform.isMusl "--disable-backtrace";
configureFlags = lib.optional stdenv.hostPlatform.isMusl "--disable-backtrace --disable-libudev";
makeFlags = [ "udevruledir=$(out)/lib/udev/rules.d" ];
makeFlags = lib.optionals stdenv.hostPlatform.isGnu [ "udevruledir=$(out)/lib/udev/rules.d" ];
enableParallelBuilding = true;
passthru.tests = {
simple-filesystem = runCommand "btrfs-progs-create-fs" {} ''
mkdir -p $out
truncate -s110M $out/disc
${btrfs-progs}/bin/mkfs.btrfs $out/disc | tee $out/success
${btrfs-progs}/bin/btrfs check $out/disc | tee $out/success
[ -e $out/success ]
'';
};
meta = with lib; {
description = "Utilities for the btrfs filesystem";
homepage = "https://btrfs.wiki.kernel.org/";

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "cosign";
version = "1.4.1";
version = "1.5.0";
src = fetchFromGitHub {
owner = "sigstore";
repo = pname;
rev = "v${version}";
sha256 = "sha256-WjYW9Fo27wE1pg/BqYsdHd8jwd8jG5bk37HmU1DqnyE=";
sha256 = "sha256-mxDLF9DQKySDR1c7jD/D0/xI+/R8a/ZlukliT/R4wCg=";
};
buildInputs = lib.optional (stdenv.isLinux && pivKeySupport) (lib.getDev pcsclite)
@ -16,7 +16,7 @@ buildGoModule rec {
nativeBuildInputs = [ pkg-config installShellFiles ];
vendorSha256 = "sha256-6T98zu55BQ26e43a1i68rhebaLwY/iFM8CRqRcv2QwI=";
vendorSha256 = "sha256-xqwwvVGXWFFKKBtH4a/+akFSlZ2hCOC1v1sO0d2p9fs=";
excludedPackages = "\\(sample\\|webhook\\|help\\)";
@ -24,6 +24,10 @@ buildGoModule rec {
ldflags = [ "-s" "-w" "-X github.com/sigstore/cosign/pkg/version.GitVersion=v${version}" ];
postPatch = ''
rm pkg/cosign/tuf/client_test.go # Require network access
'';
postInstall = ''
installShellCompletion --cmd cosign \
--bash <($out/bin/cosign completion bash) \

@ -6,13 +6,13 @@
buildGoModule rec {
pname = "kubescape";
version = "2.0.141";
version = "2.0.143";
src = fetchFromGitHub {
owner = "armosec";
repo = pname;
rev = "v${version}";
hash = "sha256-4HVxPM+2SaFrhZiaRKwNuultE2df58aJMm9YSwbJBPM=";
hash = "sha256-ylmH3vQTWT9I57J+Q771PG/r6t8t3P6zNC+sGIx3C1A=";
};
nativeBuildInputs = [

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "lynis";
version = "3.0.6";
version = "3.0.7";
src = fetchFromGitHub {
owner = "CISOfy";
repo = pname;
rev = version;
sha256 = "sha256-RIz0GTuw3QJKSk25zl4c34o+HgMkpclzoPEbzKhCNqg=";
sha256 = "sha256-tO9/egY4eNwQpCZU0zx8G3k4UYsf7S3tUdr6pCMTAWU=";
};
nativeBuildInputs = [ installShellFiles makeWrapper ];

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "swayr";
version = "0.11.2";
version = "0.12.0";
src = fetchFromSourcehut {
owner = "~tsdh";
repo = "swayr";
rev = "v${version}";
sha256 = "sha256-IjOoQbKCiwuoCsh2bOmvcSH3/9KMmavmn1Ib1TLBH8w=";
sha256 = "sha256-bmMfrwxdriE/o8fezLbmhorBDvjtC4vaVamwDtrxiMQ=";
};
cargoSha256 = "sha256-EYaISBnWKplKUAKa9SZufWcykeR/qeApvqwIGB9jt3Q=";
cargoSha256 = "sha256-5hTiu2fGyMcbsg05hLngQXsjw3Vql2q8zlW5e6jD9Ok=";
patches = [
./icon-paths.patch

@ -631,6 +631,7 @@ mapAliases ({
module_init_tools = kmod; # added 2016-04-22
mozart = mozart2-binary; # added 2019-09-23
mozart-binary = mozart2-binary; # added 2019-09-23
mpc_cli = mpc-cli; # moved from top-level 2022-01-24
mpd_clientlib = libmpdclient; # added 2021-02-11
mpich2 = mpich; # added 2018-08-06
msf = metasploit; # added 2018-04-25

@ -18630,6 +18630,8 @@ with pkgs;
udev = systemdMinimal;
};
libusbgx = callPackage ../development/libraries/libusbgx { };
libusbmuxd = callPackage ../development/libraries/libusbmuxd { };
libutempter = callPackage ../development/libraries/libutempter { };
@ -22326,6 +22328,8 @@ with pkgs;
gradm = callPackage ../os-specific/linux/gradm { };
gt = callPackage ../os-specific/linux/gt { };
inherit (nodePackages) gtop;
hd-idle = callPackage ../os-specific/linux/hd-idle { };
@ -22358,9 +22362,7 @@ with pkgs;
ifmetric = callPackage ../os-specific/linux/ifmetric {};
ima-evm-utils = callPackage ../os-specific/linux/ima-evm-utils {
openssl = openssl_1_0_2;
};
ima-evm-utils = callPackage ../os-specific/linux/ima-evm-utils {};
intel2200BGFirmware = callPackage ../os-specific/linux/firmware/intel2200BGFirmware { };
@ -27354,7 +27356,7 @@ with pkgs;
mpg321 = callPackage ../applications/audio/mpg321 { };
mpc_cli = callPackage ../applications/audio/mpc {
mpc-cli = callPackage ../applications/audio/mpc {
inherit (python3Packages) sphinx;
};
@ -29347,9 +29349,7 @@ with pkgs;
qpdfview = libsForQt5.callPackage ../applications/misc/qpdfview {};
qtile = callPackage ../applications/window-managers/qtile {
inherit (xorg) libxcb;
};
qtile = callPackage ../applications/window-managers/qtile { };
vimpc = callPackage ../applications/audio/vimpc { };
@ -32061,6 +32061,8 @@ with pkgs;
sage = callPackage ../applications/science/math/sage { };
sageWithDoc = sage.override { withDoc = true; };
sagetex = callPackage ../misc/sagetex { };
subread = callPackage ../applications/science/biology/subread { };
suitesparse_4_2 = callPackage ../development/libraries/science/math/suitesparse/4.2.nix { };
@ -33959,9 +33961,7 @@ with pkgs;
wprecon = callPackage ../tools/security/wprecon { };
wraith = callPackage ../applications/networking/irc/wraith {
openssl = openssl_1_0_2;
};
wraith = callPackage ../applications/networking/irc/wraith { };
wxmupen64plus = callPackage ../misc/emulators/wxmupen64plus { };

@ -1994,6 +1994,8 @@ in {
datadog = callPackage ../development/python-modules/datadog { };
datafusion = callPackage ../development/python-modules/datafusion { };
datamodeldict = callPackage ../development/python-modules/datamodeldict { };
dataset = callPackage ../development/python-modules/dataset { };

Loading…
Cancel
Save