Merge staging-next into staging
This commit is contained in:
commit
828b074542
@ -2265,6 +2265,12 @@
|
||||
githubId = 5394722;
|
||||
name = "Spencer Baugh";
|
||||
};
|
||||
catouc = {
|
||||
email = "catouc@philipp.boeschen.me";
|
||||
github = "catouc";
|
||||
githubId = 25623213;
|
||||
name = "Philipp Böschen";
|
||||
};
|
||||
caugner = {
|
||||
email = "nixos@caugner.de";
|
||||
github = "caugner";
|
||||
@ -14216,6 +14222,12 @@
|
||||
githubId = 928084;
|
||||
name = "Utku Demir";
|
||||
};
|
||||
uthar = {
|
||||
email = "galkowskikasper@gmail.com";
|
||||
github = "uthar";
|
||||
githubId = 15697697;
|
||||
name = "Kasper Gałkowski";
|
||||
};
|
||||
uvnikita = {
|
||||
email = "uv.nikita@gmail.com";
|
||||
github = "uvNikita";
|
||||
|
@ -861,6 +861,12 @@
|
||||
for <literal>termonad</literal> has been removed.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Linux 4.9 has been removed because it will reach its end of
|
||||
life within the lifespan of 22.11.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
(Neo)Vim can not be configured with
|
||||
|
@ -265,6 +265,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
- The top-level `termonad-with-packages` alias for `termonad` has been removed.
|
||||
|
||||
- Linux 4.9 has been removed because it will reach its end of life within the lifespan of 22.11.
|
||||
|
||||
- (Neo)Vim can not be configured with `configure.pathogen` anymore to reduce maintainance burden.
|
||||
Use `configure.packages` instead.
|
||||
- Neovim can not be configured with plug anymore (still works for vim).
|
||||
|
@ -110,7 +110,6 @@ in {
|
||||
in
|
||||
{
|
||||
preStart = ''
|
||||
cp ${conf} /var/rss2email/conf.cfg
|
||||
if [ ! -f /var/rss2email/db.json ]; then
|
||||
echo '{"version":2,"feeds":[]}' > /var/rss2email/db.json
|
||||
fi
|
||||
@ -118,7 +117,7 @@ in {
|
||||
path = [ pkgs.system-sendmail ];
|
||||
serviceConfig = {
|
||||
ExecStart =
|
||||
"${pkgs.rss2email}/bin/r2e -c /var/rss2email/conf.cfg -d /var/rss2email/db.json run";
|
||||
"${pkgs.rss2email}/bin/r2e -c ${conf} -d /var/rss2email/db.json run";
|
||||
User = "rss2email";
|
||||
};
|
||||
};
|
||||
|
@ -1,5 +1,4 @@
|
||||
[
|
||||
"tree-sitter-agda",
|
||||
"tree-sitter-bash",
|
||||
"tree-sitter-c",
|
||||
"tree-sitter-c-sharp",
|
||||
@ -7,11 +6,11 @@
|
||||
"tree-sitter-css",
|
||||
"tree-sitter-elixir",
|
||||
"tree-sitter-elm",
|
||||
"tree-sitter-fluent",
|
||||
"tree-sitter-go",
|
||||
"tree-sitter-haskell",
|
||||
"tree-sitter-hcl",
|
||||
"tree-sitter-html",
|
||||
"tree-sitter-janet-simple",
|
||||
"tree-sitter-java",
|
||||
"tree-sitter-javascript",
|
||||
"tree-sitter-jsdoc",
|
||||
@ -19,6 +18,8 @@
|
||||
"tree-sitter-julia",
|
||||
"tree-sitter-nix",
|
||||
"tree-sitter-ocaml",
|
||||
"tree-sitter-perl",
|
||||
"tree-sitter-pgn",
|
||||
"tree-sitter-php",
|
||||
"tree-sitter-prisma",
|
||||
"tree-sitter-python",
|
||||
@ -27,5 +28,6 @@
|
||||
"tree-sitter-scala",
|
||||
"tree-sitter-typescript",
|
||||
"tree-sitter-verilog",
|
||||
"tree-sitter-yaml",
|
||||
"tree-sitter-zig"
|
||||
]
|
||||
|
23
pkgs/applications/misc/semver/default.nix
Normal file
23
pkgs/applications/misc/semver/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub, git }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "semver";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "catouc";
|
||||
repo = "semver-go";
|
||||
rev = "v${version}";
|
||||
sha256 = "0v3j7rw917wnmp4lyjscqzk4qf4azfiz70ynbq3wl4gwp1m783vv";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
nativeBuildInputs = [ git ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/catouc/semver-go";
|
||||
description = "A small CLI to fish out the current or next semver version from a git repository";
|
||||
maintainers = with maintainers; [ catouc ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
26
pkgs/applications/networking/lls/default.nix
Normal file
26
pkgs/applications/networking/lls/default.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "lls";
|
||||
version = "0.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jcaesar";
|
||||
repo = "lls";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Aq0MGhzSoJCkM0Wt/r5JSOz96LyRSgSryD7+m4aFZEA=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-WY4MnPNDWFEzFOehm7TqCL05Ea6n93f8VWBTOuqjBAg=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool to list listening sockets";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.k900 ];
|
||||
platforms = platforms.linux;
|
||||
homepage = "https://github.com/jcaesar/lls";
|
||||
};
|
||||
}
|
@ -26,7 +26,7 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "nextcloud-client";
|
||||
version = "3.6.1";
|
||||
version = "3.6.2";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
@ -34,7 +34,7 @@ mkDerivation rec {
|
||||
owner = "nextcloud";
|
||||
repo = "desktop";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-RCYiUxTZSuZbDocueW0d8PdsRTR9bTjDgx0H53UGDP4=";
|
||||
sha256 = "sha256-eTcQrbYYY+V87i6PuIEWCFczIqL8oxtdojPY/mZpJBU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "seaweedfs";
|
||||
version = "3.32";
|
||||
version = "3.34";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chrislusf";
|
||||
repo = "seaweedfs";
|
||||
rev = version;
|
||||
hash = "sha256-GMOLlkBfY3ShVojdRrmpMYgoea52kq4aXr/oZj5bJWo=";
|
||||
hash = "sha256-lOCZHkLJCDvaT3CcHUBbsybdy0H6BfKKGpd/73cxcWA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-cEzPKx54rssyAytYenIcud3K0f7xuO8WzE8wdMqZipE=";
|
||||
vendorHash = "sha256-1RUWONkXArXYg8gQogKUhMSGdIYyT3lq5qWuUQBsFig=";
|
||||
|
||||
subPackages = [ "weed" ];
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
, libxcrypt
|
||||
, lz4
|
||||
, xz
|
||||
, gsl_1
|
||||
, gsl
|
||||
, xxHash
|
||||
, Cocoa
|
||||
, OpenGL
|
||||
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [ pcre python2 zlib libxml2 lz4 xz gsl_1 xxHash libxcrypt ]
|
||||
buildInputs = [ pcre python2 zlib libxml2 lz4 xz gsl xxHash libxcrypt ]
|
||||
++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
|
||||
++ lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
|
||||
;
|
||||
@ -144,6 +144,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://root.cern.ch/";
|
||||
description = "A data analysis framework";
|
||||
platforms = platforms.unix;
|
||||
broken = !stdenv.isx86_64;
|
||||
maintainers = with maintainers; [ veprbl ];
|
||||
license = licenses.lgpl21;
|
||||
};
|
||||
|
@ -1,17 +1,20 @@
|
||||
{ lib, fetchFromGitHub, rustPlatform, stdenv, Security }:
|
||||
{ lib, rustPlatform, fetchFromGitHub, stdenv, Security }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "srvc";
|
||||
version = "0.7.0";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "insilica";
|
||||
repo = "rs-srvc";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-XGZ6Jr/RVDOLDa0sANZIsKtNjY3pEBlOtei+xNGPBBY=";
|
||||
sha256 = "sha256-2eEuKAMxxTwjDInpYcOlFJha5DTe0IrxT5rI6ymN0hc=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-sjMg5XMnAQZjp6z9prtRq+0pyNQ1oTm0/KWOZPxDW4w=";
|
||||
cargoSha256 = "sha256-nJM7/w4awbCZQysUOSTO6bfsBXO3agJRdp1RyRZhtUY=";
|
||||
|
||||
# remove timeouts in tests to make them less flaky
|
||||
patches = [ ./tests-no-timeout.patch ];
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
Security
|
||||
@ -22,5 +25,6 @@ rustPlatform.buildRustPackage rec {
|
||||
homepage = "https://github.com/insilica/rs-srvc";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ john-shaffer ];
|
||||
mainProgram = "sr";
|
||||
};
|
||||
}
|
||||
|
@ -0,0 +1,36 @@
|
||||
--- a/tests/common/mod.rs
|
||||
+++ b/tests/common/mod.rs
|
||||
@@ -1,15 +1,13 @@
|
||||
#![allow(dead_code)]
|
||||
|
||||
use std::path::PathBuf;
|
||||
-use std::time::Duration;
|
||||
|
||||
use assert_cmd::Command;
|
||||
#[cfg(unix)]
|
||||
use rexpect::session::PtySession;
|
||||
|
||||
-pub fn cmd(timeout_millis: u64) -> Command {
|
||||
+pub fn cmd(_: u64) -> Command {
|
||||
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
|
||||
- cmd.timeout(Duration::from_millis(timeout_millis));
|
||||
cmd.env_remove("RUST_BACKTRACE");
|
||||
cmd
|
||||
}
|
||||
@@ -19,14 +17,14 @@ pub fn spawn(
|
||||
dir: &str,
|
||||
args: Vec<&str>,
|
||||
timestamp_override: u64,
|
||||
- timeout_millis: u64,
|
||||
+ _: u64,
|
||||
) -> Result<PtySession, rexpect::errors::Error> {
|
||||
let mut cmd = std::process::Command::new(env!("CARGO_BIN_EXE_sr"));
|
||||
cmd.args(args);
|
||||
cmd.current_dir(dir);
|
||||
cmd.env("SR_TIMESTAMP_OVERRIDE", timestamp_override.to_string());
|
||||
cmd.env_remove("RUST_BACKTRACE");
|
||||
- Ok(rexpect::session::spawn_command(cmd, Some(timeout_millis))?)
|
||||
+ rexpect::session::spawn_command(cmd, None)
|
||||
}
|
||||
|
||||
pub fn remove_sink(dir: &str) -> Result<(), std::io::Error> {
|
@ -43,7 +43,6 @@ let
|
||||
mkdir "$rsrc"
|
||||
ln -s "${cc.lib}/lib/clang/${release_version}/include" "$rsrc"
|
||||
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
|
||||
echo "-B $rsrc/lib" >> $out/nix-support/cc-cflags
|
||||
'';
|
||||
mkExtraBuildCommands = cc: mkExtraBuildCommands0 cc + ''
|
||||
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
|
||||
|
@ -17,7 +17,6 @@
|
||||
, plfit
|
||||
, python3
|
||||
, sourceHighlight
|
||||
, suitesparse
|
||||
, xmlto
|
||||
}:
|
||||
|
||||
@ -27,22 +26,17 @@ assert (blas.isILP64 == lapack.isILP64 &&
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "igraph";
|
||||
version = "0.9.10";
|
||||
version = "0.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "igraph";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-prDadHsNhDRkNp1i0niKIYxE0g85Zs0ngvUy6uK8evk=";
|
||||
hash = "sha256-6zX9hyz/8H7r+wzpVwz8jDMfd3nqit3pT+wlP0C40Rg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
echo "${version}" > IGRAPH_VERSION
|
||||
'' + lib.optionalString stdenv.isAarch64 ''
|
||||
# https://github.com/igraph/igraph/issues/1694
|
||||
substituteInPlace tests/CMakeLists.txt \
|
||||
--replace "igraph_scg_grouping3" "" \
|
||||
--replace "igraph_scg_semiprojectors2" ""
|
||||
'';
|
||||
|
||||
outputs = [ "out" "dev" "doc" ];
|
||||
@ -68,7 +62,6 @@ stdenv.mkDerivation rec {
|
||||
lapack
|
||||
libxml2
|
||||
plfit
|
||||
suitesparse
|
||||
] ++ lib.optionals stdenv.cc.isClang [
|
||||
llvmPackages.openmp
|
||||
];
|
||||
@ -78,7 +71,6 @@ stdenv.mkDerivation rec {
|
||||
"-DIGRAPH_USE_INTERNAL_LAPACK=OFF"
|
||||
"-DIGRAPH_USE_INTERNAL_ARPACK=OFF"
|
||||
"-DIGRAPH_USE_INTERNAL_GLPK=OFF"
|
||||
"-DIGRAPH_USE_INTERNAL_CXSPARSE=OFF"
|
||||
"-DIGRAPH_USE_INTERNAL_GMP=OFF"
|
||||
"-DIGRAPH_USE_INTERNAL_PLFIT=OFF"
|
||||
"-DIGRAPH_GLPK_SUPPORT=ON"
|
||||
@ -101,7 +93,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "The network analysis package";
|
||||
description = "C library for complex network analysis and graph theory";
|
||||
homepage = "https://igraph.org/";
|
||||
changelog = "https://github.com/igraph/igraph/blob/${src.rev}/CHANGELOG.md";
|
||||
license = licenses.gpl2Plus;
|
||||
|
@ -17,13 +17,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libdeltachat";
|
||||
version = "1.97.0";
|
||||
version = "1.100.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "deltachat";
|
||||
repo = "deltachat-core-rust";
|
||||
rev = version;
|
||||
hash = "sha256-njeNlpXSeqKrozN1UfKnnhVJN24ZJh+MuR4Vd3S/gSQ=";
|
||||
hash = "sha256-p7IqvxV9C3Ej0xNUA9iRtmkXrUgGWx1OR+/SBDzhcZE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-bf79yqQv516k0xCp0yd1Vid1yf8EppFFvC3HJ4RczoA=";
|
||||
hash = "sha256-Wfk2cHGTO2ZvhVAvOs6xOSnldyrkiAinMc6ErLy8QpA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -59,6 +59,7 @@
|
||||
# Darwin
|
||||
, gmp
|
||||
, libiconv
|
||||
, qemu
|
||||
, Carbon
|
||||
, AppKit
|
||||
|
||||
@ -154,6 +155,9 @@ stdenv.mkDerivation rec {
|
||||
'' + optionalString isDarwin ''
|
||||
sed -i '/qemucapabilitiestest/d' tests/meson.build
|
||||
sed -i '/vircryptotest/d' tests/meson.build
|
||||
sed -i '/domaincapstest/d' tests/meson.build
|
||||
sed -i '/qemufirmwaretest/d' tests/meson.build
|
||||
sed -i '/qemuvhostusertest/d' tests/meson.build
|
||||
'' + optionalString (isDarwin && isx86_64) ''
|
||||
sed -i '/qemucaps2xmltest/d' tests/meson.build
|
||||
sed -i '/qemuhotplugtest/d' tests/meson.build
|
||||
@ -267,6 +271,7 @@ stdenv.mkDerivation rec {
|
||||
(cfg "runstatedir" "/run")
|
||||
|
||||
(cfg "init_script" (if isDarwin then "none" else "systemd"))
|
||||
(cfg "qemu_datadir" (if isDarwin then "${qemu}/share/qemu" else ""))
|
||||
|
||||
(feat "apparmor" isLinux)
|
||||
(feat "attr" isLinux)
|
||||
|
21
pkgs/development/libraries/smokegen/default.nix
Normal file
21
pkgs/development/libraries/smokegen/default.nix
Normal file
@ -0,0 +1,21 @@
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
pkgs.stdenv.mkDerivation rec {
|
||||
pname = "smokegen";
|
||||
version = "v4.14.3";
|
||||
src = pkgs.fetchzip {
|
||||
url = "https://invent.kde.org/unmaintained/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-finsoruPeJZLawIjNUJ25Pq54eaCByfALVraNQJPk7c=";
|
||||
};
|
||||
buildInputs = [ pkgs.cmake pkgs.qt4 ];
|
||||
buildPhase = ''
|
||||
cmake .
|
||||
'';
|
||||
meta = with lib; {
|
||||
description = "A general purpose C++ parser with a plugin infrastructure";
|
||||
homepage = "https://invent.kde.org/unmaintained/smokegen";
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ uthar ];
|
||||
};
|
||||
}
|
21
pkgs/development/libraries/smokeqt/default.nix
Normal file
21
pkgs/development/libraries/smokeqt/default.nix
Normal file
@ -0,0 +1,21 @@
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
pkgs.stdenv.mkDerivation rec {
|
||||
pname = "smokeqt";
|
||||
version = "v4.14.3";
|
||||
src = pkgs.fetchzip {
|
||||
url = "https://invent.kde.org/unmaintained/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-8FiEGF8gduVw5I/bi2wExGUWmjIjYEhWpjpXKJGBNMg=";
|
||||
};
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_CXX_STANDARD=98"
|
||||
];
|
||||
buildInputs = [ pkgs.cmake pkgs.qt4 pkgs.smokegen ];
|
||||
meta = with lib; {
|
||||
description = "Bindings for the Qt libraries";
|
||||
homepage = "https://invent.kde.org/unmaintained/smokeqt";
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ uthar ];
|
||||
};
|
||||
}
|
@ -11,6 +11,9 @@ let
|
||||
optionals
|
||||
hasSuffix
|
||||
splitString
|
||||
remove
|
||||
optionalString
|
||||
stringLength
|
||||
;
|
||||
|
||||
# Used by builds that would otherwise attempt to write into storeDir.
|
||||
@ -42,6 +45,11 @@ let
|
||||
# Patches are already applied in `build`
|
||||
patches = [];
|
||||
src = build;
|
||||
# TODO(kasper): handle this with a setup hook
|
||||
LD_LIBRARY_PATH =
|
||||
build.LD_LIBRARY_PATH
|
||||
+ (optionalString (stringLength build.LD_LIBRARY_PATH != 0) ":")
|
||||
+ "${build}";
|
||||
});
|
||||
|
||||
# A little hacky
|
||||
@ -332,6 +340,89 @@ let
|
||||
version = "f19162e76";
|
||||
});
|
||||
|
||||
qt = let
|
||||
rev = "dffff3ee3dbd0686c85c323f579b8bbf4881e60e";
|
||||
in build-with-compile-into-pwd rec {
|
||||
pname = "commonqt";
|
||||
version = builtins.substring 0 7 rev;
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
hash = "sha256-GAgwT0D9mIkYPTHfCH/KxxIv7b6QGwcxwZE7ehH5xug=";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgs.qt4 ];
|
||||
nativeBuildInputs = [ pkgs.smokegen pkgs.smokeqt ];
|
||||
nativeLibs = [ pkgs.qt4 pkgs.smokegen pkgs.smokeqt ];
|
||||
|
||||
systems = [ "qt" ];
|
||||
|
||||
lispLibs = with ql; [
|
||||
cffi named-readtables cl-ppcre alexandria
|
||||
closer-mop iterate trivial-garbage bordeaux-threads
|
||||
];
|
||||
};
|
||||
|
||||
qt-libs = build-with-compile-into-pwd {
|
||||
inherit (ql.qt-libs) pname version src;
|
||||
patches = [ ./patches/qt-libs-dont-download.patch ];
|
||||
prePatch = ''
|
||||
substituteInPlace systems/*.asd --replace ":qt+libs" ":qt"
|
||||
echo "LD Path: $LD_LIBRARY_PATH"
|
||||
'';
|
||||
lispLibs = ql.qt-libs.lispLibs ++ [ qt ];
|
||||
systems = [
|
||||
"qt-libs"
|
||||
"commonqt"
|
||||
# "phonon"
|
||||
# "qimageblitz"
|
||||
# "qsci"
|
||||
"qt3support"
|
||||
"qtcore"
|
||||
"qtdbus"
|
||||
"qtdeclarative"
|
||||
"qtgui"
|
||||
"qthelp"
|
||||
"qtnetwork"
|
||||
"qtopengl"
|
||||
"qtscript"
|
||||
"qtsql"
|
||||
"qtsvg"
|
||||
"qttest"
|
||||
"qtuitools"
|
||||
# "qtwebkit"
|
||||
"qtxml"
|
||||
"qtxmlpatterns"
|
||||
# "qwt"
|
||||
"smokebase"
|
||||
];
|
||||
};
|
||||
commonqt = qt-libs;
|
||||
qt3support = qt-libs;
|
||||
qtcore = qt-libs;
|
||||
qtdbus = qt-libs;
|
||||
qtdeclarative = qt-libs;
|
||||
qtgui = qt-libs;
|
||||
qthelp = qt-libs;
|
||||
qtnetwork = qt-libs;
|
||||
qtopengl = qt-libs;
|
||||
qtscript = qt-libs;
|
||||
qtsql = qt-libs;
|
||||
qtsvg = qt-libs;
|
||||
qttest = qt-libs;
|
||||
qtuitools = qt-libs;
|
||||
qtxml = qt-libs;
|
||||
qtxmlpatterns = qt-libs;
|
||||
smokebase = qt-libs;
|
||||
|
||||
qtools = build-with-compile-into-pwd {
|
||||
inherit (ql.qtools) pname version src nativeLibs;
|
||||
lispLibs = [ qt ] ++ remove ql.qt_plus_libs ql.qtools.lispLibs ++ [ qt-libs ];
|
||||
patches = [ ./patches/qtools-use-nix-libs.patch ];
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
in packages
|
||||
|
@ -0,0 +1,36 @@
|
||||
--- a/qt-libs.asd
|
||||
+++ b/qt-libs.asd
|
||||
@@ -17,5 +17,4 @@
|
||||
:components ((:file "qt-libs"))
|
||||
:depends-on (:qt-lib-generator
|
||||
:cl-ppcre
|
||||
- :cffi)
|
||||
- :perform (asdf:load-op :after (op c) (uiop:symbol-call :qt-libs :ensure-standalone-libs)))
|
||||
+ :cffi))
|
||||
--- a/qt-libs.lisp
|
||||
+++ b/qt-libs.lisp
|
||||
@@ -94,16 +94,14 @@
|
||||
standalone-dir)
|
||||
|
||||
(defun %ensure-lib-loaded (file)
|
||||
- (let ((file (etypecase file
|
||||
- (pathname file)
|
||||
- (string (installed-library-file file))))
|
||||
- (name (intern (string-upcase (pathname-name file))))
|
||||
- #+sbcl(sb-ext:*muffled-warnings* 'style-warning))
|
||||
- (cffi::register-foreign-library
|
||||
- name `((T ,file))
|
||||
- :search-path (to-directory file))
|
||||
- (unless (cffi:foreign-library-loaded-p name)
|
||||
- (cffi:load-foreign-library name))))
|
||||
+ (let ((name (make-pathname :name (format nil "lib~a" file)
|
||||
+ :type #+unix "so"
|
||||
+ #+darwin "dylib")))
|
||||
+ (or (find-if (lambda (lib)
|
||||
+ (equal (cffi:foreign-library-pathname lib)
|
||||
+ (namestring name)))
|
||||
+ (cffi:list-foreign-libraries))
|
||||
+ (cffi:load-foreign-library name))))
|
||||
|
||||
(defun ensure-lib-loaded (file)
|
||||
(cond ((pathnamep file)
|
@ -0,0 +1,19 @@
|
||||
Dont use the qt+libs system for managing Qt dependencies, because Nix provides
|
||||
them already.
|
||||
Don't build the deploy.lisp helper file, because Nix also can handle deployment.
|
||||
--- a/qtools.asd
|
||||
+++ b/qtools.asd
|
||||
@@ -33,10 +33,9 @@
|
||||
(:file "generate")
|
||||
(:file "dynamic")
|
||||
(:file "precompile")
|
||||
- (:file "deploy")
|
||||
(:file "fast-call")
|
||||
(:file "documentation"))
|
||||
- :depends-on (:qt+libs
|
||||
+ :depends-on (:qt
|
||||
:deploy
|
||||
:cl-ppcre
|
||||
:closer-mop
|
||||
|
||||
Diff finished. Sun Oct 2 14:38:06 2022
|
@ -17,16 +17,16 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "fsspec";
|
||||
version = "2022.8.2";
|
||||
version = "2022.10.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intake";
|
||||
owner = "fsspec";
|
||||
repo = "filesystem_spec";
|
||||
rev = version;
|
||||
hash = "sha256-eT1zqTbU5kfQ7bvzigT9579HfXU6VaOEjRg8VG/DHMI=";
|
||||
hash = "sha256-+lPt/zqI3Mkt+QRNXq+Dxm3h/ryZJsfrmayVi/BTtbg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -68,7 +68,7 @@ buildPythonPackage rec {
|
||||
|
||||
meta = with lib; {
|
||||
description = "A specification that Python filesystems should adhere to";
|
||||
homepage = "https://github.com/intake/filesystem_spec";
|
||||
homepage = "https://github.com/fsspec/filesystem_spec";
|
||||
changelog = "https://github.com/fsspec/filesystem_spec/raw/${version}/docs/source/changelog.rst";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ costrouc ];
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gcsfs";
|
||||
version = "2022.8.2";
|
||||
version = "2022.10.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -27,7 +27,7 @@ buildPythonPackage rec {
|
||||
owner = "fsspec";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-BnnKFrWz47izKc7nS8NR1Vze1x9kJdYBsQT2KEY9ghM=";
|
||||
hash = "sha256-+S4AziibYWos/hZ1v3883b1Vv3y4xjIDUrQ8c2XJ1MQ=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -66,6 +66,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Convenient Filesystem interface over GCS";
|
||||
homepage = "https://github.com/fsspec/gcsfs";
|
||||
changelog = "https://github.com/fsspec/gcsfs/raw/${version}/docs/source/changelog.rst";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ nbren12 ];
|
||||
};
|
||||
|
@ -5,20 +5,20 @@
|
||||
, pkg-config
|
||||
, igraph
|
||||
, texttable
|
||||
, python
|
||||
, unittestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "igraph";
|
||||
version = "0.9.11";
|
||||
version = "0.10.2";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "igraph";
|
||||
repo = "python-igraph";
|
||||
rev = version;
|
||||
hash = "sha256-tvkV5ve9X+LXx3LOdHIPljQKZc1v6yts0juo4SwDmfY=";
|
||||
hash = "sha256-ro2EkJQxW8aHejAvkaXI9mJC5XgFt31akhzFDAPZ4ow=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -42,9 +42,9 @@ buildPythonPackage rec {
|
||||
# told to do it. ~ C.
|
||||
setupPyGlobalFlags = [ "--use-pkg-config" ];
|
||||
|
||||
checkPhase = ''
|
||||
${python.interpreter} -m unittest
|
||||
'';
|
||||
checkInputs = [
|
||||
unittestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "igraph" ];
|
||||
|
||||
|
@ -3,19 +3,23 @@
|
||||
, fetchFromGitHub
|
||||
, impacket
|
||||
, netaddr
|
||||
, pythonOlder
|
||||
, pypykatz
|
||||
, rich
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "lsassy";
|
||||
version = "3.1.3";
|
||||
version = "3.1.4";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Hackndo";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-h99wqgRNy2GkiertDddFJQN4hv2R26bo72zNwLPR3mk=";
|
||||
hash = "sha256-/YDBzH8Mji6PWBEIbsgZcTvoAWAsBbJV3cHfySY/gGA=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "marshmallow-dataclass";
|
||||
version = "8.5.9";
|
||||
version = "8.5.10";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||
owner = "lovasoa";
|
||||
repo = "marshmallow_dataclass";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-gA5GxE2as/P5yT3ymvXmLQfG2GyZE7Fj+zBaT88O4vY=";
|
||||
sha256 = "sha256-AxUZf1dRe/7Y96DYJnziMqHKW5xyQv4FIrMMwSZTuGQ=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "meshtastic";
|
||||
version = "2.0.2";
|
||||
version = "2.0.3";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -27,7 +27,7 @@ buildPythonPackage rec {
|
||||
owner = "meshtastic";
|
||||
repo = "Meshtastic-python";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-Z2/nzsHRpaykqLRkJoPdNGSLNbJvd4GOUpTYl8MG8mw=";
|
||||
hash = "sha256-h8OuDmm9I8lElhAGSpPx8sPUTY+EnFp2VXOYrYjiYNk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "netutils";
|
||||
version = "1.2.0";
|
||||
version = "1.3.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||
owner = "networktocode";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-6FoadV5QMZCJnF/eD3FXRsyP4MymO5nayJ/54PJXOB4=";
|
||||
hash = "sha256-3c44ZJIEBhKggtqs77gt2fY3tI00ZGmFGLIGR8LF6aE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "numdifftools";
|
||||
version = "0.9.40";
|
||||
version = "0.9.41";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
owner = "pbrod";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-YLi9cNHcZ/PlhrhvYOMfRTOt4kinQcfxvqInT8/0Qpg=";
|
||||
hash = "sha256-HYacLaowSDdrwkxL1h3h+lw/8ahzaecpXEnwrCqMCWk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -1,12 +1,13 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, coloredlogs
|
||||
, deprecation
|
||||
, fetchFromGitHub
|
||||
, ghostscript
|
||||
, img2pdf
|
||||
, importlib-metadata
|
||||
, importlib-resources
|
||||
, jbig2enc
|
||||
, packaging
|
||||
, pdfminer-six
|
||||
, pikepdf
|
||||
, pillow
|
||||
@ -16,18 +17,23 @@
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, reportlab
|
||||
, setuptools
|
||||
, setuptools-scm
|
||||
, setuptools-scm-git-archive
|
||||
, substituteAll
|
||||
, tesseract
|
||||
, tqdm
|
||||
, typing-extensions
|
||||
, unpaper
|
||||
, installShellFiles
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ocrmypdf";
|
||||
version = "13.7.0";
|
||||
version = "14.0.1";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ocrmypdf";
|
||||
@ -39,7 +45,7 @@ buildPythonPackage rec {
|
||||
postFetch = ''
|
||||
rm "$out/.git_archival.txt"
|
||||
'';
|
||||
hash = "sha256-cw2wZMPhWzxRpeM90g9NmuYBYpU13R2iDzs7a8SS/CY=";
|
||||
hash = "sha256-eYn24FkAXj/ESCoC0QaLY+wRhkxZP1KnuY4VU1WiG24=";
|
||||
};
|
||||
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||
@ -56,25 +62,27 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools-scm-git-archive
|
||||
setuptools
|
||||
setuptools-scm
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
coloredlogs
|
||||
deprecation
|
||||
img2pdf
|
||||
packaging
|
||||
pdfminer-six
|
||||
pikepdf
|
||||
pillow
|
||||
pluggy
|
||||
reportlab
|
||||
tqdm
|
||||
] ++ (lib.optionals (pythonOlder "3.8") [
|
||||
importlib-metadata
|
||||
]) ++ (lib.optionals (pythonOlder "3.9") [
|
||||
] ++ lib.optionals (pythonOlder "3.9") [
|
||||
importlib-resources
|
||||
]);
|
||||
] ++ lib.optionals (pythonOlder "3.10") [
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytest-xdist
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "oralb-ble";
|
||||
version = "0.14.0";
|
||||
version = "0.14.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-7EHU/UqKy576FZ1E5bOHHOvH38yoyU+55wC/YO3yt4Y=";
|
||||
hash = "sha256-Tg2sk8E4+UjgP2PyZH6ZqNJv6Yg/muTl7QPaBlXHUj0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pikepdf";
|
||||
version = "6.0.2";
|
||||
version = "6.2.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -39,7 +39,7 @@ buildPythonPackage rec {
|
||||
postFetch = ''
|
||||
rm "$out/.git_archival.txt"
|
||||
'';
|
||||
hash = "sha256-rwMSmARUrScG2nmiYBSkcq0NuUMhn0pHOPvgdKZbH7w=";
|
||||
hash = "sha256-194CaN7Ei3/ja55BWsUst4EN/B7/JUmJxtCmnN9Z/bI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyskyqremote";
|
||||
version = "0.3.17";
|
||||
version = "0.3.19";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
owner = "RogerSelwyn";
|
||||
repo = "skyq_remote";
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "sha256-jOeJXl/0LUozwKoE3R67tts6v283Li7zHIatr0nadCk=";
|
||||
sha256 = "sha256-yN1d0Q6kbtQ+f+3WgTVZR9NVcV5K7VEZQ44H1bcP5Fk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyswitchbee";
|
||||
version = "1.6.1";
|
||||
version = "1.6.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||
owner = "jafar-atili";
|
||||
repo = "pySwitchbee";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-5Mc70yi9Yj+8ye81v9NbKZnNoD5PQmBVAiYF5IM5ix8=";
|
||||
hash = "sha256-MDutpeHI6MW1VwCRTPJK/y08ee4eidOHluMf6lPQfEk=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "s3fs";
|
||||
version = "2022.8.2";
|
||||
version = "2022.10.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-PKBwGomp4SWijekIKdGflvQd2x2LQ3kHbCntgsSvhs0=";
|
||||
hash = "sha256-6N64DyC9CyBZFBuHT9udauuMzjUxLqXywCsiWnigBAY=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
@ -42,8 +42,9 @@ buildPythonPackage rec {
|
||||
|
||||
meta = with lib; {
|
||||
broken = stdenv.isDarwin;
|
||||
homepage = "https://github.com/dask/s3fs/";
|
||||
description = "A Pythonic file interface for S3";
|
||||
homepage = "https://github.com/fsspec/s3fs";
|
||||
changelog = "https://github.com/fsspec/s3fs/raw/${version}/docs/source/changelog.rst";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ teh ];
|
||||
};
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sensor-state-data";
|
||||
version = "2.11.0";
|
||||
version = "2.12.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-znDEdXCWYmzk5xG1sSUyXRUhLGxtoBv46JcSnysu1A4=";
|
||||
hash = "sha256-u17vtw3yu8ibi/omTriy6s33/243WjxM03Nss3pFAYk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "watchfiles";
|
||||
version = "0.18.0";
|
||||
version = "0.18.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -24,13 +24,13 @@ buildPythonPackage rec {
|
||||
owner = "samuelcolvin";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-biGGn0YAUbSO1hCJ4kU0ZWlqlXl/HRrBS3iIA3myRI8=";
|
||||
hash = "sha256-XEhu6M1hFi3/gAKZcei7KJSrIhhlZhlvZvbfyA6VLR4=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-nmkIKA4EDMOeppOxKwLSh3oREInlDIcFzE7/EYZRGKY=";
|
||||
hash = "sha256-IWONA3o+2emJ7cKEw5xYSMdWzGuUSwn1B70zUDzj7Cw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "xiaomi-ble";
|
||||
version = "0.10.0";
|
||||
version = "0.11.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-qpGw9c7O8MC6AEutRIqCEdZncJSQKesaHFRQjOxpa2U=";
|
||||
hash = "sha256-qAqXg+skA7FfAjRXljt1UpyOcC3KYghc+5wjiRzlyyg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
let
|
||||
version = "1.15.0";
|
||||
version = "1.16.0";
|
||||
in
|
||||
buildGoModule {
|
||||
pname = "sqlc";
|
||||
@ -11,11 +11,11 @@ buildGoModule {
|
||||
owner = "kyleconroy";
|
||||
repo = "sqlc";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Ufa5A+lsFSyxe7s0DbLhWW298Y1yaSCazMjGBryyMYY=";
|
||||
sha256 = "sha256-YxGMfGhcPT3Pcyxu1hAkadkJnEBMX26fE/rGfGSTsyc=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorSha256 = "sha256-KatF4epCzyQCoAGk1verjAYNrFcmcLiVyDI2542Vm3k=";
|
||||
vendorSha256 = "sha256-cMYTQ8rATCXOquSxc4iZ2MvxIaMO3RG8PZkpOwwntyc=";
|
||||
|
||||
subPackages = [ "cmd/sqlc" ];
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
{ lib }:
|
||||
{
|
||||
tree-sitter-agda = lib.importJSON ./tree-sitter-agda.json;
|
||||
tree-sitter-bash = lib.importJSON ./tree-sitter-bash.json;
|
||||
tree-sitter-beancount = lib.importJSON ./tree-sitter-beancount.json;
|
||||
tree-sitter-bibtex = lib.importJSON ./tree-sitter-bibtex.json;
|
||||
@ -25,7 +24,6 @@
|
||||
tree-sitter-erlang = lib.importJSON ./tree-sitter-erlang.json;
|
||||
tree-sitter-fennel = lib.importJSON ./tree-sitter-fennel.json;
|
||||
tree-sitter-fish = lib.importJSON ./tree-sitter-fish.json;
|
||||
tree-sitter-fluent = lib.importJSON ./tree-sitter-fluent.json;
|
||||
tree-sitter-fortran = lib.importJSON ./tree-sitter-fortran.json;
|
||||
tree-sitter-gdscript = lib.importJSON ./tree-sitter-gdscript.json;
|
||||
tree-sitter-glimmer = lib.importJSON ./tree-sitter-glimmer.json;
|
||||
|
@ -1,11 +0,0 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-agda",
|
||||
"rev": "d710ff14d15ddee3764fd73a0837c6c4c8c913e9",
|
||||
"date": "2019-09-20T18:06:06+08:00",
|
||||
"path": "/nix/store/wqz9v9znaiwhhqi19hgig9bn0yvl4i9s-tree-sitter-agda",
|
||||
"sha256": "1wpfj47l97pxk3i9rzdylqipy849r482fnj3lmx8byhalv7z1vm6",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-fluent",
|
||||
"rev": "858fdd6f1e81992e00d3541bfb31bac9365d7a47",
|
||||
"date": "2018-06-18T13:00:38-07:00",
|
||||
"path": "/nix/store/zbj8abdlrqi9swm8qn8rhpqmjwcz145f-tree-sitter-fluent",
|
||||
"sha256": "0528v9w0cs73p9048xrddb1wpdhr92sn1sw8yyqfrq5sq0danr9k",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-julia",
|
||||
"rev": "8fb38abff74652c4faddbf04d2d5bbbc6b4bae25",
|
||||
"date": "2022-11-01T17:30:42-05:00",
|
||||
"path": "/nix/store/58qk62ilnkwqbqc5y0ah1ky5z4n4d4xr-tree-sitter-julia",
|
||||
"sha256": "06h5nyxw72z3w5a62y59332w2xg90sm3c2j6na7vvf7nark7vb8v",
|
||||
"rev": "bedd19f3c3d745c3da8451a35c7bfc5f48d07ee6",
|
||||
"date": "2022-11-05T17:27:50-05:00",
|
||||
"path": "/nix/store/ldklarlvv3jlxsfi7gnqmim7csnxp2qf-tree-sitter-julia",
|
||||
"sha256": "0cnp0rff6igjfz9i8ckffj9r1fr2nzdw82hag6dml331z7nbjjkf",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
"url": "https://github.com/ganezdragon/tree-sitter-perl",
|
||||
"rev": "ff5c3108083af6fcb7575e32a7558b8165a05bcd",
|
||||
"date": "2022-07-18T20:23:41+05:30",
|
||||
"path": "/nix/store/29ijys20vg6qyc2999vjiylwi9nrq3y4-tree-sitter-perl",
|
||||
"sha256": "1zsffd55sldc1148wyjm0kh8knm4849wgwvdvwhchpzn6ji6yf8i",
|
||||
"rev": "749d26fe13fb131b92e6515416096e572575b981",
|
||||
"date": "2022-11-05T19:54:52+05:30",
|
||||
"path": "/nix/store/b2w0s5livx7ysni6jlwwpmkd0f3wvqnh-tree-sitter-perl",
|
||||
"sha256": "1ldl83nia3ij7ps5nx5fqzz5pzwzcmphajjhjf1vnrbm11zfzqjl",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
"url": "https://github.com/6cdh/tree-sitter-scheme",
|
||||
"rev": "af0fd1fa452cb2562dc7b5c8a8c55551c39273b9",
|
||||
"date": "2022-09-30T20:37:24+08:00",
|
||||
"path": "/nix/store/gra9hiqd3rqgvvq10m3z6lzjf0y0lfz0-tree-sitter-scheme",
|
||||
"sha256": "1pk1q8lmgj2mh7fmyvsr610qdv1c7nmfqdbr1bln1ar356dv6zrb",
|
||||
"rev": "bdcd2c8496701153506a9e3e1b76dfed852873ba",
|
||||
"date": "2022-11-06T17:17:49+08:00",
|
||||
"path": "/nix/store/l096qb2872kab34avgscn9bwizrzail5-tree-sitter-scheme",
|
||||
"sha256": "12knvhmayck9da3zj2w55al4yjhkkr9gxmfdmrjiz7vn9wc1dxr9",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
"url": "https://github.com/m-novikov/tree-sitter-sql",
|
||||
"rev": "218b672499729ef71e4d66a949e4a1614488aeaa",
|
||||
"date": "2022-06-30T19:50:55+02:00",
|
||||
"path": "/nix/store/rcdcgwb28jblgb65k5zjw5zgmigiqjfl-tree-sitter-sql",
|
||||
"sha256": "1j68h5jzc0d3a44v5mw005lh3zsrh0salfzydl9br1n8byl1awms",
|
||||
"url": "https://github.com/derekstride/tree-sitter-sql",
|
||||
"rev": "70c50264ae022193adb364ffa7a767d765ed9857",
|
||||
"date": "2022-11-02T09:36:19-04:00",
|
||||
"path": "/nix/store/f1pg3pf4fyfmls30l1ma1nlwq61fxxqs-tree-sitter-sql",
|
||||
"sha256": "16s58bvll2r80zga63fjzjbkfxm3zdr3vljjk69cvjwnpy668yfh",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -31,8 +31,6 @@ let
|
||||
"tree-sitter-scala"
|
||||
"tree-sitter-ocaml"
|
||||
"tree-sitter-julia"
|
||||
"tree-sitter-agda"
|
||||
"tree-sitter-fluent"
|
||||
"tree-sitter-html"
|
||||
"tree-sitter-haskell"
|
||||
"tree-sitter-regex"
|
||||
@ -73,6 +71,10 @@ let
|
||||
"tree-sitter-graph"
|
||||
# abandoned
|
||||
"tree-sitter-swift"
|
||||
# abandoned
|
||||
"tree-sitter-agda"
|
||||
# abandoned
|
||||
"tree-sitter-fluent"
|
||||
];
|
||||
ignoredTreeSitterOrgReposJson = jsonFile "ignored-tree-sitter-org-repos" ignoredTreeSitterOrgRepos;
|
||||
|
||||
@ -137,7 +139,7 @@ let
|
||||
repo = "tree-sitter-svelte";
|
||||
};
|
||||
"tree-sitter-sql" = {
|
||||
orga = "m-novikov";
|
||||
orga = "derekstride";
|
||||
repo = "tree-sitter-sql";
|
||||
};
|
||||
"tree-sitter-vim" = {
|
||||
|
@ -1,10 +1,12 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, libusb
|
||||
, libusb1
|
||||
, libftdi
|
||||
, cargo-readme
|
||||
, pkg-config
|
||||
, AppKit
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
@ -12,7 +14,9 @@ rustPlatform.buildRustPackage rec {
|
||||
version = "unstable-2022-09-15";
|
||||
|
||||
nativeBuildInputs = [ pkg-config cargo-readme ];
|
||||
buildInputs = [ libusb libftdi ];
|
||||
buildInputs = [ libusb1 libftdi ] ++ lib.optionals stdenv.isDarwin [
|
||||
AppKit
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oxidecomputer";
|
||||
@ -21,7 +25,7 @@ rustPlatform.buildRustPackage rec {
|
||||
sha256 = "sha256-yW7QcxTWbL2YsV2bvfhbqQ2nawlPQbYxBfIGCWo28GY=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-UhO8VO3OCfYc8Xq/P+l9f5ZrhOD/TBzSClAeAXLJLlc=";
|
||||
cargoSha256 = "sha256-IurLI0ZQNpmiYwfcMZuxi7FWtSX+Ts7GYWFwUfD+Ji8=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Debugger for Hubris";
|
||||
|
@ -1,13 +1,13 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, sq }:
|
||||
buildGoModule rec {
|
||||
pname = "sq";
|
||||
version = "0.15.6";
|
||||
version = "0.15.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "neilotoole";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-QEg80di2DmMfIrvsRFp7nELs7LiJRVa/wENDnf1zQ2Y=";
|
||||
sha256 = "sha256-sYaQb7MFeTgJ/WPuCuMYjLcgmO/FhMGgOvY1HfGh2ag=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
@ -1,6 +1,6 @@
|
||||
# This file is autogenerated! Run ./update.sh to regenerate.
|
||||
{
|
||||
version = "20221012";
|
||||
sourceHash = "sha256-Lm7MHAgybnyYL668KJ2MMFNA4tGAu5NGK+jSkhOj890=";
|
||||
outputHash = "sha256-xk5n9mQHpM+nNv8WqSaPpcsm9B8Gr4fGJouRWEfM2z0=";
|
||||
version = "20221109";
|
||||
sourceHash = "sha256-77xRUo4g24j5rGWYzVn/DZ1rfY+Ks9cmZ/+GCHELP5E=";
|
||||
outputHash = "sha256-pPhqbi4PRr+0FQ7K8M/SibgYeI45spcdqgb5garyJo8=";
|
||||
}
|
||||
|
@ -1,784 +0,0 @@
|
||||
commit 280858b0bb3384b9ec06b455e196b453888bd6b8
|
||||
Author: Tejun Heo <tj@kernel.org>
|
||||
Date: Fri Mar 11 07:31:23 2016 -0500
|
||||
|
||||
sched: Misc preps for cgroup unified hierarchy interface
|
||||
|
||||
Make the following changes in preparation for the cpu controller
|
||||
interface implementation for the unified hierarchy. This patch
|
||||
doesn't cause any functional differences.
|
||||
|
||||
* s/cpu_stats_show()/cpu_cfs_stats_show()/
|
||||
|
||||
* s/cpu_files/cpu_legacy_files/
|
||||
|
||||
* Separate out cpuacct_stats_read() from cpuacct_stats_show(). While
|
||||
at it, make the @val array u64 for consistency.
|
||||
|
||||
Signed-off-by: Tejun Heo <tj@kernel.org>
|
||||
Cc: Ingo Molnar <mingo@redhat.com>
|
||||
Cc: Peter Zijlstra <peterz@infradead.org>
|
||||
Cc: Li Zefan <lizefan@huawei.com>
|
||||
Cc: Johannes Weiner <hannes@cmpxchg.org>
|
||||
|
||||
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
|
||||
index 154fd689fe02..57472485b79c 100644
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -8705,7 +8705,7 @@ static int __cfs_schedulable(struct task_group *tg, u64 period, u64 quota)
|
||||
return ret;
|
||||
}
|
||||
|
||||
-static int cpu_stats_show(struct seq_file *sf, void *v)
|
||||
+static int cpu_cfs_stats_show(struct seq_file *sf, void *v)
|
||||
{
|
||||
struct task_group *tg = css_tg(seq_css(sf));
|
||||
struct cfs_bandwidth *cfs_b = &tg->cfs_bandwidth;
|
||||
@@ -8745,7 +8745,7 @@ static u64 cpu_rt_period_read_uint(struct cgroup_subsys_state *css,
|
||||
}
|
||||
#endif /* CONFIG_RT_GROUP_SCHED */
|
||||
|
||||
-static struct cftype cpu_files[] = {
|
||||
+static struct cftype cpu_legacy_files[] = {
|
||||
#ifdef CONFIG_FAIR_GROUP_SCHED
|
||||
{
|
||||
.name = "shares",
|
||||
@@ -8766,7 +8766,7 @@ static struct cftype cpu_files[] = {
|
||||
},
|
||||
{
|
||||
.name = "stat",
|
||||
- .seq_show = cpu_stats_show,
|
||||
+ .seq_show = cpu_cfs_stats_show,
|
||||
},
|
||||
#endif
|
||||
#ifdef CONFIG_RT_GROUP_SCHED
|
||||
@@ -8791,7 +8791,7 @@ struct cgroup_subsys cpu_cgrp_subsys = {
|
||||
.fork = cpu_cgroup_fork,
|
||||
.can_attach = cpu_cgroup_can_attach,
|
||||
.attach = cpu_cgroup_attach,
|
||||
- .legacy_cftypes = cpu_files,
|
||||
+ .legacy_cftypes = cpu_legacy_files,
|
||||
.early_init = true,
|
||||
};
|
||||
|
||||
diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c
|
||||
index bc0b309c3f19..d1e5dd0b3a64 100644
|
||||
--- a/kernel/sched/cpuacct.c
|
||||
+++ b/kernel/sched/cpuacct.c
|
||||
@@ -276,26 +276,33 @@ static int cpuacct_all_seq_show(struct seq_file *m, void *V)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int cpuacct_stats_show(struct seq_file *sf, void *v)
|
||||
+static void cpuacct_stats_read(struct cpuacct *ca,
|
||||
+ u64 (*val)[CPUACCT_STAT_NSTATS])
|
||||
{
|
||||
- struct cpuacct *ca = css_ca(seq_css(sf));
|
||||
- s64 val[CPUACCT_STAT_NSTATS];
|
||||
int cpu;
|
||||
- int stat;
|
||||
|
||||
- memset(val, 0, sizeof(val));
|
||||
+ memset(val, 0, sizeof(*val));
|
||||
+
|
||||
for_each_possible_cpu(cpu) {
|
||||
u64 *cpustat = per_cpu_ptr(ca->cpustat, cpu)->cpustat;
|
||||
|
||||
- val[CPUACCT_STAT_USER] += cpustat[CPUTIME_USER];
|
||||
- val[CPUACCT_STAT_USER] += cpustat[CPUTIME_NICE];
|
||||
- val[CPUACCT_STAT_SYSTEM] += cpustat[CPUTIME_SYSTEM];
|
||||
- val[CPUACCT_STAT_SYSTEM] += cpustat[CPUTIME_IRQ];
|
||||
- val[CPUACCT_STAT_SYSTEM] += cpustat[CPUTIME_SOFTIRQ];
|
||||
+ (*val)[CPUACCT_STAT_USER] += cpustat[CPUTIME_USER];
|
||||
+ (*val)[CPUACCT_STAT_USER] += cpustat[CPUTIME_NICE];
|
||||
+ (*val)[CPUACCT_STAT_SYSTEM] += cpustat[CPUTIME_SYSTEM];
|
||||
+ (*val)[CPUACCT_STAT_SYSTEM] += cpustat[CPUTIME_IRQ];
|
||||
+ (*val)[CPUACCT_STAT_SYSTEM] += cpustat[CPUTIME_SOFTIRQ];
|
||||
}
|
||||
+}
|
||||
+
|
||||
+static int cpuacct_stats_show(struct seq_file *sf, void *v)
|
||||
+{
|
||||
+ u64 val[CPUACCT_STAT_NSTATS];
|
||||
+ int stat;
|
||||
+
|
||||
+ cpuacct_stats_read(css_ca(seq_css(sf)), &val);
|
||||
|
||||
for (stat = 0; stat < CPUACCT_STAT_NSTATS; stat++) {
|
||||
- seq_printf(sf, "%s %lld\n",
|
||||
+ seq_printf(sf, "%s %llu\n",
|
||||
cpuacct_stat_desc[stat],
|
||||
cputime64_to_clock_t(val[stat]));
|
||||
}
|
||||
|
||||
commit 015cbdcb90034fd566d00de9d3d405613da3cd26
|
||||
Author: Tejun Heo <tj@kernel.org>
|
||||
Date: Fri Mar 11 07:31:23 2016 -0500
|
||||
|
||||
sched: Implement interface for cgroup unified hierarchy
|
||||
|
||||
While the cpu controller doesn't have any functional problems, there
|
||||
are a couple interface issues which can be addressed in the v2
|
||||
interface.
|
||||
|
||||
* cpuacct being a separate controller. This separation is artificial
|
||||
and rather pointless as demonstrated by most use cases co-mounting
|
||||
the two controllers. It also forces certain information to be
|
||||
accounted twice.
|
||||
|
||||
* Use of different time units. Writable control knobs use
|
||||
microseconds, some stat fields use nanoseconds while other cpuacct
|
||||
stat fields use centiseconds.
|
||||
|
||||
* Control knobs which can't be used in the root cgroup still show up
|
||||
in the root.
|
||||
|
||||
* Control knob names and semantics aren't consistent with other
|
||||
controllers.
|
||||
|
||||
This patchset implements cpu controller's interface on the unified
|
||||
hierarchy which adheres to the controller file conventions described
|
||||
in Documentation/cgroups/unified-hierarchy.txt. Overall, the
|
||||
following changes are made.
|
||||
|
||||
* cpuacct is implictly enabled and disabled by cpu and its information
|
||||
is reported through "cpu.stat" which now uses microseconds for all
|
||||
time durations. All time duration fields now have "_usec" appended
|
||||
to them for clarity. While this doesn't solve the double accounting
|
||||
immediately, once majority of users switch to v2, cpu can directly
|
||||
account and report the relevant stats and cpuacct can be disabled on
|
||||
the unified hierarchy.
|
||||
|
||||
Note that cpuacct.usage_percpu is currently not included in
|
||||
"cpu.stat". If this information is actually called for, it can be
|
||||
added later.
|
||||
|
||||
* "cpu.shares" is replaced with "cpu.weight" and operates on the
|
||||
standard scale defined by CGROUP_WEIGHT_MIN/DFL/MAX (1, 100, 10000).
|
||||
The weight is scaled to scheduler weight so that 100 maps to 1024
|
||||
and the ratio relationship is preserved - if weight is W and its
|
||||
scaled value is S, W / 100 == S / 1024. While the mapped range is a
|
||||
bit smaller than the orignal scheduler weight range, the dead zones
|
||||
on both sides are relatively small and covers wider range than the
|
||||
nice value mappings. This file doesn't make sense in the root
|
||||
cgroup and isn't create on root.
|
||||
|
||||
* "cpu.cfs_quota_us" and "cpu.cfs_period_us" are replaced by "cpu.max"
|
||||
which contains both quota and period.
|
||||
|
||||
* "cpu.rt_runtime_us" and "cpu.rt_period_us" are replaced by
|
||||
"cpu.rt.max" which contains both runtime and period.
|
||||
|
||||
v2: cpu_stats_show() was incorrectly using CONFIG_FAIR_GROUP_SCHED for
|
||||
CFS bandwidth stats and also using raw division for u64. Use
|
||||
CONFIG_CFS_BANDWITH and do_div() instead.
|
||||
|
||||
The semantics of "cpu.rt.max" is not fully decided yet. Dropped
|
||||
for now.
|
||||
|
||||
Signed-off-by: Tejun Heo <tj@kernel.org>
|
||||
Cc: Ingo Molnar <mingo@redhat.com>
|
||||
Cc: Peter Zijlstra <peterz@infradead.org>
|
||||
Cc: Li Zefan <lizefan@huawei.com>
|
||||
Cc: Johannes Weiner <hannes@cmpxchg.org>
|
||||
|
||||
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
|
||||
index 57472485b79c..c0ae869f51c4 100644
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -8784,6 +8784,139 @@ static struct cftype cpu_legacy_files[] = {
|
||||
{ } /* terminate */
|
||||
};
|
||||
|
||||
+static int cpu_stats_show(struct seq_file *sf, void *v)
|
||||
+{
|
||||
+ cpuacct_cpu_stats_show(sf);
|
||||
+
|
||||
+#ifdef CONFIG_CFS_BANDWIDTH
|
||||
+ {
|
||||
+ struct task_group *tg = css_tg(seq_css(sf));
|
||||
+ struct cfs_bandwidth *cfs_b = &tg->cfs_bandwidth;
|
||||
+ u64 throttled_usec;
|
||||
+
|
||||
+ throttled_usec = cfs_b->throttled_time;
|
||||
+ do_div(throttled_usec, NSEC_PER_USEC);
|
||||
+
|
||||
+ seq_printf(sf, "nr_periods %d\n"
|
||||
+ "nr_throttled %d\n"
|
||||
+ "throttled_usec %llu\n",
|
||||
+ cfs_b->nr_periods, cfs_b->nr_throttled,
|
||||
+ throttled_usec);
|
||||
+ }
|
||||
+#endif
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#ifdef CONFIG_FAIR_GROUP_SCHED
|
||||
+static u64 cpu_weight_read_u64(struct cgroup_subsys_state *css,
|
||||
+ struct cftype *cft)
|
||||
+{
|
||||
+ struct task_group *tg = css_tg(css);
|
||||
+ u64 weight = scale_load_down(tg->shares);
|
||||
+
|
||||
+ return DIV_ROUND_CLOSEST_ULL(weight * CGROUP_WEIGHT_DFL, 1024);
|
||||
+}
|
||||
+
|
||||
+static int cpu_weight_write_u64(struct cgroup_subsys_state *css,
|
||||
+ struct cftype *cftype, u64 weight)
|
||||
+{
|
||||
+ /*
|
||||
+ * cgroup weight knobs should use the common MIN, DFL and MAX
|
||||
+ * values which are 1, 100 and 10000 respectively. While it loses
|
||||
+ * a bit of range on both ends, it maps pretty well onto the shares
|
||||
+ * value used by scheduler and the round-trip conversions preserve
|
||||
+ * the original value over the entire range.
|
||||
+ */
|
||||
+ if (weight < CGROUP_WEIGHT_MIN || weight > CGROUP_WEIGHT_MAX)
|
||||
+ return -ERANGE;
|
||||
+
|
||||
+ weight = DIV_ROUND_CLOSEST_ULL(weight * 1024, CGROUP_WEIGHT_DFL);
|
||||
+
|
||||
+ return sched_group_set_shares(css_tg(css), scale_load(weight));
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+static void __maybe_unused cpu_period_quota_print(struct seq_file *sf,
|
||||
+ long period, long quota)
|
||||
+{
|
||||
+ if (quota < 0)
|
||||
+ seq_puts(sf, "max");
|
||||
+ else
|
||||
+ seq_printf(sf, "%ld", quota);
|
||||
+
|
||||
+ seq_printf(sf, " %ld\n", period);
|
||||
+}
|
||||
+
|
||||
+/* caller should put the current value in *@periodp before calling */
|
||||
+static int __maybe_unused cpu_period_quota_parse(char *buf,
|
||||
+ u64 *periodp, u64 *quotap)
|
||||
+{
|
||||
+ char tok[21]; /* U64_MAX */
|
||||
+
|
||||
+ if (!sscanf(buf, "%s %llu", tok, periodp))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ *periodp *= NSEC_PER_USEC;
|
||||
+
|
||||
+ if (sscanf(tok, "%llu", quotap))
|
||||
+ *quotap *= NSEC_PER_USEC;
|
||||
+ else if (!strcmp(tok, "max"))
|
||||
+ *quotap = RUNTIME_INF;
|
||||
+ else
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#ifdef CONFIG_CFS_BANDWIDTH
|
||||
+static int cpu_max_show(struct seq_file *sf, void *v)
|
||||
+{
|
||||
+ struct task_group *tg = css_tg(seq_css(sf));
|
||||
+
|
||||
+ cpu_period_quota_print(sf, tg_get_cfs_period(tg), tg_get_cfs_quota(tg));
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static ssize_t cpu_max_write(struct kernfs_open_file *of,
|
||||
+ char *buf, size_t nbytes, loff_t off)
|
||||
+{
|
||||
+ struct task_group *tg = css_tg(of_css(of));
|
||||
+ u64 period = tg_get_cfs_period(tg);
|
||||
+ u64 quota;
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = cpu_period_quota_parse(buf, &period, "a);
|
||||
+ if (!ret)
|
||||
+ ret = tg_set_cfs_bandwidth(tg, period, quota);
|
||||
+ return ret ?: nbytes;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+static struct cftype cpu_files[] = {
|
||||
+ {
|
||||
+ .name = "stat",
|
||||
+ .flags = CFTYPE_NOT_ON_ROOT,
|
||||
+ .seq_show = cpu_stats_show,
|
||||
+ },
|
||||
+#ifdef CONFIG_FAIR_GROUP_SCHED
|
||||
+ {
|
||||
+ .name = "weight",
|
||||
+ .flags = CFTYPE_NOT_ON_ROOT,
|
||||
+ .read_u64 = cpu_weight_read_u64,
|
||||
+ .write_u64 = cpu_weight_write_u64,
|
||||
+ },
|
||||
+#endif
|
||||
+#ifdef CONFIG_CFS_BANDWIDTH
|
||||
+ {
|
||||
+ .name = "max",
|
||||
+ .flags = CFTYPE_NOT_ON_ROOT,
|
||||
+ .seq_show = cpu_max_show,
|
||||
+ .write = cpu_max_write,
|
||||
+ },
|
||||
+#endif
|
||||
+ { } /* terminate */
|
||||
+};
|
||||
+
|
||||
struct cgroup_subsys cpu_cgrp_subsys = {
|
||||
.css_alloc = cpu_cgroup_css_alloc,
|
||||
.css_released = cpu_cgroup_css_released,
|
||||
@@ -8792,7 +8925,15 @@ struct cgroup_subsys cpu_cgrp_subsys = {
|
||||
.can_attach = cpu_cgroup_can_attach,
|
||||
.attach = cpu_cgroup_attach,
|
||||
.legacy_cftypes = cpu_legacy_files,
|
||||
+ .dfl_cftypes = cpu_files,
|
||||
.early_init = true,
|
||||
+#ifdef CONFIG_CGROUP_CPUACCT
|
||||
+ /*
|
||||
+ * cpuacct is enabled together with cpu on the unified hierarchy
|
||||
+ * and its stats are reported through "cpu.stat".
|
||||
+ */
|
||||
+ .depends_on = 1 << cpuacct_cgrp_id,
|
||||
+#endif
|
||||
};
|
||||
|
||||
#endif /* CONFIG_CGROUP_SCHED */
|
||||
diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c
|
||||
index d1e5dd0b3a64..57f390514c39 100644
|
||||
--- a/kernel/sched/cpuacct.c
|
||||
+++ b/kernel/sched/cpuacct.c
|
||||
@@ -347,6 +347,31 @@ static struct cftype files[] = {
|
||||
{ } /* terminate */
|
||||
};
|
||||
|
||||
+/* used to print cpuacct stats in cpu.stat on the unified hierarchy */
|
||||
+void cpuacct_cpu_stats_show(struct seq_file *sf)
|
||||
+{
|
||||
+ struct cgroup_subsys_state *css;
|
||||
+ u64 usage, val[CPUACCT_STAT_NSTATS];
|
||||
+
|
||||
+ css = cgroup_get_e_css(seq_css(sf)->cgroup, &cpuacct_cgrp_subsys);
|
||||
+
|
||||
+ usage = cpuusage_read(css, seq_cft(sf));
|
||||
+ cpuacct_stats_read(css_ca(css), &val);
|
||||
+
|
||||
+ val[CPUACCT_STAT_USER] *= TICK_NSEC;
|
||||
+ val[CPUACCT_STAT_SYSTEM] *= TICK_NSEC;
|
||||
+ do_div(usage, NSEC_PER_USEC);
|
||||
+ do_div(val[CPUACCT_STAT_USER], NSEC_PER_USEC);
|
||||
+ do_div(val[CPUACCT_STAT_SYSTEM], NSEC_PER_USEC);
|
||||
+
|
||||
+ seq_printf(sf, "usage_usec %llu\n"
|
||||
+ "user_usec %llu\n"
|
||||
+ "system_usec %llu\n",
|
||||
+ usage, val[CPUACCT_STAT_USER], val[CPUACCT_STAT_SYSTEM]);
|
||||
+
|
||||
+ css_put(css);
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* charge this task's execution time to its accounting group.
|
||||
*
|
||||
diff --git a/kernel/sched/cpuacct.h b/kernel/sched/cpuacct.h
|
||||
index ba72807c73d4..ddf7af466d35 100644
|
||||
--- a/kernel/sched/cpuacct.h
|
||||
+++ b/kernel/sched/cpuacct.h
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
extern void cpuacct_charge(struct task_struct *tsk, u64 cputime);
|
||||
extern void cpuacct_account_field(struct task_struct *tsk, int index, u64 val);
|
||||
+extern void cpuacct_cpu_stats_show(struct seq_file *sf);
|
||||
|
||||
#else
|
||||
|
||||
@@ -14,4 +15,8 @@ cpuacct_account_field(struct task_struct *tsk, int index, u64 val)
|
||||
{
|
||||
}
|
||||
|
||||
+static inline void cpuacct_cpu_stats_show(struct seq_file *sf)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
#endif
|
||||
|
||||
commit 5019fe3d7ec456b58d451ef06fe1f81d7d9f28a9
|
||||
Author: Tejun Heo <tj@kernel.org>
|
||||
Date: Fri Aug 5 12:41:01 2016 -0400
|
||||
|
||||
cgroup: add documentation regarding CPU controller cgroup v2 support
|
||||
|
||||
Signed-off-by: Tejun Heo <tj@kernel.org>
|
||||
|
||||
diff --git a/Documentation/cgroup-v2-cpu.txt b/Documentation/cgroup-v2-cpu.txt
|
||||
new file mode 100644
|
||||
index 000000000000..1ed7032d4472
|
||||
--- /dev/null
|
||||
+++ b/Documentation/cgroup-v2-cpu.txt
|
||||
@@ -0,0 +1,368 @@
|
||||
+
|
||||
+
|
||||
+CPU Controller on Control Group v2
|
||||
+
|
||||
+August, 2016 Tejun Heo <tj@kernel.org>
|
||||
+
|
||||
+
|
||||
+While most controllers have support for cgroup v2 now, the CPU
|
||||
+controller support is not upstream yet due to objections from the
|
||||
+scheduler maintainers on the basic designs of cgroup v2. This
|
||||
+document explains the current situation as well as an interim
|
||||
+solution, and details the disagreements and arguments. The latest
|
||||
+version of this document can be found at the following URL.
|
||||
+
|
||||
+ https://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git/tree/Documentation/cgroup-v2-cpu.txt?h=cgroup-v2-cpu
|
||||
+
|
||||
+This document was posted to the linux-kernel and cgroup mailing lists.
|
||||
+Unfortunately, no consensus was reached as of Oct, 2016. The thread
|
||||
+can be found at the following URL.
|
||||
+
|
||||
+ http://lkml.kernel.org/r/20160805170752.GK2542@mtj.duckdns.org
|
||||
+
|
||||
+
|
||||
+CONTENTS
|
||||
+
|
||||
+1. Current Situation and Interim Solution
|
||||
+2. Disagreements and Arguments
|
||||
+ 2-1. Contentious Restrictions
|
||||
+ 2-1-1. Process Granularity
|
||||
+ 2-1-2. No Internal Process Constraint
|
||||
+ 2-2. Impact on CPU Controller
|
||||
+ 2-2-1. Impact of Process Granularity
|
||||
+ 2-2-2. Impact of No Internal Process Constraint
|
||||
+ 2-3. Arguments for cgroup v2
|
||||
+3. Way Forward
|
||||
+4. References
|
||||
+
|
||||
+
|
||||
+1. Current Situation and Interim Solution
|
||||
+
|
||||
+All objections from the scheduler maintainers apply to cgroup v2 core
|
||||
+design, and there are no known objections to the specifics of the CPU
|
||||
+controller cgroup v2 interface. The only blocked part is changes to
|
||||
+expose the CPU controller interface on cgroup v2, which comprises the
|
||||
+following two patches:
|
||||
+
|
||||
+ [1] sched: Misc preps for cgroup unified hierarchy interface
|
||||
+ [2] sched: Implement interface for cgroup unified hierarchy
|
||||
+
|
||||
+The necessary changes are superficial and implement the interface
|
||||
+files on cgroup v2. The combined diffstat is as follows.
|
||||
+
|
||||
+ kernel/sched/core.c | 149 +++++++++++++++++++++++++++++++++++++++++++++++--
|
||||
+ kernel/sched/cpuacct.c | 57 ++++++++++++------
|
||||
+ kernel/sched/cpuacct.h | 5 +
|
||||
+ 3 files changed, 189 insertions(+), 22 deletions(-)
|
||||
+
|
||||
+The patches are easy to apply and forward-port. The following git
|
||||
+branch will always carry the two patches on top of the latest release
|
||||
+of the upstream kernel.
|
||||
+
|
||||
+ git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git/cgroup-v2-cpu
|
||||
+
|
||||
+There also are versioned branches going back to v4.4.
|
||||
+
|
||||
+ git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git/cgroup-v2-cpu-$KERNEL_VER
|
||||
+
|
||||
+While it's difficult to tell whether the CPU controller support will
|
||||
+be merged, there are crucial resource control features in cgroup v2
|
||||
+that are only possible due to the design choices that are being
|
||||
+objected to, and every effort will be made to ease enabling the CPU
|
||||
+controller cgroup v2 support out-of-tree for parties which choose to.
|
||||
+
|
||||
+
|
||||
+2. Disagreements and Arguments
|
||||
+
|
||||
+There have been several lengthy discussion threads [3][4] on LKML
|
||||
+around the structural constraints of cgroup v2. The two that affect
|
||||
+the CPU controller are process granularity and no internal process
|
||||
+constraint. Both arise primarily from the need for common resource
|
||||
+domain definition across different resources.
|
||||
+
|
||||
+The common resource domain is a powerful concept in cgroup v2 that
|
||||
+allows controllers to make basic assumptions about the structural
|
||||
+organization of processes and controllers inside the cgroup hierarchy,
|
||||
+and thus solve problems spanning multiple types of resources. The
|
||||
+prime example for this is page cache writeback: dirty page cache is
|
||||
+regulated through throttling buffered writers based on memory
|
||||
+availability, and initiating batched write outs to the disk based on
|
||||
+IO capacity. Tracking and controlling writeback inside a cgroup thus
|
||||
+requires the direct cooperation of the memory and the IO controller.
|
||||
+
|
||||
+This easily extends to other areas, such as CPU cycles consumed while
|
||||
+performing memory reclaim or IO encryption.
|
||||
+
|
||||
+
|
||||
+2-1. Contentious Restrictions
|
||||
+
|
||||
+For controllers of different resources to work together, they must
|
||||
+agree on a common organization. This uniform model across controllers
|
||||
+imposes two contentious restrictions on the CPU controller: process
|
||||
+granularity and the no-internal-process constraint.
|
||||
+
|
||||
+
|
||||
+ 2-1-1. Process Granularity
|
||||
+
|
||||
+ For memory, because an address space is shared between all threads
|
||||
+ of a process, the terminal consumer is a process, not a thread.
|
||||
+ Separating the threads of a single process into different memory
|
||||
+ control domains doesn't make semantical sense. cgroup v2 ensures
|
||||
+ that all controller can agree on the same organization by requiring
|
||||
+ that threads of the same process belong to the same cgroup.
|
||||
+
|
||||
+ There are other reasons to enforce process granularity. One
|
||||
+ important one is isolating system-level management operations from
|
||||
+ in-process application operations. The cgroup interface, being a
|
||||
+ virtual filesystem, is very unfit for multiple independent
|
||||
+ operations taking place at the same time as most operations have to
|
||||
+ be multi-step and there is no way to synchronize multiple accessors.
|
||||
+ See also [5] Documentation/cgroup-v2.txt, "R-2. Thread Granularity"
|
||||
+
|
||||
+
|
||||
+ 2-1-2. No Internal Process Constraint
|
||||
+
|
||||
+ cgroup v2 does not allow processes to belong to any cgroup which has
|
||||
+ child cgroups when resource controllers are enabled on it (the
|
||||
+ notable exception being the root cgroup itself). This is because,
|
||||
+ for some resources, a resource domain (cgroup) is not directly
|
||||
+ comparable to the terminal consumer (process/task) of said resource,
|
||||
+ and so putting the two into a sibling relationship isn't meaningful.
|
||||
+
|
||||
+ - Differing Control Parameters and Capabilities
|
||||
+
|
||||
+ A cgroup controller has different resource control parameters and
|
||||
+ capabilities from a terminal consumer, be that a task or process.
|
||||
+ There are a couple cases where a cgroup control knob can be mapped
|
||||
+ to a per-task or per-process API but they are exceptions and the
|
||||
+ mappings aren't obvious even in those cases.
|
||||
+
|
||||
+ For example, task priorities (also known as nice values) set
|
||||
+ through setpriority(2) are mapped to the CPU controller
|
||||
+ "cpu.shares" values. However, how exactly the two ranges map and
|
||||
+ even the fact that they map to each other at all are not obvious.
|
||||
+
|
||||
+ The situation gets further muddled when considering other resource
|
||||
+ types and control knobs. IO priorities set through ioprio_set(2)
|
||||
+ cannot be mapped to IO controller weights and most cgroup resource
|
||||
+ control knobs including the bandwidth control knobs of the CPU
|
||||
+ controller don't have counterparts in the terminal consumers.
|
||||
+
|
||||
+ - Anonymous Resource Consumption
|
||||
+
|
||||
+ For CPU, every time slice consumed from inside a cgroup, which
|
||||
+ comprises most but not all of consumed CPU time for the cgroup,
|
||||
+ can be clearly attributed to a specific task or process. Because
|
||||
+ these two types of entities are directly comparable as consumers
|
||||
+ of CPU time, it's theoretically possible to mix tasks and cgroups
|
||||
+ on the same tree levels and let them directly compete for the time
|
||||
+ quota available to their common ancestor.
|
||||
+
|
||||
+ However, the same can't be said for resource types like memory or
|
||||
+ IO: the memory consumed by the page cache, for example, can be
|
||||
+ tracked on a per-cgroup level, but due to mismatches in lifetimes
|
||||
+ of involved objects (page cache can persist long after processes
|
||||
+ are gone), shared usages and the implementation overhead of
|
||||
+ tracking persistent state, it can no longer be attributed to
|
||||
+ individual processes after instantiation. Consequently, any IO
|
||||
+ incurred by page cache writeback can be attributed to a cgroup,
|
||||
+ but not to the individual consumers inside the cgroup.
|
||||
+
|
||||
+ For memory and IO, this makes a resource domain (cgroup) an object
|
||||
+ of a fundamentally different type than a terminal consumer
|
||||
+ (process). A process can't be a first class object in the resource
|
||||
+ distribution graph as its total resource consumption can't be
|
||||
+ described without the containing resource domain.
|
||||
+
|
||||
+ Disallowing processes in internal cgroups avoids competition between
|
||||
+ cgroups and processes which cannot be meaningfully defined for these
|
||||
+ resources. All resource control takes place among cgroups and a
|
||||
+ terminal consumer interacts with the containing cgroup the same way
|
||||
+ it would with the system without cgroup.
|
||||
+
|
||||
+ Root cgroup is exempt from this constraint, which is in line with
|
||||
+ how root cgroup is handled in general - it's excluded from cgroup
|
||||
+ resource accounting and control.
|
||||
+
|
||||
+
|
||||
+Enforcing process granularity and no internal process constraint
|
||||
+allows all controllers to be on the same footing in terms of resource
|
||||
+distribution hierarchy.
|
||||
+
|
||||
+
|
||||
+2-2. Impact on CPU Controller
|
||||
+
|
||||
+As indicated earlier, the CPU controller's resource distribution graph
|
||||
+is the simplest. Every schedulable resource consumption can be
|
||||
+attributed to a specific task. In addition, for weight based control,
|
||||
+the per-task priority set through setpriority(2) can be translated to
|
||||
+and from a per-cgroup weight. As such, the CPU controller can treat a
|
||||
+task and a cgroup symmetrically, allowing support for any tree layout
|
||||
+of cgroups and tasks. Both process granularity and the no internal
|
||||
+process constraint restrict how the CPU controller can be used.
|
||||
+
|
||||
+
|
||||
+ 2-2-1. Impact of Process Granularity
|
||||
+
|
||||
+ Process granularity prevents tasks belonging to the same process to
|
||||
+ be assigned to different cgroups. It was pointed out [6] that this
|
||||
+ excludes the valid use case of hierarchical CPU distribution within
|
||||
+ processes.
|
||||
+
|
||||
+ To address this issue, the rgroup (resource group) [7][8][9]
|
||||
+ interface, an extension of the existing setpriority(2) API, was
|
||||
+ proposed, which is in line with other programmable priority
|
||||
+ mechanisms and eliminates the risk of in-application configuration
|
||||
+ and system configuration stepping on each other's toes.
|
||||
+ Unfortunately, the proposal quickly turned into discussions around
|
||||
+ cgroup v2 design decisions [4] and no consensus could be reached.
|
||||
+
|
||||
+
|
||||
+ 2-2-2. Impact of No Internal Process Constraint
|
||||
+
|
||||
+ The no internal process constraint disallows tasks from competing
|
||||
+ directly against cgroups. Here is an excerpt from Peter Zijlstra
|
||||
+ pointing out the issue [10] - R, L and A are cgroups; t1, t2, t3 and
|
||||
+ t4 are tasks:
|
||||
+
|
||||
+
|
||||
+ R
|
||||
+ / | \
|
||||
+ t1 t2 A
|
||||
+ / \
|
||||
+ t3 t4
|
||||
+
|
||||
+
|
||||
+ Is fundamentally different from:
|
||||
+
|
||||
+
|
||||
+ R
|
||||
+ / \
|
||||
+ L A
|
||||
+ / \ / \
|
||||
+ t1 t2 t3 t4
|
||||
+
|
||||
+
|
||||
+ Because if in the first hierarchy you add a task (t5) to R, all of
|
||||
+ its A will run at 1/4th of total bandwidth where before it had
|
||||
+ 1/3rd, whereas with the second example, if you add our t5 to L, A
|
||||
+ doesn't get any less bandwidth.
|
||||
+
|
||||
+
|
||||
+ It is true that the trees are semantically different from each other
|
||||
+ and the symmetric handling of tasks and cgroups is aesthetically
|
||||
+ pleasing. However, it isn't clear what the practical usefulness of
|
||||
+ a layout with direct competition between tasks and cgroups would be,
|
||||
+ considering that number and behavior of tasks are controlled by each
|
||||
+ application, and cgroups primarily deal with system level resource
|
||||
+ distribution; changes in the number of active threads would directly
|
||||
+ impact resource distribution. Real world use cases of such layouts
|
||||
+ could not be established during the discussions.
|
||||
+
|
||||
+
|
||||
+2-3. Arguments for cgroup v2
|
||||
+
|
||||
+There are strong demands for comprehensive hierarchical resource
|
||||
+control across all major resources, and establishing a common resource
|
||||
+hierarchy is an essential step. As with most engineering decisions,
|
||||
+common resource hierarchy definition comes with its trade-offs. With
|
||||
+cgroup v2, the trade-offs are in the form of structural constraints
|
||||
+which, among others, restrict the CPU controller's space of possible
|
||||
+configurations.
|
||||
+
|
||||
+However, even with the restrictions, cgroup v2, in combination with
|
||||
+rgroup, covers most of identified real world use cases while enabling
|
||||
+new important use cases of resource control across multiple resource
|
||||
+types that were fundamentally broken previously.
|
||||
+
|
||||
+Furthermore, for resource control, treating resource domains as
|
||||
+objects of a different type from terminal consumers has important
|
||||
+advantages - it can account for resource consumptions which are not
|
||||
+tied to any specific terminal consumer, be that a task or process, and
|
||||
+allows decoupling resource distribution controls from in-application
|
||||
+APIs. Even the CPU controller may benefit from it as the kernel can
|
||||
+consume significant amount of CPU cycles in interrupt context or tasks
|
||||
+shared across multiple resource domains (e.g. softirq).
|
||||
+
|
||||
+Finally, it's important to note that enabling cgroup v2 support for
|
||||
+the CPU controller doesn't block use cases which require the features
|
||||
+which are not available on cgroup v2. Unlikely, but should anybody
|
||||
+actually rely on the CPU controller's symmetric handling of tasks and
|
||||
+cgroups, backward compatibility is and will be maintained by being
|
||||
+able to disconnect the controller from the cgroup v2 hierarchy and use
|
||||
+it standalone. This also holds for cpuset which is often used in
|
||||
+highly customized configurations which might be a poor fit for common
|
||||
+resource domains.
|
||||
+
|
||||
+The required changes are minimal, the benefits for the target use
|
||||
+cases are critical and obvious, and use cases which have to use v1 can
|
||||
+continue to do so.
|
||||
+
|
||||
+
|
||||
+3. Way Forward
|
||||
+
|
||||
+cgroup v2 primarily aims to solve the problem of comprehensive
|
||||
+hierarchical resource control across all major computing resources,
|
||||
+which is one of the core problems of modern server infrastructure
|
||||
+engineering. The trade-offs that cgroup v2 took are results of
|
||||
+pursuing that goal and gaining a better understanding of the nature of
|
||||
+resource control in the process.
|
||||
+
|
||||
+I believe that real world usages will prove cgroup v2's model right,
|
||||
+considering the crucial pieces of comprehensive resource control that
|
||||
+cannot be implemented without common resource domains. This is not to
|
||||
+say that cgroup v2 is fixed in stone and can't be updated; if there is
|
||||
+an approach which better serves both comprehensive resource control
|
||||
+and the CPU controller's flexibility, we will surely move towards
|
||||
+that. It goes without saying that discussions around such approach
|
||||
+should consider practical aspects of resource control as a whole
|
||||
+rather than absolutely focusing on a particular controller.
|
||||
+
|
||||
+Until such consensus can be reached, the CPU controller cgroup v2
|
||||
+support will be maintained out of the mainline kernel in an easily
|
||||
+accessible form. If there is anything cgroup developers can do to
|
||||
+ease the pain, please feel free to contact us on the cgroup mailing
|
||||
+list at cgroups@vger.kernel.org.
|
||||
+
|
||||
+
|
||||
+4. References
|
||||
+
|
||||
+[1] http://lkml.kernel.org/r/20160105164834.GE5995@mtj.duckdns.org
|
||||
+ [PATCH 1/2] sched: Misc preps for cgroup unified hierarchy interface
|
||||
+ Tejun Heo <tj@kernel.org>
|
||||
+
|
||||
+[2] http://lkml.kernel.org/r/20160105164852.GF5995@mtj.duckdns.org
|
||||
+ [PATCH 2/2] sched: Implement interface for cgroup unified hierarchy
|
||||
+ Tejun Heo <tj@kernel.org>
|
||||
+
|
||||
+[3] http://lkml.kernel.org/r/1438641689-14655-4-git-send-email-tj@kernel.org
|
||||
+ [PATCH 3/3] sched: Implement interface for cgroup unified hierarchy
|
||||
+ Tejun Heo <tj@kernel.org>
|
||||
+
|
||||
+[4] http://lkml.kernel.org/r/20160407064549.GH3430@twins.programming.kicks-ass.net
|
||||
+ Re: [PATCHSET RFC cgroup/for-4.6] cgroup, sched: implement resource group and PRIO_RGRP
|
||||
+ Peter Zijlstra <peterz@infradead.org>
|
||||
+
|
||||
+[5] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/cgroup-v2.txt
|
||||
+ Control Group v2
|
||||
+ Tejun Heo <tj@kernel.org>
|
||||
+
|
||||
+[6] http://lkml.kernel.org/r/CAPM31RJNy3jgG=DYe6GO=wyL4BPPxwUm1f2S6YXacQmo7viFZA@mail.gmail.com
|
||||
+ Re: [PATCH 3/3] sched: Implement interface for cgroup unified hierarchy
|
||||
+ Paul Turner <pjt@google.com>
|
||||
+
|
||||
+[7] http://lkml.kernel.org/r/20160105154503.GC5995@mtj.duckdns.org
|
||||
+ [RFD] cgroup: thread granularity support for cpu controller
|
||||
+ Tejun Heo <tj@kernel.org>
|
||||
+
|
||||
+[8] http://lkml.kernel.org/r/1457710888-31182-1-git-send-email-tj@kernel.org
|
||||
+ [PATCHSET RFC cgroup/for-4.6] cgroup, sched: implement resource group and PRIO_RGRP
|
||||
+ Tejun Heo <tj@kernel.org>
|
||||
+
|
||||
+[9] http://lkml.kernel.org/r/20160311160522.GA24046@htj.duckdns.org
|
||||
+ Example program for PRIO_RGRP
|
||||
+ Tejun Heo <tj@kernel.org>
|
||||
+
|
||||
+[10] http://lkml.kernel.org/r/20160407082810.GN3430@twins.programming.kicks-ass.net
|
||||
+ Re: [PATCHSET RFC cgroup/for-4.6] cgroup, sched: implement resource
|
||||
+ Peter Zijlstra <peterz@infradead.org>
|
@ -1,12 +0,0 @@
|
||||
{ buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.9.332";
|
||||
extraMeta.branch = "4.9";
|
||||
extraMeta.broken = stdenv.isAarch64;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "1kiqa9kw4932n5qglkyymsrak849wbbszw9rnq1aygmdinjz4c8i";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "routinator";
|
||||
version = "0.11.3";
|
||||
version = "0.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NLnetLabs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-zQ68PN3CbLx6Z84jFeuAck6mzp9f3sbALgVqssecsUU=";
|
||||
sha256 = "sha256-anc2nFZXYO0Ab5xwDasXGw8/SluNt15C6pRmQfUJVDs=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-M8JO4E8TwLbPGdwslO2Uw+ooAJkIoyc1t1wgxw8CFF0=";
|
||||
cargoSha256 = "sha256-EyrQR9gevInCI4kBZvUW5U9FrE0ZHbRUFyLKVZefKEE=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ Security ];
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ lib, stdenv
|
||||
, buildPackages
|
||||
, fetchurl
|
||||
, wafHook
|
||||
, pkg-config
|
||||
, bison
|
||||
, flex
|
||||
@ -46,11 +45,11 @@ with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "samba";
|
||||
version = "4.15.9";
|
||||
version = "4.17.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-loKixxwv8lOqJ8uwEmDqyJf/YlzznbIO4yBz5Thv4hk=";
|
||||
hash = "sha256-5V3fTVF4+MhDFqv1PF7dezU5njt9hry4G3UmHIJ7s7g=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "man" ];
|
||||
@ -60,17 +59,16 @@ stdenv.mkDerivation rec {
|
||||
./patch-source3__libads__kerberos_keytab.c.patch
|
||||
./4.x-no-persistent-install-dynconfig.patch
|
||||
./4.x-fix-makeflags-parsing.patch
|
||||
./build-find-pre-built-heimdal-build-tools-in-case-of-.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3Packages.python
|
||||
wafHook
|
||||
pkg-config
|
||||
bison
|
||||
flex
|
||||
perl
|
||||
perl.pkgs.ParseYapp
|
||||
perl.pkgs.JSON
|
||||
libxslt
|
||||
buildPackages.stdenv.cc
|
||||
heimdal
|
||||
@ -108,8 +106,6 @@ stdenv.mkDerivation rec {
|
||||
++ optional enableAcl acl
|
||||
++ optional enablePam pam;
|
||||
|
||||
wafPath = "buildtools/bin/waf";
|
||||
|
||||
postPatch = ''
|
||||
# Removes absolute paths in scripts
|
||||
sed -i 's,/sbin/,,g' ctdb/config/functions
|
||||
@ -124,7 +120,7 @@ stdenv.mkDerivation rec {
|
||||
export PKGCONFIG="$PKG_CONFIG"
|
||||
'';
|
||||
|
||||
wafConfigureFlags = [
|
||||
configureFlags = [
|
||||
"--with-static-modules=NONE"
|
||||
"--with-shared-modules=ALL"
|
||||
"--enable-fhs"
|
||||
|
@ -1,95 +0,0 @@
|
||||
From f3f98c6ecc6febd8e79696672668e33d11fc19cb Mon Sep 17 00:00:00 2001
|
||||
From: Pascal Bach <pascal.bach@nextrem.ch>
|
||||
Date: Wed, 22 Sep 2021 09:42:42 +0200
|
||||
Subject: [PATCH] build: find pre-built heimdal build tools in case of embedded
|
||||
heimdal
|
||||
|
||||
This patch fixes the case of finding asn1_compile and compile_et for
|
||||
building embedded heimdal, by setting
|
||||
--bundled-libraries='!asn1_compile,!compile_et' as configure flags.
|
||||
|
||||
The Heimdal build tools compile_et and asn1_compile are needed *only*
|
||||
if we use the embedded heimdal (otherwise we don't build heimdal and
|
||||
use headers that have been generated by those tools elsewhere).
|
||||
|
||||
For cross-compilation with embedded heimdal, it is vital to use host build
|
||||
tools, and so asn1_compile and compile_et must be supplied and not
|
||||
built. One way of doing this would be to set the COMPILE_ET and
|
||||
ASN1_COMPILE env vars to the location of supplied binaries. Another way,
|
||||
which is more commonly used, is to exclude asn1_compile and compile_et
|
||||
from bundled packages via the switch
|
||||
-bundled-libraries='!asn1_compile,!compile_et'. When this is done,
|
||||
the build script searches the path for those tools and sets the
|
||||
ASN1_COMPILE and COMPILE_ET vars accordingly. (this is admittedly
|
||||
kind of a round-about way of doing things but this has become the
|
||||
de-facto standard amongst embedded distro builders).
|
||||
|
||||
In commit 8061983d4882f3ba3f12da71443b035d7b672eec, this process of
|
||||
finding the binaris has been moved to be carried out only in the
|
||||
system heimdal case. As explained above, we only need these tools,
|
||||
and hence the check, in bundled mode.
|
||||
|
||||
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14164
|
||||
|
||||
Signed-off-by: Uri Simchoni <uri@samba.org>
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
[Bachp: rebased for version 4.15.0]
|
||||
|
||||
# Conflicts:
|
||||
# wscript_configure_system_heimdal
|
||||
---
|
||||
wscript_configure_embedded_heimdal | 11 +++++++++++
|
||||
wscript_configure_system_heimdal | 11 -----------
|
||||
2 files changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/wscript_configure_embedded_heimdal b/wscript_configure_embedded_heimdal
|
||||
index 1c7801f705e..edcab15a88e 100644
|
||||
--- a/wscript_configure_embedded_heimdal
|
||||
+++ b/wscript_configure_embedded_heimdal
|
||||
@@ -6,3 +6,14 @@ if not conf.env['BISON']:
|
||||
|
||||
conf.define('USING_EMBEDDED_HEIMDAL', 1)
|
||||
conf.RECURSE('source4/heimdal_build')
|
||||
+
|
||||
+def check_system_heimdal_binary(name):
|
||||
+ if conf.LIB_MAY_BE_BUNDLED(name):
|
||||
+ return False
|
||||
+ if not conf.find_program(name, var=name.upper()):
|
||||
+ return False
|
||||
+ conf.define('USING_SYSTEM_%s' % name.upper(), 1)
|
||||
+ return True
|
||||
+
|
||||
+check_system_heimdal_binary("compile_et")
|
||||
+check_system_heimdal_binary("asn1_compile")
|
||||
diff --git a/wscript_configure_system_heimdal b/wscript_configure_system_heimdal
|
||||
index 67d8804d0ff..20aee31aac7 100644
|
||||
--- a/wscript_configure_system_heimdal
|
||||
+++ b/wscript_configure_system_heimdal
|
||||
@@ -37,14 +37,6 @@ def check_system_heimdal_lib(name, functions='', headers='', onlyif=None):
|
||||
conf.define('USING_SYSTEM_%s' % name.upper(), 1)
|
||||
return True
|
||||
|
||||
-def check_system_heimdal_binary(name):
|
||||
- if conf.LIB_MAY_BE_BUNDLED(name):
|
||||
- return False
|
||||
- if not conf.find_program(name, var=name.upper()):
|
||||
- return False
|
||||
- conf.define('USING_SYSTEM_%s' % name.upper(), 1)
|
||||
- return True
|
||||
-
|
||||
check_system_heimdal_lib("com_err", "com_right_r com_err", "com_err.h")
|
||||
|
||||
if check_system_heimdal_lib("roken", "rk_socket_set_reuseaddr", "roken.h"):
|
||||
@@ -96,9 +88,6 @@ finally:
|
||||
#if conf.CHECK_BUNDLED_SYSTEM('tommath', checkfunctions='mp_init', headers='tommath.h'):
|
||||
# conf.define('USING_SYSTEM_TOMMATH', 1)
|
||||
|
||||
-check_system_heimdal_binary("compile_et")
|
||||
-check_system_heimdal_binary("asn1_compile")
|
||||
-
|
||||
conf.env.KRB5_VENDOR = 'heimdal'
|
||||
conf.define('USING_SYSTEM_KRB5', 1)
|
||||
conf.define('USING_SYSTEM_HEIMDAL', 1)
|
||||
--
|
||||
2.33.0
|
||||
|
@ -61,6 +61,6 @@ rustPlatform.buildRustPackage rec {
|
||||
homepage = "https://github.com/ducaale/xh";
|
||||
changelog = "https://github.com/ducaale/xh/blob/v${version}/CHANGELOG.md";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ payas SuperSandro2000 ];
|
||||
maintainers = with maintainers; [ payas ];
|
||||
};
|
||||
}
|
||||
|
@ -1,36 +1,31 @@
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, efivar, popt }:
|
||||
{ lib, stdenv, fetchFromGitHub, pkg-config, efivar, popt }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "efibootmgr";
|
||||
version = "17";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ efivar popt ];
|
||||
version = "18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rhboot";
|
||||
repo = "efibootmgr";
|
||||
rev = version;
|
||||
sha256 = "1niicijxg59rsmiw3rsjwy4bvi1n42dynvm01lnp9haixdzdpq03";
|
||||
hash = "sha256-DYYQGALEn2+mRHgqCJsA7OQCF7xirIgQlWexZ9uoKcg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "remove-extra-decl.patch";
|
||||
url = "https://github.com/rhboot/efibootmgr/commit/99b578501643377e0b1994b2a068b790d189d5ad.patch";
|
||||
sha256 = "1sbijvlpv4khkix3vix9mbhzffj8lp8zpnbxm9gnzjz8yssz9p5h";
|
||||
})
|
||||
];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
makeFlags = [ "EFIDIR=nixos" "PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config" ];
|
||||
buildInputs = [ efivar popt ];
|
||||
|
||||
makeFlags = [
|
||||
"EFIDIR=nixos"
|
||||
"PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config"
|
||||
];
|
||||
|
||||
installFlags = [ "prefix=$(out)" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Linux user-space application to modify the Intel Extensible Firmware Interface (EFI) Boot Manager";
|
||||
homepage = "https://github.com/rhboot/efibootmgr";
|
||||
license = licenses.gpl2;
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
@ -1,8 +1,8 @@
|
||||
{ lib, stdenv, buildPackages, fetchFromGitHub, fetchurl, pkg-config, popt }:
|
||||
{ lib, stdenv, buildPackages, fetchFromGitHub, pkg-config, popt, mandoc }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "efivar";
|
||||
version = "37";
|
||||
version = "38";
|
||||
|
||||
outputs = [ "bin" "out" "dev" "man" ];
|
||||
|
||||
@ -10,42 +10,10 @@ stdenv.mkDerivation rec {
|
||||
owner = "rhinstaller";
|
||||
repo = "efivar";
|
||||
rev = version;
|
||||
sha256 = "1z2dw5x74wgvqgd8jvibfff0qhwkc53kxg54v12pzymyibagwf09";
|
||||
hash = "sha256-A38BKGMK3Vo+85wzgxmzTjzZXtpcY9OpbZaONWnMYNk=";
|
||||
};
|
||||
patches = [
|
||||
(fetchurl {
|
||||
name = "r13y.patch";
|
||||
url = "https://patch-diff.githubusercontent.com/raw/rhboot/efivar/pull/133.patch";
|
||||
sha256 = "038cwldb8sqnal5l6mhys92cqv8x7j8rgsl8i4fiv9ih9znw26i6";
|
||||
})
|
||||
(fetchurl {
|
||||
name = "fix-misaligned-pointer.patch";
|
||||
url = "https://github.com/rhboot/efivar/commit/b98ba8921010d03f46704a476c69861515deb1ca.patch";
|
||||
sha256 = "0ni9mz7y40a2wf1d1q5n9y5dhcbydxvfdhqic7zsmgnaxs3a0p27";
|
||||
})
|
||||
(fetchurl {
|
||||
name = "fix-gcc9-error.patch";
|
||||
url = "https://github.com/rhboot/efivar/commit/c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch";
|
||||
sha256 = "0lc38npydp069nlcga25wzzm204ww9l6mpjfn6wmhdfhn0pgjwky";
|
||||
})
|
||||
(fetchurl {
|
||||
name = "remove_unused_variable.patch";
|
||||
url = "https://github.com/rhboot/efivar/commit/fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch";
|
||||
sha256 = "1xhy8v8ff9lyxb830n9hci2fbh7rfps6rwsqrjh4lw7316gwllsd";
|
||||
})
|
||||
(fetchurl {
|
||||
name = "check_string_termination.patch";
|
||||
url = "https://github.com/rhboot/efivar/commit/4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch";
|
||||
sha256 = "1ajj11wwsvamfspq4naanvw08h63gr0g71q0dfbrrywrhc0jlmdw";
|
||||
})
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-Wno-error=stringop-truncation"
|
||||
"-flto-partition=none"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
nativeBuildInputs = [ pkg-config mandoc ];
|
||||
buildInputs = [ popt ];
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
|
||||
@ -62,6 +30,6 @@ stdenv.mkDerivation rec {
|
||||
inherit (src.meta) homepage;
|
||||
description = "Tools and library to manipulate EFI variables";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.lgpl21;
|
||||
license = licenses.lgpl21Only;
|
||||
};
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, gtest
|
||||
, cudatoolkit
|
||||
@ -10,6 +9,7 @@
|
||||
, addOpenGLRunpath
|
||||
, amd ? true
|
||||
, nvidia ? true
|
||||
, udev
|
||||
}:
|
||||
|
||||
let
|
||||
@ -25,13 +25,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nvtop" + pname-suffix;
|
||||
version = "2.0.4";
|
||||
version = "3.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Syllo";
|
||||
repo = "nvtop";
|
||||
rev = version;
|
||||
sha256 = "sha256-WOXVmKnVNRjWqShbOUZ0Z4hd0m9njLmCGLnV9FBS3Us=";
|
||||
hash = "sha256-vLvt2sankpQWAVZBPo3OePs4LDy7YfVnMkZLfN6ERAc=";
|
||||
};
|
||||
|
||||
cmakeFlags = with lib; [
|
||||
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
||||
++ optional amd "-DLibdrm_INCLUDE_DIRS=${libdrm}/lib/stubs/libdrm.so.2"
|
||||
;
|
||||
nativeBuildInputs = [ cmake gtest ] ++ lib.optional nvidia addOpenGLRunpath;
|
||||
buildInputs = with lib; [ ncurses ]
|
||||
buildInputs = with lib; [ ncurses udev ]
|
||||
++ optional nvidia cudatoolkit
|
||||
++ optional amd libdrm
|
||||
;
|
||||
@ -55,14 +55,15 @@ stdenv.mkDerivation rec {
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A (h)top like task monitor for AMD and NVIDIA GPUs";
|
||||
description = "A (h)top like task monitor for AMD, Intel and NVIDIA GPUs";
|
||||
longDescription = ''
|
||||
Nvtop stands for Neat Videocard TOP, a (h)top like task monitor for AMD and NVIDIA GPUs. It can handle multiple GPUs and print information about them in a htop familiar way.
|
||||
Nvtop stands for Neat Videocard TOP, a (h)top like task monitor for AMD, Intel and NVIDIA GPUs. It can handle multiple GPUs and print information about them in a htop familiar way.
|
||||
'';
|
||||
homepage = "https://github.com/Syllo/nvtop";
|
||||
license = licenses.gpl3;
|
||||
changelog = "https://github.com/Syllo/nvtop/releases/tag/${version}";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ willibutz gbtb ];
|
||||
maintainers = with maintainers; [ willibutz gbtb anthonyroussel ];
|
||||
mainProgram = "nvtop";
|
||||
};
|
||||
}
|
||||
|
@ -802,11 +802,9 @@ mapAliases ({
|
||||
linux-rt_5_4 = linuxKernel.kernels.linux_rt_5_4;
|
||||
linuxPackages_4_14 = linuxKernel.packages.linux_4_14;
|
||||
linuxPackages_4_19 = linuxKernel.packages.linux_4_19;
|
||||
linuxPackages_4_4 = linuxKernel.packages.linux_4_4;
|
||||
linuxPackages_4_9 = linuxKernel.packages.linux_4_9;
|
||||
linuxPackages_5_10 = linuxKernel.packages.linux_5_10;
|
||||
linuxPackages_5_15 = linuxKernel.packages.linux_5_15;
|
||||
linuxPackages_5_16 = linuxKernel.packages.linux_5_16;
|
||||
linuxPackages_5_17 = linuxKernel.packages.linux_5_17;
|
||||
linuxPackages_5_18 = linuxKernel.packages.linux_5_18;
|
||||
linuxPackages_5_19 = linuxKernel.packages.linux_5_19;
|
||||
@ -823,11 +821,9 @@ mapAliases ({
|
||||
linuxPackages_rt_5_4 = linuxKernel.packages.linux_rt_5_4;
|
||||
linux_4_14 = linuxKernel.kernels.linux_4_14;
|
||||
linux_4_19 = linuxKernel.kernels.linux_4_19;
|
||||
linux_4_4 = linuxKernel.kernels.linux_4_4;
|
||||
linux_4_9 = linuxKernel.kernels.linux_4_9;
|
||||
linux_5_10 = linuxKernel.kernels.linux_5_10;
|
||||
linux_5_15 = linuxKernel.kernels.linux_5_15;
|
||||
linux_5_16 = linuxKernel.kernels.linux_5_16;
|
||||
linux_5_17 = linuxKernel.kernels.linux_5_17;
|
||||
linux_5_18 = linuxKernel.kernels.linux_5_18;
|
||||
linux_5_19 = linuxKernel.kernels.linux_5_19;
|
||||
|
@ -4866,6 +4866,10 @@ with pkgs;
|
||||
|
||||
simg2img = callPackage ../tools/filesystems/simg2img { };
|
||||
|
||||
smokegen = callPackage ../development/libraries/smokegen {};
|
||||
|
||||
smokeqt = callPackage ../development/libraries/smokeqt {};
|
||||
|
||||
snazy = callPackage ../development/tools/snazy { };
|
||||
|
||||
snippetpixie = callPackage ../tools/text/snippetpixie { };
|
||||
@ -25009,7 +25013,9 @@ with pkgs;
|
||||
|
||||
htop-vim = callPackage ../tools/system/htop/htop-vim.nix { };
|
||||
|
||||
humility = callPackage ../development/tools/rust/humility {};
|
||||
humility = callPackage ../development/tools/rust/humility {
|
||||
inherit (darwin.apple_sdk.frameworks) AppKit;
|
||||
};
|
||||
|
||||
btop = callPackage ../tools/system/btop {
|
||||
stdenv = gcc11Stdenv;
|
||||
@ -30070,6 +30076,8 @@ with pkgs;
|
||||
inherit (ocaml-ng.ocamlPackages_4_09) ocaml;
|
||||
};
|
||||
|
||||
lls = callPackage ../applications/networking/lls { };
|
||||
|
||||
lmms = libsForQt5.callPackage ../applications/audio/lmms {
|
||||
lame = null;
|
||||
libsoundio = null;
|
||||
@ -31751,6 +31759,8 @@ with pkgs;
|
||||
|
||||
semiphemeral = callPackage ../tools/misc/semiphemeral { };
|
||||
|
||||
semver = callPackage ../applications/misc/semver { };
|
||||
|
||||
sent = callPackage ../applications/misc/sent { };
|
||||
|
||||
seq24 = callPackage ../applications/audio/seq24 { };
|
||||
|
@ -93,16 +93,7 @@ in {
|
||||
rpiVersion = 4;
|
||||
};
|
||||
|
||||
linux_4_4 = throw "linux 4.4 was removed because it reached its end of life upstream";
|
||||
|
||||
linux_4_9 = callPackage ../os-specific/linux/kernel/linux-4.9.nix {
|
||||
kernelPatches =
|
||||
[ kernelPatches.bridge_stp_helper
|
||||
kernelPatches.request_key_helper_updated
|
||||
kernelPatches.cpu-cgroup-v2."4.9"
|
||||
kernelPatches.modinst_arg_list_too_long
|
||||
];
|
||||
};
|
||||
linux_4_9 = throw "linux 4.9 was removed because it will reach its end of life within 22.11";
|
||||
|
||||
linux_4_14 = callPackage ../os-specific/linux/kernel/linux-4.14.nix {
|
||||
kernelPatches =
|
||||
@ -160,8 +151,6 @@ in {
|
||||
];
|
||||
};
|
||||
|
||||
linux_5_16 = throw "linux 5.16 was removed because it has reached its end of life upstream";
|
||||
|
||||
linux_5_17 = throw "linux 5.17 was removed because it has reached its end of life upstream";
|
||||
|
||||
linux_5_18 = throw "linux 5.18 was removed because it has reached its end of life upstream";
|
||||
@ -518,14 +507,12 @@ in {
|
||||
|
||||
vanillaPackages = {
|
||||
# recurse to build modules for the kernels
|
||||
linux_4_4 = throw "linux 4.4 was removed because it reached its end of life upstream"; # Added 2022-02-11
|
||||
linux_4_9 = recurseIntoAttrs (packagesFor kernels.linux_4_9);
|
||||
linux_4_9 = throw "linux 4.9 was removed because it will reach its end of life within 22.11"; # Added 2022-11-08
|
||||
linux_4_14 = recurseIntoAttrs (packagesFor kernels.linux_4_14);
|
||||
linux_4_19 = recurseIntoAttrs (packagesFor kernels.linux_4_19);
|
||||
linux_5_4 = recurseIntoAttrs (packagesFor kernels.linux_5_4);
|
||||
linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10);
|
||||
linux_5_15 = recurseIntoAttrs (packagesFor kernels.linux_5_15);
|
||||
linux_5_16 = throw "linux 5.16 was removed because it reached its end of life upstream"; # Added 2022-04-23
|
||||
linux_5_17 = throw "linux 5.17 was removed because it reached its end of life upstream"; # Added 2022-06-23
|
||||
linux_5_18 = throw "linux 5.18 was removed because it reached its end of life upstream"; # Added 2022-09-17
|
||||
linux_5_19 = throw "linux 5.19 was removed because it reached its end of life upstream"; # Added 2022-11-01
|
||||
|
@ -26137,13 +26137,13 @@ let
|
||||
|
||||
Tirex = buildPerlPackage rec {
|
||||
pname = "Tirex";
|
||||
version = "0.6.1";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openstreetmap";
|
||||
repo = "tirex";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-8GXhF2v04ZSF0h0WNKPp4bgYcvPYCml6HtCbikFxUzc=";
|
||||
hash = "sha256-0QbPfCPBdNBbUiZ8Ppg2zao98+Ddl3l+yX6y1/J50rg=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
@ -26158,6 +26158,7 @@ let
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
install -m 755 -d $out/usr/libexec
|
||||
make install DESTDIR=$out INSTALLOPTS=""
|
||||
mv $out/$out/lib $out/$out/share $out
|
||||
rmdir $out/$out $out/nix/store $out/nix
|
||||
|
Loading…
Reference in New Issue
Block a user