Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-03-11 18:01:53 +00:00 committed by GitHub
commit 06e5eb63d3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
126 changed files with 837 additions and 325 deletions

View file

@ -17198,6 +17198,12 @@
githubId = 8534888;
name = "Savanni D'Gerinel";
};
savedra1 = {
email = "michaelsavedra@gmail.com";
github = "savedra1";
githubId = 99875823;
name = "Michael Savedra";
};
savyajha = {
email = "savya.jha@hawkradius.com";
github = "savyajha";
@ -18123,6 +18129,12 @@
githubId = 55726;
name = "Stanislav Ochotnický";
};
sodiboo = {
name = "sodiboo";
github = "sodiboo";
githubId = 37938646;
matrix = "@sodiboo:arcticfoxes.net";
};
softinio = {
email = "code@softinio.com";
github = "softinio";

View file

@ -93,6 +93,7 @@ CROSS_TARGETS=(
mips64el-unknown-linux-gnuabi64
mips64el-unknown-linux-gnuabin32
mipsel-unknown-linux-gnu
powerpc64-unknown-linux-gnuabielfv2
powerpc64le-unknown-linux-gnu
riscv64-unknown-linux-gnu
)

View file

@ -107,10 +107,25 @@ in
wants = [ "network-online.target" ];
after = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
# lldap defaults to a hardcoded `jwt_secret` value if none is provided, which is bad, because
# an attacker could create a valid admin jwt access token fairly trivially.
# Because there are 3 different ways `jwt_secret` can be provided, we check if any one of them is present,
# and if not, bootstrap a secret in `/var/lib/lldap/jwt_secret_file` and give that to lldap.
script = lib.optionalString (!cfg.settings ? jwt_secret) ''
if [[ -z "$LLDAP_JWT_SECRET_FILE" ]] && [[ -z "$LLDAP_JWT_SECRET" ]]; then
if [[ ! -e "./jwt_secret_file" ]]; then
${lib.getExe pkgs.openssl} rand -base64 -out ./jwt_secret_file 32
fi
export LLDAP_JWT_SECRET_FILE="./jwt_secret_file"
fi
'' + ''
${lib.getExe cfg.package} run --config-file ${format.generate "lldap_config.toml" cfg.settings}
'';
serviceConfig = {
ExecStart = "${lib.getExe cfg.package} run --config-file ${format.generate "lldap_config.toml" cfg.settings}";
StateDirectory = "lldap";
StateDirectoryMode = "0750";
WorkingDirectory = "%S/lldap";
UMask = "0027";
User = "lldap";
Group = "lldap";
DynamicUser = true;

View file

@ -452,6 +452,7 @@ in
And if you edit a declarative profile NetworkManager will move it to the persistent storage and treat it like a ad-hoc one,
but there will be two profiles as soon as the systemd unit from this option runs again which can be confusing since NetworkManager tools will start displaying two profiles with the same name and probably a bit different settings depending on what you edited.
A profile won't be deleted even if it's removed from the config until the system reboots because that's when NetworkManager clears it's temp directory.
If `networking.resolvconf.enable` is true, attributes affecting the name resolution (such as `ignore-auto-dns`) may not end up changing `/etc/resolv.conf` as expected when other name services (for example `networking.dhcpcd`) are enabled. Run `resolvconf -l` in the terminal to see what each service produces.
'';
};
environmentFiles = mkOption {

View file

@ -76,12 +76,13 @@ in {
checkconf = mkOption {
type = types.bool;
default = !cfg.settings ? include;
defaultText = "!config.services.unbound.settings ? include";
default = !cfg.settings ? include && !cfg.settings ? remote-control;
defaultText = "!services.unbound.settings ? include && !services.unbound.settings ? remote-control";
description = lib.mdDoc ''
Wether to check the resulting config file with unbound checkconf for syntax errors.
If settings.include is used, then this options is disabled, as the import can likely not be resolved at build time.
If settings.include is used, this options is disabled, as the import can likely not be accessed at build time.
If settings.remote-control is used, this option is disabled, too as the control-key-file, server-cert-file and server-key-file cannot be accessed at build time.
'';
};

View file

@ -4,49 +4,33 @@ let
cfg = config.services.esdm;
in
{
imports = [
# removed option 'services.esdm.cuseRandomEnable'
(lib.mkRemovedOptionModule [ "services" "esdm" "cuseRandomEnable" ] ''
Use services.esdm.enableLinuxCompatServices instead.
'')
# removed option 'services.esdm.cuseUrandomEnable'
(lib.mkRemovedOptionModule [ "services" "esdm" "cuseUrandomEnable" ] ''
Use services.esdm.enableLinuxCompatServices instead.
'')
# removed option 'services.esdm.procEnable'
(lib.mkRemovedOptionModule [ "services" "esdm" "procEnable" ] ''
Use services.esdm.enableLinuxCompatServices instead.
'')
# removed option 'services.esdm.verbose'
(lib.mkRemovedOptionModule [ "services" "esdm" "verbose" ] ''
There is no replacement.
'')
];
options.services.esdm = {
enable = lib.mkEnableOption (lib.mdDoc "ESDM service configuration");
package = lib.mkPackageOption pkgs "esdm" { };
serverEnable = lib.mkOption {
enableLinuxCompatServices = lib.mkOption {
type = lib.types.bool;
default = true;
description = lib.mdDoc ''
Enable option for ESDM server service. If serverEnable == false, then the esdm-server
will not start. Also the subsequent services esdm-cuse-random, esdm-cuse-urandom
and esdm-proc will not start as these have the entry Want=esdm-server.service.
'';
};
cuseRandomEnable = lib.mkOption {
type = lib.types.bool;
default = true;
description = lib.mdDoc ''
Enable option for ESDM cuse-random service. Determines if the esdm-cuse-random.service
is started.
'';
};
cuseUrandomEnable = lib.mkOption {
type = lib.types.bool;
default = true;
description = lib.mdDoc ''
Enable option for ESDM cuse-urandom service. Determines if the esdm-cuse-urandom.service
is started.
'';
};
procEnable = lib.mkOption {
type = lib.types.bool;
default = true;
description = lib.mdDoc ''
Enable option for ESDM proc service. Determines if the esdm-proc.service
is started.
'';
};
verbose = lib.mkOption {
type = lib.types.bool;
default = false;
description = lib.mdDoc ''
Enable verbose ExecStart for ESDM. If verbose == true, then the corresponding "ExecStart"
values of the 4 aforementioned services are overwritten with the option
for the highest verbosity.
Enable /dev/random, /dev/urandom and /proc/sys/kernel/random/* userspace wrapper.
'';
};
};
@ -55,46 +39,13 @@ in
lib.mkMerge [
({
systemd.packages = [ cfg.package ];
systemd.services."esdm-server".wantedBy = [ "basic.target" ];
})
# It is necessary to set those options for these services to be started by systemd in NixOS
(lib.mkIf cfg.serverEnable {
systemd.services."esdm-server".wantedBy = [ "basic.target" ];
systemd.services."esdm-server".serviceConfig = lib.mkIf cfg.verbose {
ExecStart = [
" " # unset previous value defined in 'esdm-server.service'
"${cfg.package}/bin/esdm-server -f -vvvvvv"
];
};
})
(lib.mkIf cfg.cuseRandomEnable {
systemd.services."esdm-cuse-random".wantedBy = [ "basic.target" ];
systemd.services."esdm-cuse-random".serviceConfig = lib.mkIf cfg.verbose {
ExecStart = [
" " # unset previous value defined in 'esdm-cuse-random.service'
"${cfg.package}/bin/esdm-cuse-random -f -v 6"
];
};
})
(lib.mkIf cfg.cuseUrandomEnable {
systemd.services."esdm-cuse-urandom".wantedBy = [ "basic.target" ];
systemd.services."esdm-cuse-urandom".serviceConfig = lib.mkIf cfg.verbose {
ExecStart = [
" " # unset previous value defined in 'esdm-cuse-urandom.service'
"${config.services.esdm.package}/bin/esdm-cuse-urandom -f -v 6"
];
};
})
(lib.mkIf cfg.procEnable {
systemd.services."esdm-proc".wantedBy = [ "basic.target" ];
systemd.services."esdm-proc".serviceConfig = lib.mkIf cfg.verbose {
ExecStart = [
" " # unset previous value defined in 'esdm-proc.service'
"${cfg.package}/bin/esdm-proc --relabel -f -o allow_other /proc/sys/kernel/random -v 6"
];
};
(lib.mkIf cfg.enableLinuxCompatServices {
systemd.targets."esdm-linux-compat".wantedBy = [ "basic.target" ];
systemd.services."esdm-server-suspend".wantedBy = [ "sleep.target" "suspend.target" "hibernate.target" ];
systemd.services."esdm-server-resume".wantedBy = [ "sleep.target" "suspend.target" "hibernate.target" ];
})
]);

View file

@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "schismtracker";
version = "20240129";
version = "20240308";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "sha256-msi638LQM0LPfUineINRW8l8BcPKIeRBEDtV5L6anGk=";
sha256 = "sha256-6MzMmeD4HCS/7VTFTAcOhyKjz5NvzvDEzcSpHGUwFvM=";
};
configureFlags = [ "--enable-dependency-tracking" ]

View file

@ -20,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "gridcoin-research";
version = "5.4.5.0";
version = "5.4.6.0-hotfix-1";
src = fetchFromGitHub {
owner = "gridcoin-community";
repo = "Gridcoin-Research";
rev = "${version}";
sha256 = "1a174m7821c7d3yh9lyh0r3ds6qn06x16aa1qxcbrqyxxc127yky";
sha256 = "sha256-fFxHJJ+EMnv0CterTwJbAfybF9WCzaSP7ynlxx2hE5A=";
};
nativeBuildInputs = [

View file

@ -996,7 +996,7 @@
spectre_oxi = rustPlatform.buildRustPackage {
pname = "spectre_oxi";
inherit (old) version src;
sourceRoot = "source/spectre_oxi";
sourceRoot = "${old.src.name}/spectre_oxi";
cargoHash = "sha256-gCGuD5kipgfR0Le8npNmyBxNsUq0PavXvKkxkiPx13E=";

View file

@ -3228,6 +3228,22 @@ let
meta.license = lib.licenses.mit;
};
redhat.ansible = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "ansible";
publisher = "redhat";
version = "2.12.143";
sha256 = "sha256-NEV7sVYJJvapZjk5sylkzijH8qLZ7xzmBzHI7qcj2Ok=";
};
meta = {
description = "Ansible language support";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=redhat.ansible";
homepage = "https://github.com/ansible/vscode-ansible";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.themaxmur ];
};
};
redhat.java = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "java";

View file

@ -14,7 +14,7 @@ let
qtnproperty = mkDerivation {
name = "qtnproperty";
inherit src;
sourceRoot = "AwesomeBump/Sources/utils/QtnProperty";
sourceRoot = "${src.name}/Sources/utils/QtnProperty";
patches = [ ./qtnproperty-parallel-building.patch ];
buildInputs = [ qtscript qtbase qtdeclarative ];
nativeBuildInputs = [ qmake flex bison ];

View file

@ -3,6 +3,7 @@
, fetchFromGitHub
, qtbase
, qtsvg
, qtwayland
, qtwebengine
, qtdeclarative
, extra-cmake-modules
@ -46,6 +47,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
qtbase
qtsvg
qtwayland
cpp-utilities
qtutilities
boost

View file

@ -3,16 +3,16 @@
buildGoModule rec {
pname = "discordo";
version = "unstable-2024-03-03";
version = "unstable-2024-03-07";
src = fetchFromGitHub {
owner = "ayn2op";
repo = pname;
rev = "ce2091d566f2d999d83b3c9463860b73f1d163ae";
hash = "sha256-71i/8t768RtD0Gk2cpSdznERSNf1gErQrrOGYiZz05g=";
rev = "23cb3a146a8567526b35807c6f16120163c40f98";
hash = "sha256-1ov9SEyXdRTg9HEN2ASC5QY8ZKlWDdrc9TCMfFHIhCc=";
};
vendorHash = "sha256-dBJYTe8aZtNuBwmcpXb3OEHoLVCa/GbGExLIRc8cVbo=";
vendorHash = "sha256-6pCQHr/O2pfR1v8YI+htwGZ8RFStEEUctIEpgblXvjY=";
CGO_ENABLED = 0;

View file

@ -64,7 +64,7 @@ in
pname = "${pname}-pnpm-deps";
inherit src version;
sourceRoot = "source/gephgui-wry/gephgui";
sourceRoot = "${src.name}/gephgui-wry/gephgui";
nativeBuildInputs = [
jq
@ -95,7 +95,7 @@ in
pname = "gephgui-wry";
inherit version src;
sourceRoot = "source/gephgui-wry";
sourceRoot = "${src.name}/gephgui-wry";
cargoLock = {
lockFile = ./Cargo.lock;

View file

@ -13,7 +13,7 @@ let
pname = "localsend";
version = "1.14.0";
linux = flutter313.buildFlutterApplication {
linux = flutter313.buildFlutterApplication rec {
inherit pname version;
src = fetchFromGitHub {
@ -23,7 +23,7 @@ let
hash = "sha256-CO0uFcZnOfE31EZxRUpgtod3+1lyXPpbytHB45DEM98=";
};
sourceRoot = "source/app";
sourceRoot = "${src.name}/app";
pubspecLock = lib.importJSON ./pubspec.lock.json;
@ -59,7 +59,7 @@ let
passthru.updateScript = ./update.sh;
meta = meta // {
meta = metaCommon // {
mainProgram = "localsend_app";
};
};
@ -81,13 +81,13 @@ let
cp -r *.app $out/Applications
'';
meta = meta // {
meta = metaCommon // {
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
platforms = [ "x86_64-darwin" "aarch64-darwin" ];
};
};
meta = with lib; {
metaCommon = with lib; {
description = "An open source cross-platform alternative to AirDrop";
homepage = "https://localsend.org/";
license = licenses.mit;

View file

@ -16,11 +16,11 @@
stdenv.mkDerivation rec {
pname = "notmuch";
version = "0.38.2";
version = "0.38.3";
src = fetchurl {
url = "https://notmuchmail.org/releases/notmuch-${version}.tar.xz";
hash = "sha256-UoLr5HQrA+4A/Dq4NZaflNIpJ523IyESvcUAnYYelH4=";
hash = "sha256-mvRsyA2li0MByiuu/MJaQNES0DFVB+YywPPw8IMo0FQ=";
};
nativeBuildInputs = [

View file

@ -41,12 +41,12 @@
stdenv.mkDerivation rec {
pname = "zotero";
version = "6.0.30";
version = "6.0.35";
src = fetchurl {
url =
"https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
hash = "sha256-4XQZ1xw9Qtk3SzHMsEUk+HuIYtHDAOMgpwzbAd5QQpU=";
hash = "sha256-HAVLmamEPuFf0548/iEXes+f4XnQ7kU1u9hyOYhVyZ0=";
};
nativeBuildInputs = [ wrapGAppsHook ];

View file

@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "calcmysky";
version = "0.3.1";
version = "0.3.2";
src = fetchFromGitHub {
owner = "10110111";
repo = "CalcMySky";
rev = "refs/tags/v${version}";
hash = "sha256-oqYOXoIPVqCD3HL7ShNoF89W725hFHX0Ei/yVJNTS5I=";
hash = "sha256-AP6YkORbvH8PzF869s2OWbTwTfwMC+RLJx3V3BqVy88=";
};
nativeBuildInputs = [ cmake wrapQtAppsHook ];

View file

@ -20,10 +20,10 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-yguUMEX0tn75wKrPKyqlCYbBFaEwC5b1s3k9xept1Fw=";
};
sourceRoot =
if stdenv.isDarwin
then "source/build/mac/release"
else "source/build/linux/release";
sourceRoot = "${finalAttrs.src.name}/build/${
if stdenv.hostPlatform.isDarwin then "mac"
else "linux"
}/release";
buildInputs = [
boost'

View file

@ -27,7 +27,7 @@ let
inherit src version;
pname = "openrefine-npm";
sourceRoot = "source/main/webapp";
sourceRoot = "${src.name}/main/webapp";
npmDepsHash = "sha256-8GhcL4tohQ5u2HeYN6JyTMMobUOqAL8ETCLiP1SoDSk=";

View file

@ -25,7 +25,7 @@ mkDerivation rec {
sha256 = "sha256-G4KlYAjOT1UV29vcX7Q8dMTj0BX0rsJcLtK2MQag5nU=";
};
sourceRoot = "source/src";
sourceRoot = "${src.name}/src";
qmakeFlags = [ "PREFIX=${placeholder "out"}" "CONFIG+=unixvlc" ];

View file

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "ast-grep";
version = "0.19.3";
version = "0.19.4";
src = fetchFromGitHub {
owner = "ast-grep";
repo = "ast-grep";
rev = version;
hash = "sha256-nqKDBRH2/YsSmirxJ84BgUTLfgPzZ/EQxqy6Fa7Mfxs=";
hash = "sha256-hKqj3LVu/3ndGoZQYyH1yCm5vF0/Ck5bkTKjLIkcUys=";
};
cargoHash = "sha256-48ZVbRJkpMO+kJE5Kz96McjXhMtu4TzzjfyYdggNWkQ=";
cargoHash = "sha256-Fli97ANWHZvvBC6hImymELkpBqqrAOm006LROj3R3sM=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -17,7 +17,7 @@ buildGoModule rec {
ldflags = [ "-s" "-w" ];
sourceRoot = "source/c2FmZQ";
sourceRoot = "${src.name}/c2FmZQ";
vendorHash = "sha256-cTXSFwWGHV2QJM4mX/Z+ZxCXKwr+59lEPvJa/PTA1wU=";

View file

@ -0,0 +1,26 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "clipse";
version = "0.0.6";
src = fetchFromGitHub {
owner = "savedra1";
repo = "clipse";
rev = "v${version}";
hash = "sha256-DLvYTPlLkp98zCzmbeL68B7mHl7RY3ee9rL30vYm5Ow=";
};
vendorHash = "sha256-GIUEx4h3xvLySjBAQKajby2cdH8ioHkv8aPskHN0V+w=";
meta = {
description = "Useful clipboard manager TUI for Unix";
homepage = "https://github.com/savedra1/clipse";
license = lib.licenses.mit;
mainProgram = "clipse";
maintainers = [ lib.maintainers.savedra1 ];
};
}

View file

@ -0,0 +1,51 @@
{ lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, vala
, blueprint-compiler
, wrapGAppsHook4
, desktop-file-utils
, libadwaita
, libgee
, gtksourceview5
}:
stdenv.mkDerivation rec {
pname = "folio";
version = "24.05";
src = fetchFromGitHub {
owner = "toolstack";
repo = "Folio";
rev = version;
hash = "sha256-8FU7xYidKXtrSLVT9t+i0O8eYlUYIpq7rVU5Cm10CWE=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
vala
blueprint-compiler
wrapGAppsHook4
desktop-file-utils
];
buildInputs = [
libadwaita
libgee
gtksourceview5
];
meta = with lib; {
description = "A beautiful markdown note-taking app for GNOME (forked from Paper)";
homepage = "https://github.com/toolstack/Folio";
license = licenses.gpl3Only;
mainProgram = "com.toolstack.Folio";
maintainers = with maintainers; [ aleksana ];
platforms = platforms.unix;
};
}

View file

@ -35,7 +35,7 @@ in buildGoModule rec {
hash = "sha256-tQ35GZuw7Ag1YfmOUarVY45yk4yugNLJetEV4m2w3GE=";
};
sourceRoot = "source/caddy";
sourceRoot = "${src.name}/caddy";
# frankenphp requires C code that would be removed with `go mod tidy`
# https://github.com/golang/go/issues/26366

View file

@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "free42";
version = "3.1.4";
version = "3.1.5";
src = fetchFromGitHub {
owner = "thomasokken";
repo = "free42";
rev = "v${finalAttrs.version}";
hash = "sha256-XAYi4CBOx5KkqJyz6WkPlWC+bfbEReyaSv9SRCe6TDw=";
hash = "sha256-YFTmEyOd/r8Pbj+PzD+VYkkB0gqDJ4wteLBTdwa1qcE=";
};
nativeBuildInputs = [

View file

@ -0,0 +1,50 @@
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, libgit2
, openssl
, zlib
, stdenv
, darwin
, git
}:
rustPlatform.buildRustPackage rec {
pname = "gitu";
version = "0.5.4";
src = fetchFromGitHub {
owner = "altsem";
repo = "gitu";
rev = "v${version}";
hash = "sha256-a4hNgEizxanYE3XuHSCmbV6CkOqhXkznP3Sp0KLFFQs=";
};
cargoHash = "sha256-+CA3UG32oZedzRbt7b0wOlhH/subuym4BCL5SMNzrr8=";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
libgit2
openssl
zlib
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
];
nativeCheckInputs = [
git
];
meta = with lib; {
description = "A TUI Git client inspired by Magit";
homepage = "https://github.com/altsem/gitu";
changelog = "https://github.com/altsem/gitu/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ evanrichter ];
mainProgram = "gitu";
};
}

View file

@ -27,7 +27,7 @@ flutter.buildFlutterApplication rec {
cargoDeps = rustPlatform.fetchCargoTarball {
name = "${pname}-${version}-cargo-deps";
inherit src;
sourceRoot = "source/intiface-engine-flutter-bridge";
sourceRoot = "${src.name}/intiface-engine-flutter-bridge";
hash = "sha256-0sCHa3rMaLYaUG3E3fmsLi0dSdb9vGyv7qNR3JQkXuU=";
};
cargoRoot = "intiface-engine-flutter-bridge";

View file

@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-Fb5TeRTdvUlo/5Yi2d+FC8a6KoRLk2h1VE0/peMhWPs=";
};
sourceRoot = "source/rust/tool";
sourceRoot = "${src.name}/rust/tool";
cargoHash = "sha256-g4WzqfH6DZVUuNb0jV3MFdm3h7zy2bQ6d3agrXesWgc=";
env.TEST_SYSTEMD = systemd;

View file

@ -61,7 +61,7 @@ rustPlatform.buildRustPackage rec {
systemd
];
sourceRoot = "source/gui";
sourceRoot = "${src.name}/gui";
postInstall = ''
install -Dm0644 ./ui/static/logos/liana-app-icon.svg $out/share/icons/hicolor/scalable/apps/liana.svg

View file

@ -9,7 +9,7 @@ python3.pkgs.buildPythonApplication rec {
inherit (python3.pkgs.linien-common) src version;
sourceRoot = "source/linien-gui";
sourceRoot = "${src.name}/linien-gui";
nativeBuildInputs = with python3.pkgs; [
setuptools

View file

@ -17,7 +17,7 @@ buildGoModule rec {
hash = "sha256-4Y+yZSZrBDLPbQXaOCSKk/EY20Ka8CS4ivUg1TEaqXo=";
};
sourceRoot = "source/caddy";
sourceRoot = "${src.name}/caddy";
vendorHash = "sha256-N0RmvhBlTiWmBb4TzLmaThD9jVkKgcIO9vPWxJAvLRQ=";

View file

@ -14,7 +14,7 @@ python3Packages.buildPythonApplication rec {
version = "2.7.0";
format = "other";
sourceRoot = "source/source";
sourceRoot = "${src.name}/source";
src = fetchFromGitLab {
owner = "zehkira";
repo = "monophony";

View file

@ -16,6 +16,7 @@
, libclang
, autoPatchelfHook
, clang
, fetchpatch
}:
rustPlatform.buildRustPackage rec {
@ -29,6 +30,14 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-VTtXEfxc3OCdtdYiEdtftOQ7gDJNb679Yw8v1Lu3lhY=";
};
patches = [
(fetchpatch {
name = "revert-viewporter.patch";
url = "https://github.com/YaLTeR/niri/commit/40cec34aa4a7f99ab12b30cba1a0ee83a706a413.patch";
hash = "sha256-3fg8v0eotfjUQY6EVFEPK5BBIBrr6vQpXbjDcsw2E8Q=";
})
];
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
@ -83,7 +92,7 @@ rustPlatform.buildRustPackage rec {
description = "A scrollable-tiling Wayland compositor";
homepage = "https://github.com/YaLTeR/niri";
license = licenses.gpl3Only;
maintainers = with maintainers; [ iogamaster foo-dogsquared ];
maintainers = with maintainers; [ iogamaster foo-dogsquared sodiboo ];
mainProgram = "niri";
platforms = platforms.linux;
};

View file

@ -4,6 +4,7 @@
lib,
runCommand,
nixfmt-rfc-style,
fetchpatch,
}:
let
inherit (haskell.lib.compose) overrideCabal justStaticExecutables;
@ -13,6 +14,13 @@ let
passthru.updateScript = ./update.sh;
patches = [
(fetchpatch {
url = "https://github.com/serokell/nixfmt/commit/ca9c8975ed671112fdfce94f2e9e2ad3de480c9a.patch";
hash = "sha256-UOSAYahSKBsqPMVcQJ3H26Eg2xpPAsNOjYMI6g+WTYU=";
})
];
maintainers = lib.teams.formatter.members;
# These tests can be run with the following command.

View file

@ -22,10 +22,9 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-jHr7J0X1v2n/ZK0y3b/XPDISk7e08VWS6nicJU4fKKY=";
};
# Because some unknown reason split outputs is breaking on Darwin
outputs = if stdenv.isDarwin
then [ "out" ]
else [ "out" "man" ];
outputs = [ "out" ]
# man pages are not installed on Darwin, see cmake/{Mac,Unix}BuildTarget.cmake
++ lib.optionals (!stdenv.isDarwin) [ "man" ];
sourceRoot = "${finalAttrs.src.name}/ImageLounge";
@ -58,7 +57,8 @@ stdenv.mkDerivation (finalAttrs: {
];
postInstall = lib.optionalString stdenv.isDarwin ''
mkdir -p $out/lib
mkdir -p $out/{Applications,lib}
mv $out/nomacs.app $out/Applications/nomacs.app
mv $out/libnomacsCore.dylib $out/lib/libnomacsCore.dylib
'';

View file

@ -0,0 +1,26 @@
{ lib
, rustPlatform
, fetchFromGitHub
}:
rustPlatform.buildRustPackage rec {
pname = "ren-find";
version = "0-unstable-2024-01-11";
src = fetchFromGitHub {
owner = "robenkleene";
repo = "ren-find";
rev = "50c40172e354caffee48932266edd7c7a76a20f";
hash = "sha256-zVIt6Xp+Mvym6gySvHIZJt1QgzKVP/wbTGTubWk6kzI=";
};
cargoHash = "sha256-pUy8850v4m9P5OuL15qxmDDQYYyae9HFXRbg3b4f3Lw=";
meta = with lib; {
description = "A command-line utility that takes find-formatted lines and batch renames them.";
homepage = "https://github.com/robenkleene/ren-find";
license = licenses.mit;
maintainers = with maintainers; [ philiptaron ];
mainProgram = "ren";
};
}

View file

@ -0,0 +1,26 @@
{ lib
, rustPlatform
, fetchFromGitHub
}:
rustPlatform.buildRustPackage rec {
pname = "rep-grep";
version = "0-unstable-2024-02-06";
src = fetchFromGitHub {
owner = "robenkleene";
repo = "rep-grep";
rev = "10510d47e392cb9d30a861c69f702fd194b3fa88";
hash = "sha256-/dH+mNtNHaYFndVhoqmz4Sc3HeemoQt1HGD98mb9Qhw=";
};
cargoHash = "sha256-ch+RMLc+xogL0gkrnw+n+bmUVIcixdPTaNPHPuJ0/EI=";
meta = with lib; {
description = "A command-line utility that takes grep-formatted lines and performs a find-and-replace on them.";
homepage = "https://github.com/robenkleene/rep-grep";
license = licenses.mit;
maintainers = with maintainers; [ philiptaron ];
mainProgram = "rep";
};
}

View file

@ -39,7 +39,7 @@
sharedLibraryExt = rustc.stdenv.hostPlatform.extensions.sharedLibrary;
in flutter316.buildFlutterApplication {
in flutter316.buildFlutterApplication rec {
pname = "rustdesk";
version = "1.2.3-unstable-2024-02-11";
src = fetchFromGitHub {
@ -52,7 +52,7 @@ in flutter316.buildFlutterApplication {
strictDeps = true;
# Configure the Flutter/Dart build
sourceRoot = "source/flutter";
sourceRoot = "${src.name}/flutter";
# curl https://raw.githubusercontent.com/rustdesk/rustdesk/16db977fd81e14af62ec5ac7760a7661a5c24be8/flutter/pubspec.lock | yq
pubspecLock = lib.importJSON ./pubspec.lock.json;
gitHashes = {

View file

@ -5,13 +5,13 @@
}:
buildGoModule rec {
pname = "sesh";
version = "0.12.0";
version = "0.15.0";
src = fetchFromGitHub {
owner = "joshmedeski";
repo = "sesh";
rev = "v${version}";
hash = "sha256-m/EcWh4wfna9PB/NN+MCRUsz5Er0OZ70AAumlKdrm/s=";
hash = "sha256-vV1b0YhDBt/dJJCrxvVV/FIuOIleTg4mI496n4/Y/Hk=";
};
vendorHash = "sha256-zt1/gE4bVj+3yr9n0kT2FMYMEmiooy3k1lQ77rN6sTk=";

View file

@ -8,16 +8,16 @@
php.buildComposerProject (finalAttrs: {
pname = "snipe-it";
version = "6.2.2";
version = "6.3.3";
src = fetchFromGitHub {
owner = "snipe";
repo = "snipe-it";
rev = "v${finalAttrs.version}";
hash = "sha256-EU+teGxo7YZkD7kNXk9jRyARpzWz5OMRmaWqQ6eMKYY=";
hash = "sha256-ePE55mK8woopNuRXox51I0sJGBmjF6XDfjE+k+ncoJ0=";
};
vendorHash = "sha256-JcBcrETbjGJFlG1dH/XXqmb9MlKr0ICdnEx7/61Z5io=";
vendorHash = "sha256-wO+hKttiI7T7C+4oSl8G0I4pQEfZpXjYspUhoaaLrAQ=";
postInstall = ''
snipe_it_out="$out/share/php/snipe-it"

View file

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
pname = "snippetexpanderx";
sourceRoot = "source/cmd/snippetexpanderx";
sourceRoot = "${src.name}/cmd/snippetexpanderx";
nativeBuildInputs = [
pkg-config

View file

@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-6758ej7bTvwZPWifl239rQMazM8uw+Y4+3EbjE8XsTg=";
};
sourceRoot = "source/server";
sourceRoot = "${src.name}/server";
cargoLock = {
lockFile = ./Cargo.lock;

View file

@ -14,7 +14,7 @@ buildNpmPackage rec {
hash = "sha256-DPGigs6DifTRa7VQVHgizZ3BUy3FPX3YhZi++yoBFBA=";
};
sourceRoot = "source/tools/syn2mas";
sourceRoot = "${src.name}/tools/syn2mas";
npmDepsHash = "sha256-HvBFuRyP1APg5V+yhvlODAJ02MEkdpuLfNjWB/UT2vg=";

View file

@ -16,7 +16,7 @@ buildDotnetModule rec {
hash = "sha256-41zlzrQ+YGY2wEvq4Su/lp6lOmGW4u0F37ub2a3z+7o=";
};
sourceRoot = "source/src";
sourceRoot = "${src.name}/src";
projectFile = "TorrentStream.sln";
nugetDeps = ./deps.nix;

View file

@ -2,13 +2,13 @@
stdenvNoCC.mkDerivation rec {
pname = "sarasa-gothic";
version = "1.0.5";
version = "1.0.6";
src = fetchurl {
# Use the 'ttc' files here for a smaller closure size.
# (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/Sarasa-TTC-${version}.7z";
hash = "sha256-OPoX6GNCilA8Lj9kLO6RHapU7mpZTiNa/8LL72TG1Wk=";
hash = "sha256-zoQilSAd5BpLCbTxU0Baupdc1VUxENvNEc9phFVFUoo=";
};
sourceRoot = ".";

View file

@ -5,11 +5,11 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "sketchybar-app-font";
version = "2.0.5";
version = "2.0.7";
src = fetchurl {
url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/sketchybar-app-font.ttf";
hash = "sha256-nfJVICpaw1Q1jChc3feY39vjtS/fLJ3FKVGqOKhyzwA=";
hash = "sha256-HP9fCP3CPsxc/l8nklV7bvEl4mDUYvQp+fT10AFX5LM=";
};
dontUnpack = true;

View file

@ -3,12 +3,12 @@
let
generator = pkgsBuildBuild.buildGoModule rec {
pname = "v2ray-domain-list-community";
version = "20240221053250";
version = "20240310062737";
src = fetchFromGitHub {
owner = "v2fly";
repo = "domain-list-community";
rev = version;
hash = "sha256-oPffStUx2CD4gfSNIYqCzLLj+IAhm3aGQknRsrauD+k=";
hash = "sha256-KJSa5qDNGokNin0M2BppRks1qyMg19o+EOxu5OsCeOg=";
};
vendorHash = "sha256-azvMUi8eLNoNofRa2X4SKTTiMd6aOyO6H/rOiKjkpIY=";
meta = with lib; {

View file

@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "budgie-user-indicator-redux";
version = "1.0.1";
version = "1.0.2";
src = fetchFromGitHub {
owner = "EbonJaeger";
repo = "budgie-user-indicator-redux";
rev = "v${version}";
hash = "sha256-HGfcNlkIQD9nNzHm97LpNz3smYwDhxu4EArPo6msahI=";
hash = "sha256-X9b4H4PnrYGb/T7Sg9iXQeNDLoO1l0VCdbOCGUAgwC4=";
};
nativeBuildInputs = [

View file

@ -187,6 +187,14 @@ in stdenv.mkDerivation rec {
substituteInPlace \
src/runtime/src/native/libs/CMakeLists.txt \
--replace-fail 'add_compile_options(-Weverything)' 'add_compile_options(-Wall)'
# strip native symbols in runtime
# see: https://github.com/dotnet/source-build/issues/2543
xmlstarlet ed \
--inplace \
-s //Project -t elem -n PropertyGroup \
-s \$prev -t elem -n KeepNativeSymbols -v false \
src/runtime/Directory.Build.props
''
+ lib.optionalString isLinux ''
substituteInPlace \

View file

@ -18,7 +18,7 @@ buildDartApplication.override { inherit dart; } rec {
dartOutputType = "jit-snapshot";
src = flutterSrc;
sourceRoot = "source/packages/flutter_tools";
sourceRoot = "${src.name}/packages/flutter_tools";
postUnpack = ''chmod -R u+w "$NIX_BUILD_TOP/source"'';
inherit patches;

View file

@ -1,10 +1,10 @@
{ lib, mkCoqDerivation, coq, interval, compcert, flocq, bignums, version ? null }:
with lib; mkCoqDerivation {
let self = with lib; mkCoqDerivation {
pname = "vcfloat";
owner = "VeriNum";
inherit version;
sourceRoot = "source/vcfloat";
sourceRoot = "${self.src.name}/vcfloat";
postPatch = ''
coq_makefile -o Makefile -f _CoqProject *.v
'';
@ -21,4 +21,5 @@ with lib; mkCoqDerivation {
maintainers = with maintainers; [ quinn-dougherty ];
license = licenses.lgpl3Plus;
};
}
};
in self

View file

@ -7,15 +7,15 @@
rustPlatform.buildRustPackage rec {
pname = "rune";
version = "0.13.1";
version = "0.13.2";
src = fetchCrate {
pname = "rune-cli";
inherit version;
hash = "sha256-7GScETlQ/rl9vOB9zSfsCM1ay1F5YV6OAxKe82lMU1I=";
hash = "sha256-Xk4gUBxDdnW2AIEvMaEjzVsqCQFK9B/Wyg7RpJ/hbrA=";
};
cargoHash = "sha256-T6uYe+ZgXgsGN1714Ka+fxeVDoXgjVdfrrw5Rj/95cE=";
cargoHash = "sha256-hpJ++mzP2QFE/iHZQvcjT03xPnyPYw7EgsL8NwxrZVQ=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreServices

View file

@ -5,26 +5,29 @@
}:
stdenv.mkDerivation rec{
pname = "magic-enum";
version = "0.8.2";
version = "0.9.5";
src = fetchFromGitHub {
owner = "Neargye";
repo = "magic_enum";
rev = "v${version}";
sha256 = "sha256-k4zCEQxO0N/o1hDYxw5p9u0BMwP/5oIoe/4yw7oqEo0=";
rev = "refs/tags/v${version}";
hash = "sha256-Q82HdlEMXpiGISnqdjFd0rxiLgsobsoWiqqGLawu2pM=";
};
nativeBuildInputs = [ cmake ];
# disable tests until upstream fixes build issues with gcc 12
# see https://github.com/Neargye/magic_enum/issues/235
doCheck = false;
cmakeFlags = [
"-DMAGIC_ENUM_OPT_BUILD_TESTS=OFF"
# the cmake package does not handle absolute CMAKE_INSTALL_INCLUDEDIR correctly
# (setting it to an absolute path causes include files to go to $out/$out/include,
# because the absolute path is interpreted with root at $out).
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-DCMAKE_INSTALL_LIBDIR=lib"
];
meta = with lib;{
description = "Static reflection for enums (to string, from string, iteration) for modern C++";
homepage = "https://github.com/Neargye/magic_enum";
changelog = "https://github.com/Neargye/magic_enum/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ Alper-Celik ];
};

View file

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
sha256 = "sha256-aj/QmJ38ifsW36JFQcbp55aIQRvOpiqLHwEh/aFXsgo=";
};
sourceRoot = "source/mpfi";
sourceRoot = "${src.name}/mpfi";
nativeBuildInputs = [ autoreconfHook texinfo ];
buildInputs = [ mpfr ];

View file

@ -1,11 +1,10 @@
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, doxygen, libGL, glew
, xorg, ffmpeg_4, libjpeg, libpng, libtiff, eigen
, Carbon ? null, Cocoa ? null
, Carbon, Cocoa
}:
stdenv.mkDerivation rec {
pname = "pangolin";
version = "0.9.1";
src = fetchFromGitHub {

View file

@ -46,7 +46,7 @@ let
};
in {
wt4 = generic {
version = "4.10.0";
sha256 = "sha256-05WZnyUIwXwJA24mQi5ATCqRZ6PE/tiw2/MO1qYHRsY=";
version = "4.10.4";
sha256 = "sha256-O2waUKGTw8kZw+6qBMqG9tNN92aGL+WCrcPOGAG7HO0=";
};
}

View file

@ -2,7 +2,7 @@
let
version = "1.0.1";
in buildPecl {
in buildPecl rec {
inherit version;
pname = "opentelemetry";
@ -13,7 +13,7 @@ in buildPecl {
hash = "sha256-VHUzRhTtHygHoW+poItaphV+mxe4rmmSfGgesUgPz8Q=";
};
sourceRoot = "source/ext";
sourceRoot = "${src.name}/ext";
doCheck = true;

View file

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "adafruit-io";
version = "2.7.1";
version = "2.7.2";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "adafruit";
repo = "Adafruit_IO_Python";
rev = "refs/tags/${version}";
hash = "sha256-vfjyU+czLtUA0WDEvc0iYmJ2Tn75o/OsX909clfDsUE=";
hash = "sha256-JBpF08WGe1pMK1y7HZLH/jSQkJtbWdiTGYHWRd39UIk=";
};
nativeBuildInputs = [

View file

@ -1,6 +1,14 @@
{ lib, fetchPypi, python3, ...}:
{ lib
, fetchPypi
, buildPythonPackage
, poetry-core
, aiohttp
, attrs
, itsdangerous
, url-normalize
}:
python3.pkgs.buildPythonPackage rec {
buildPythonPackage rec {
pname = "aiohttp_client_cache";
version = "0.11.0";
pyproject = true;
@ -8,10 +16,10 @@ python3.pkgs.buildPythonPackage rec {
inherit pname version;
sha256 = "sha256-B2b/9O2gVJjHUlN0pYeBDcwsy3slaAnd5SroeQqEU+s=";
};
nativeBuildInputs = with python3.pkgs; [
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = with python3.pkgs; [
propagatedBuildInputs = [
aiohttp
attrs
itsdangerous

View file

@ -4,11 +4,11 @@
, flit-core
}:
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "${python.libPrefix}-bootstrap-${flit-core.pname}";
inherit (flit-core) version src patches meta;
sourceRoot = "source/flit_core";
sourceRoot = "${src.name}/flit_core";
buildPhase = ''
runHook preBuild

View file

@ -13,11 +13,11 @@
, wheel
}:
buildPythonPackage {
buildPythonPackage rec {
inherit (catboost) pname version src meta;
format = "pyproject";
sourceRoot = "source/catboost/python-package";
sourceRoot = "${src.name}/catboost/python-package";
nativeBuildInputs = [
setuptools

View file

@ -0,0 +1,28 @@
{ lib
, buildPythonPackage
, fetchPypi
}:
buildPythonPackage rec {
pname = "daff";
version = "1.3.46";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-ItDan9ajJ1tUySapyXsYD5JYqtZRE+oY8/7FLLrc2Bg=";
};
# there are no tests
doCheck = false;
pythonImportsCheck = [
"daff"
];
meta = with lib; {
description = "Library for comparing tables, producing a summary of their differences, and using such a summary as a patch file";
homepage = "https://github.com/paulfitz/daff";
license = with licenses; [ mit ];
maintainers = with maintainers; [ turion ];
};
}

View file

@ -8,7 +8,7 @@
, wheel
, numpy
}:
buildPythonPackage {
buildPythonPackage rec {
pname = "daqp";
version = "0.5.1";
format = "pyproject";
@ -20,7 +20,7 @@ buildPythonPackage {
hash = "sha256-in7Ci/wM7i0csJ4XVfo1lboWOyfuuU+8E+TzGmMV3x0=";
};
sourceRoot = "source/interfaces/daqp-python";
sourceRoot = "${src.name}/interfaces/daqp-python";
postPatch = ''
sed -i 's|../../../daqp|../..|' setup.py

View file

@ -16,7 +16,7 @@ in
buildPythonPackage rec {
pname = "dnf4";
version = "4.18.2";
version = "4.19.0";
format = "other";
outputs = [ "out" "man" "py" ];
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "rpm-software-management";
repo = "dnf";
rev = version;
hash = "sha256-WOLVKsrHp0V0wMXXRf1hrxsxuVv2bFOKIw8Aitz0cac=";
hash = "sha256-LY2D3A3la58/8V2zKqPZWbR5iAMkrsG36gP8EvwANaA=";
};
patches = [

View file

@ -10,7 +10,7 @@ buildPythonPackage rec {
inherit (flit) src patches;
sourceRoot = "source/flit_core";
sourceRoot = "${src.name}/flit_core";
# Tests are run in the "flit" package.
doCheck = false;

View file

@ -10,16 +10,16 @@
buildPythonPackage rec {
pname = "html-sanitizer";
version = "2.3";
format = "pyproject";
version = "2.3.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "matthiask";
repo = pname;
repo = "html-sanitizer";
rev = "refs/tags/${version}";
hash = "sha256-lQ8E3hdHX0YR3HJUTz1pVBegLo4lhvyiylLVFMDY1+s=";
hash = "sha256-NWJLD70783Ie6efyCvGopxMIlP3rLz0uM/D1rLQwBXE=";
};
nativeBuildInputs = [

View file

@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "ical";
version = "7.0.0";
version = "7.0.1";
pyproject = true;
disabled = pythonOlder "3.10";
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "allenporter";
repo = "ical";
rev = "refs/tags/${version}";
hash = "sha256-S/6zyUFXSWcnnLNSwz1smovSyodhKeRVbT9lj7+KLWo=";
hash = "sha256-kvZZfmrE42uoB9v0PuXopH3g9Cf0hwLkCvaNi6CGX8M=";
};
nativeBuildInputs = [

View file

@ -22,7 +22,7 @@ let
pname = "kanidm";
version = "0.0.3-unstable-2023-08-23";
in
buildPythonPackage {
buildPythonPackage rec {
inherit pname version;
pyproject = true;
@ -35,7 +35,7 @@ buildPythonPackage {
hash = "sha256-5qQb+Itguw2v1Wdvc2vp00zglfvNd3LFEDvaweRJcOc=";
};
sourceRoot = "source/pykanidm";
sourceRoot = "${src.name}/pykanidm";
nativeBuildInputs = [
poetry-core

View file

@ -14,7 +14,7 @@ buildPythonPackage rec {
inherit (linien-common) src version;
sourceRoot = "source/linien-client";
sourceRoot = "${src.name}/linien-client";
preBuild = ''
export HOME=$(mktemp -d)

View file

@ -22,7 +22,7 @@ buildPythonPackage rec {
hash = "sha256-ZgAp1SEiHijyjK74VZyRLYY3Hzfc3BQ6cnoO3hZzvbE=";
};
sourceRoot = "source/linien-common";
sourceRoot = "${src.name}/linien-common";
preBuild = ''
export HOME=$(mktemp -d)

View file

@ -21,7 +21,7 @@ buildPythonPackage rec {
disabled = pythonOlder "3.8";
sourceRoot = "source/openllm-client";
sourceRoot = "${src.name}/openllm-client";
postPatch = ''
substituteInPlace pyproject.toml \

View file

@ -36,7 +36,7 @@ buildPythonPackage rec {
hash = "sha256-kRR715Vnt9ZAmxuWvtH0z093crH0JFrEKPtbjO3QMRc=";
};
sourceRoot = "source/openllm-core";
sourceRoot = "${src.name}/openllm-core";
nativeBuildInputs = [
pythonRelaxDepsHook

View file

@ -51,7 +51,7 @@ buildPythonPackage rec {
disabled = pythonOlder "3.8";
sourceRoot = "source/openllm-python";
sourceRoot = "${src.name}/openllm-python";
nativeBuildInputs = [
pythonRelaxDepsHook

View file

@ -44,7 +44,7 @@ buildPythonPackage rec {
cargoRoot = "rust";
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
sourceRoot = "source/rust";
sourceRoot = "${src.name}/rust";
name = "${pname}-${version}";
hash = "sha256-6fw0KgnPIMfdseWcunsGjvjVB+lJNoG3pLDqkORPJ0I=";
postPatch = ''

View file

@ -16,14 +16,14 @@
buildPythonPackage rec {
pname = "persim";
version = "0.3.2";
version = "0.3.5";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-p6Vumfr+vRDr0D9PnEZItp9vNlCLIb59HpBg1KdyHGE=";
hash = "sha256-qyly3kIx9HQ7zDT0SfUlsqZGqibdXsfW1dL9HNpQZJg=";
};
propagatedBuildInputs = [

View file

@ -32,7 +32,7 @@ buildPythonPackage rec {
hash = "sha256-liTg5Hm+FPpRQajBnnJKBh3JPGyu0Hflntf0isj1FiQ=";
};
sourceRoot = "source/python";
sourceRoot = "${src.name}/python";
env.PROPHET_REPACKAGE_CMDSTAN = "false";

View file

@ -10,14 +10,15 @@
}:
buildPythonPackage rec {
pname = "PyQt6_Charts";
pname = "pyqt6-charts";
version = "6.6.0";
format = "pyproject";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
pname = "PyQt6_Charts";
inherit version;
sha256 = "sha256-FMxuXRnK6AEpUkpC+mMy0NXa2kKCqUI0Jea5rhtrxW0=";
};

View file

@ -2,6 +2,7 @@
, black
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, hatchling
, pytest
, pytestCheckHook
@ -24,6 +25,17 @@ buildPythonPackage rec {
hash = "sha256-jCxOGDJlFkMH9VtaaPsE5zt+p3Z/mrVzhdNSI51/nVM=";
};
patches = [
(fetchpatch {
url = "https://github.com/pydantic/pytest-examples/commit/551ba911713c2859caabc91b664723dd6bc800c5.patch";
hash = "sha256-Y3OU4fNyLADhBQGwX2jY0gagVV2q2dcn3kJRLUyCtZI=";
})
(fetchpatch {
url = "https://github.com/pydantic/pytest-examples/commit/3bef5d644fe3fdb076270833768e4c6df9148530.patch";
hash = "sha256-pf+WKzZNqgjbJiblMMLHWk23kjg4W9nm+KBmC8rG8Lw=";
})
];
postPatch = ''
# ruff binary is used directly, the ruff Python package is not needed
substituteInPlace pytest_examples/lint.py \

View file

@ -17,7 +17,7 @@ buildPythonPackage rec {
hash = "sha256-xJ/iPywOZA2kzHaVU43Bc8TUboj3OpDg1kLFMIc/T90=";
};
sourceRoot = "source/python";
sourceRoot = "${src.name}/python";
# setup script tries to get data from the network but we use the nixpkgs' one
postPatch = ''

View file

@ -6,13 +6,13 @@
buildPythonPackage rec {
pname = "types-markdown";
version = "3.5.0.20240129";
version = "3.5.0.20240311";
pyproject = true;
src = fetchPypi {
pname = "types-Markdown";
inherit version;
hash = "sha256-ms02/vJk2e1aljRcRffYDw2WcFnpIhOZizBG+7ZPZ/w=";
hash = "sha256-TFjvM+4ngYPFQKWOWZy+lwkPZVMCtu9loQhMSzLXSKQ=";
};
nativeBuildInputs = [

View file

@ -6,12 +6,12 @@
buildPythonPackage rec {
pname = "types-mock";
version = "5.1.0.20240106";
version = "5.1.0.20240311";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-E8o3nVcQzLPxj2mt5bCIgYdMuDOD2PtJsdTaydXF0JA=";
hash = "sha256-dHJ5eYbYMBb5b95/c1d9EpsM2KjQt4NIenvjMNV7pDE=";
};
nativeBuildInputs = [

View file

@ -6,12 +6,12 @@
buildPythonPackage rec {
pname = "types-psycopg2";
version = "2.9.21.20240218";
version = "2.9.21.20240311";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-MITNgHA4piyA+1vni0HYVbSKBgMWEB6ln9hcMC77V9Q=";
hash = "sha256-cilF3/pqcpvrxmDxQTfzft/OrVosFesjQhKn0BfugHI=";
};
nativeBuildInputs = [

View file

@ -6,13 +6,13 @@
buildPythonPackage rec {
pname = "types-pyopenssl";
version = "24.0.0.20240228";
version = "24.0.0.20240311";
format = "setuptools";
src = fetchPypi {
pname = "types-pyOpenSSL";
inherit version;
hash = "sha256-zZkHF9iqN0PvDnPg9GLmS1TZDDBCSSMtSP7OTw98PGo=";
hash = "sha256-e8oAz8Tn75xdJmPGocBow1eY5ZZwWVQ59ilue6PVgIM=";
};
propagatedBuildInputs = [

View file

@ -7,12 +7,12 @@
buildPythonPackage rec {
pname = "types-redis";
version = "4.6.0.20240218";
version = "4.6.0.20240311";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-UQPX5pDlx0yXShYTF7LVmsIwPPi+8kF1sEwqTDSGyzk=";
hash = "sha256-4Em73/DgofjnAbZGNoESkdIb/3m/HnhQhQpEBVIkqF8=";
};
propagatedBuildInputs = [

View file

@ -5,14 +5,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "checkov";
version = "3.2.33";
version = "3.2.34";
pyproject = true;
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = "checkov";
rev = "refs/tags/${version}";
hash = "sha256-OI5c1L4wWM9C+wKJCY+VIoIyxoNVAdlZoeu3zbWSNPY=";
hash = "sha256-L6fk9eRgzazHEQ8C06kjCi/or/x6bVZY6dienl94cDQ=";
};
patches = [

View file

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "moon";
version = "1.22.4";
version = "1.22.6";
src = fetchFromGitHub {
owner = "moonrepo";
repo = pname;
rev = "v${version}";
hash = "sha256-Hx31oEvf6irURxtLBPaY2unCgW0tBurhSjhBNI1ifng=";
hash = "sha256-xVjY9lrnNMFU97FLOQgwb/GKQNVtSBcFTY27KA0Iyns=";
};
cargoHash = "sha256-DKktU8w+4TeGSzidjovK9xgis98Gz7BretrO+bpfnTc=";
cargoHash = "sha256-UHKRPb15H+91jmKyHy7OGiKfCCVVhir4aHITldAl0RA=";
env = {
RUSTFLAGS = "-C strip=symbols";

View file

@ -6,15 +6,15 @@
buildGoModule rec {
pname = "conftest";
version = "0.49.1";
version = "0.50.0";
src = fetchFromGitHub {
owner = "open-policy-agent";
repo = "conftest";
rev = "refs/tags/v${version}";
hash = "sha256-k7wmWfBm/MYMCya6G+Iu12hqXTYthvnD26SVku3BZfU=";
hash = "sha256-DqZl16CQR88n5etJvX+5wxpOQsyWq/UWjJou23pjpWk=";
};
vendorHash = "sha256-qdJK6uoXp8dsgqj3q/pM3xKgUcqDJ+oxuKYwCJR3Xq0=";
vendorHash = "sha256-9afq6ccgiaeZqyM3Le1NQ0ADB/wmBW+qdT+uVtbARC8=";
ldflags = [
"-s"

View file

@ -34,9 +34,11 @@ in (chromium.override { upstream-info = info.chromium; }).mkDerivation (base: {
yarnLock = (fetchdep info.deps."src/electron") + "/yarn.lock";
sha256 = info.electron_yarn_hash;
};
npmDeps = fetchNpmDeps {
npmDeps = fetchNpmDeps rec {
src = fetchdep info.deps."src";
sourceRoot = "source/third_party/node";
# Assume that the fetcher always unpack the source,
# based on update.py
sourceRoot = "${src.name}/third_party/node";
hash = info.chromium_npm_hash;
};

View file

@ -2,18 +2,18 @@
buildGoModule rec {
pname = "frugal";
version = "3.17.8";
version = "3.17.9";
src = fetchFromGitHub {
owner = "Workiva";
repo = pname;
rev = "v${version}";
sha256 = "sha256-R9v/qWR+XuirMT2wM6UR2LrSpehkEtoRG73bBlni03k=";
sha256 = "sha256-VNzTrJ5sY6JHfUXLlY3LOQYfzoWPYltPQBZWx9FopSU=";
};
subPackages = [ "." ];
vendorHash = "sha256-BC8G41SWWecNiqj/8iez3debvpU9+PWHUya8V77zKj8=";
vendorHash = "sha256-5o2r392gT5mNvO7mFVRgOGgoy5d+1K2kIitBo+dzhFQ=";
meta = with lib; {
description = "Thrift improved";

View file

@ -10,7 +10,7 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-0vbAHSN+uwxoXXZtbuycP67PxjcB8Ftxd/Oij1gqE3Y=";
};
sourceRoot = "mingw-w64/mingw-w64-tools/gendef";
sourceRoot = "${finalAttrs.src.name}/mingw-w64-tools/gendef";
meta = {
description = "A tool which generate def files from DLLs";

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "reviewdog";
version = "0.17.1";
version = "0.17.2";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
hash = "sha256-l7jQaOFNhhWqkYaTd8BdH9au/wjlnWZnV5DAco93qlQ=";
hash = "sha256-NjVw+GU27ARqytpupJETAGGh0DfyuFsP637Mv+P4+zs=";
};
vendorHash = "sha256-p/WvGGadf/O2DFIUWjw7mpg8DhcaIYlgp1xgKV89+GM=";
vendorHash = "sha256-HZpRHFmEaE+MBvKJ8f5IEMmg2eIIrVGxM/jxhIgEqi0=";
doCheck = false;

View file

@ -2,14 +2,14 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-chef";
version = "0.1.65";
version = "0.1.66";
src = fetchCrate {
inherit pname version;
sha256 = "sha256-3G2mgQDSj+IL6gqdhr3Sov9FHwLA6B+MRazLNF+zKZk=";
sha256 = "sha256-I4lD3+WFaW0kPmw5lPybDCRkG/at6VQH6l7pmngwoLU=";
};
cargoHash = "sha256-hWkUvUFYAOqRkoU52bKzEmvNaqASfWLlnWtIuFLMDc8=";
cargoHash = "sha256-tSr4m10zS+/JynGmNY0+aoiYDATYwuyfr1VGKmIkHg4=";
meta = with lib; {
description = "A cargo-subcommand to speed up Rust Docker builds using Docker layer caching";

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-udeps";
version = "0.1.45";
version = "0.1.47";
src = fetchFromGitHub {
owner = "est31";
repo = pname;
rev = "v${version}";
sha256 = "sha256-pfEvztV/DAPPOxm8An/PsBdoF8S/AK+/S+vllezYCeo=";
sha256 = "sha256-1XnCGbOkAmQycwAAEbkoX9xHqBZWYM9v5fp8BdFv7RM=";
};
cargoHash = "sha256-SYlFENdnMeKxeDDHw73/edu1807rgrg8ncWTBsmgPtY=";
cargoHash = "sha256-awEqrvmu9Kgqlz43/yJFM45WfUXZPLix5LKLtwiXV7U=";
nativeBuildInputs = [ pkg-config ];

View file

@ -1795,7 +1795,7 @@ dependencies = [
[[package]]
name = "rye"
version = "0.28.0"
version = "0.29.0"
dependencies = [
"age",
"anyhow",

View file

@ -12,13 +12,13 @@
rustPlatform.buildRustPackage rec {
pname = "rye";
version = "0.28.0";
version = "0.29.0";
src = fetchFromGitHub {
owner = "mitsuhiko";
repo = "rye";
rev = "refs/tags/${version}";
hash = "sha256-i40VpPDK991mgBdGtufMFXuQuKuvqr0qIvl7q2KXQrg=";
hash = "sha256-rNXzhJazOi815dhqviqtfSTM60Y/5ncKBVn2YhqcKJM=";
};
cargoLock = {

View file

@ -1,50 +1,15 @@
{
lib,
stdenvNoCC,
fetchurl,
jre,
makeBinaryWrapper,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "papermc";
version = "1.20.4.435";
src =
let
mcVersion = lib.versions.pad 3 finalAttrs.version;
buildNum = builtins.elemAt (lib.splitVersion finalAttrs.version) 3;
in
fetchurl {
url = "https://papermc.io/api/v2/projects/paper/versions/${mcVersion}/builds/${buildNum}/downloads/paper-${mcVersion}-${buildNum}.jar";
hash = "sha256-NrIsYLoAAWORw/S26NDFjYBVwpNITJxuWGZow3696wM=";
};
installPhase = ''
runHook preInstall
install -D $src $out/share/papermc/papermc.jar
makeWrapper ${lib.getExe jre} "$out/bin/minecraft-server" \
--append-flags "-jar $out/share/papermc/papermc.jar nogui"
runHook postInstall
'';
nativeBuildInputs = [
makeBinaryWrapper
];
dontUnpack = true;
preferLocalBuild = true;
allowSubstitutes = false;
meta = {
description = "High-performance Minecraft Server";
homepage = "https://papermc.io/";
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
license = lib.licenses.gpl3Only;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ aaronjanse neonfuz ];
mainProgram = "minecraft-server";
};
{ callPackage, lib, ... }:
let
versions = lib.importJSON ./versions.json;
latestVersion = lib.last (builtins.sort lib.versionOlder (builtins.attrNames versions));
escapeVersion = builtins.replaceStrings [ "." ] [ "_" ];
packages = lib.mapAttrs'
(version: value: {
name = "papermc-${escapeVersion version}";
value = callPackage ./derivation.nix { inherit (value) version hash; };
})
versions;
in
lib.recurseIntoAttrs (packages // {
papermc = builtins.getAttr "papermc-${escapeVersion latestVersion}" packages;
})

View file

@ -0,0 +1,50 @@
{ lib, stdenvNoCC, fetchurl, makeBinaryWrapper, jre, version, hash }:
stdenvNoCC.mkDerivation {
pname = "papermc";
inherit version;
src =
let
version-split = lib.strings.splitString "-" version;
mcVersion = builtins.elemAt version-split 0;
buildNum = builtins.elemAt version-split 1;
in
fetchurl {
url = "https://papermc.io/api/v2/projects/paper/versions/${mcVersion}/builds/${buildNum}/downloads/paper-${version}.jar";
inherit hash;
};
installPhase = ''
runHook preInstall
install -D $src $out/share/papermc/papermc.jar
makeWrapper ${lib.getExe jre} "$out/bin/minecraft-server" \
--append-flags "-jar $out/share/papermc/papermc.jar nogui"
runHook postInstall
'';
nativeBuildInputs = [
makeBinaryWrapper
];
dontUnpack = true;
preferLocalBuild = true;
allowSubstitutes = false;
passthru = {
updateScript = ./update.py;
};
meta = {
description = "High-performance Minecraft Server";
homepage = "https://papermc.io/";
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
license = lib.licenses.gpl3Only;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ aaronjanse neonfuz MayNiklas ];
mainProgram = "minecraft-server";
};
}

145
pkgs/games/papermc/update.py Executable file
View file

@ -0,0 +1,145 @@
#!/usr/bin/env nix-shell
#! nix-shell -i python -p "python3.withPackages (ps: with ps; [ps.requests ])"
import hashlib
import base64
import json
import requests
class Version:
def __init__(self, name: str):
self.name: str = name
self.hash: str | None = None
self.build_number: int | None = None
@property
def full_name(self):
v_name = f"{self.name}-{self.build_number}"
# this will probably never happen because the download of a build with NoneType in URL would fail
if not self.name or not self.build_number:
print(f"Warning: version '{v_name}' contains NoneType!")
return v_name
class VersionManager:
def __init__(self, base_url: str = "https://api.papermc.io/v2/projects/paper"):
self.versions: list[Version] = []
self.base_url: str = base_url
def fetch_versions(self, not_before_minor_version: int = 18):
"""
Fetch all versions after given minor release
"""
response = requests.get(self.base_url)
try:
response.raise_for_status()
except requests.exceptions.HTTPError as e:
print(e)
return
# we only want versions that are no pre-releases
release_versions = filter(
lambda v_name: 'pre' not in v_name, response.json()["versions"])
for version_name in release_versions:
# split version string, convert to list ot int
version_split = version_name.split(".")
version_split = list(map(int, version_split))
# check if version is higher than 1.<not_before_sub_version>
if (version_split[0] > 1) or (version_split[0] == 1 and version_split[1] >= not_before_minor_version):
self.versions.append(Version(version_name))
def fetch_latest_version_builds(self):
"""
Set latest build number to each version
"""
for version in self.versions:
url = f"{self.base_url}/versions/{version.name}"
response = requests.get(url)
# check that we've got a good response
try:
response.raise_for_status()
except requests.exceptions.HTTPError as e:
print(e)
return
# the highest build in response.json()['builds']:
latest_build = response.json()['builds'][-1]
version.build_number = latest_build
def generate_version_hashes(self):
"""
Generate and set the hashes for all registered versions (versions will are downloaded to memory)
"""
for version in self.versions:
url = f"{self.base_url}/versions/{version.name}/builds/{version.build_number}/downloads/paper-{version.full_name}.jar"
version.hash = self.download_and_generate_sha256_hash(url)
def versions_to_json(self):
return json.dumps(
{version.name: {'hash': version.hash, 'version': version.full_name}
for version in self.versions},
indent=4
)
def write_versions(self, file_name: str):
""" write all processed versions to json """
# save json to versions.json
with open(file_name, 'w') as f:
f.write(self.versions_to_json() + "\n")
@staticmethod
def download_and_generate_sha256_hash(url: str) -> str | None:
"""
Fetch the tarball from the given URL.
Then generate a sha256 hash of the tarball.
"""
try:
# Download the file from the URL
response = requests.get(url)
response.raise_for_status()
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
return None
# Create a new SHA-256 hash object
sha256_hash = hashlib.sha256()
# Update the hash object with chunks of the downloaded content
for byte_block in response.iter_content(4096):
sha256_hash.update(byte_block)
# Get the hexadecimal representation of the hash
hash_value = sha256_hash.digest()
# Encode the hash value in base64
base64_hash = base64.b64encode(hash_value).decode('utf-8')
# Format it as "sha256-{base64_hash}"
sri_representation = f"sha256-{base64_hash}"
return sri_representation
if __name__ == '__main__':
version_manager = VersionManager()
version_manager.fetch_versions()
version_manager.fetch_latest_version_builds()
version_manager.generate_version_hashes()
version_manager.write_versions(file_name="versions.json")

Some files were not shown because too many files have changed in this diff Show more