Merge staging-next into staging

This commit is contained in:
github-actions[bot]
2024-09-14 18:04:45 +00:00
committed by GitHub
96 changed files with 5291 additions and 1653 deletions
+6
View File
@@ -2255,6 +2255,12 @@
github = "Baitinq";
githubId = 30861839;
};
baksa = {
email = "baksa@pm.me";
name = "Kryštof Baksa";
github = "Golbinex";
githubId = 62813600;
};
balodja = {
email = "balodja@gmail.com";
github = "balodja";
+7 -1
View File
@@ -40,8 +40,9 @@ let
exec ${cfg.package}/bin/paperless-ngx "$@"
'';
# Secure the services
defaultServiceConfig = {
Slice = "system-paperless.slice";
# Secure the services
ReadWritePaths = [
cfg.consumptionDir
cfg.dataDir
@@ -232,6 +233,11 @@ in
config = mkIf cfg.enable {
services.redis.servers.paperless.enable = mkIf enableRedis true;
systemd.slices.system-paperless = {
description = "Paperless slice";
documentation = [ "https://docs.paperless-ngx.com" ];
};
systemd.tmpfiles.settings."10-paperless" = let
defaultRule = {
inherit (cfg) user;
@@ -24,6 +24,8 @@ let
systemdBootBuilder = pkgs.substituteAll rec {
name = "systemd-boot";
dir = "bin";
src = checkedSource;
isExecutable = true;
@@ -86,7 +88,7 @@ let
finalSystemdBootBuilder = pkgs.writeScript "install-systemd-boot.sh" ''
#!${pkgs.runtimeShell}
${systemdBootBuilder} "$@"
${systemdBootBuilder}/bin/systemd-boot "$@"
${cfg.extraInstallCommands}
'';
in {
+1
View File
@@ -97,6 +97,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: let
pyyaml
pytest-asyncio
dpkt
ts1-signatures
]}"
# Prepare test root prefix
@@ -0,0 +1,55 @@
pkgs:
self: super:
let
libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary;
in
{
# TODO delete this when we get upstream fix https://debbugs.gnu.org/cgi/bugreport.cgi?bug=73241
eglot = super.eglot.overrideAttrs (old: {
postInstall =
old.postInstall or ""
+ ''
local info_file=eglot.info
pushd $out/share/emacs/site-lisp/elpa/eglot-*
# specify output info file to override the one defined in eglot.texi
makeinfo --output=$info_file eglot.texi
install-info $info_file dir
popd
'';
});
# native compilation for tests/seq-tests.el never ends
# delete tests/seq-tests.el to workaround this
seq = super.seq.overrideAttrs (old: {
dontUnpack = false;
postUnpack =
old.postUnpack or ""
+ "\n"
+ ''
local content_directory=$(echo seq-*)
rm --verbose $content_directory/tests/seq-tests.el
src=$PWD/$content_directory.tar
tar --create --verbose --file=$src $content_directory
'';
});
xeft = super.xeft.overrideAttrs (old: {
dontUnpack = false;
buildInputs = old.buildInputs or [ ] ++ [ pkgs.xapian ];
buildPhase =
old.buildPhase or ""
+ ''
$CXX -shared -o xapian-lite${libExt} xapian-lite.cc $NIX_CFLAGS_COMPILE -lxapian
'';
postInstall =
old.postInstall or ""
+ "\n"
+ ''
outd=$out/share/emacs/site-lisp/elpa/xeft-*
install -m444 -t $outd xapian-lite${libExt}
rm $outd/xapian-lite.cc $outd/emacs-module.h $outd/emacs-module-prelude.h $outd/demo.gif $outd/Makefile
'';
});
}
@@ -47,52 +47,16 @@ self: let
super = imported;
overrides = {
eglot = super.eglot.overrideAttrs (old: {
postInstall = (old.postInstall or "") + ''
local info_file=eglot.info
pushd $out/share/emacs/site-lisp/elpa/eglot-*
# specify output info file to override the one defined in eglot.texi
makeinfo --output=$info_file eglot.texi
install-info $info_file dir
popd
'';
});
commonOverrides = import ./elpa-common-overrides.nix pkgs;
overrides = self: super: {
pq = super.pq.overrideAttrs (old: {
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.postgresql ];
});
xeft = super.xeft.overrideAttrs (old: let
libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary;
in {
dontUnpack = false;
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.xapian ];
buildPhase = (old.buildPhase or "") + ''
$CXX -shared -o xapian-lite${libExt} xapian-lite.cc $NIX_CFLAGS_COMPILE -lxapian
'';
postInstall = (old.postInstall or "") + "\n" + ''
outd=$out/share/emacs/site-lisp/elpa/xeft-*
install -m444 -t $outd xapian-lite${libExt}
rm $outd/xapian-lite.cc $outd/emacs-module.h $outd/emacs-module-prelude.h $outd/demo.gif $outd/Makefile
'';
});
# native compilation for tests/seq-tests.el never ends
# delete tests/seq-tests.el to workaround this
seq = super.seq.overrideAttrs (old: {
dontUnpack = false;
postUnpack = (old.postUnpack or "") + "\n" + ''
local content_directory=$(echo seq-*)
rm --verbose $content_directory/tests/seq-tests.el
src=$PWD/$content_directory.tar
tar --create --verbose --file=$src $content_directory
'';
});
};
elpaDevelPackages = super // overrides;
elpaDevelPackages =
let super' = super // (commonOverrides self super); in super' // (overrides self super');
in elpaDevelPackages);
@@ -47,7 +47,9 @@ self: let
super = imported;
overrides = {
commonOverrides = import ./elpa-common-overrides.nix pkgs;
overrides = self: super: {
# upstream issue: Wrong type argument: arrayp, nil
org-transclusion =
if super.org-transclusion.version == "1.2.0"
@@ -98,17 +100,6 @@ self: let
};
});
eglot = super.eglot.overrideAttrs (old: {
postInstall = (old.postInstall or "") + ''
local info_file=eglot.info
pushd $out/share/emacs/site-lisp/elpa/eglot-*
# specify output info file to override the one defined in eglot.texi
makeinfo --output=$info_file eglot.texi
install-info $info_file dir
popd
'';
});
jinx = super.jinx.overrideAttrs (old: let
libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary;
in {
@@ -150,38 +141,11 @@ self: let
}
);
xeft = super.xeft.overrideAttrs (old: let
libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary;
in {
dontUnpack = false;
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.xapian ];
buildPhase = (old.buildPhase or "") + ''
$CXX -shared -o xapian-lite${libExt} xapian-lite.cc $NIX_CFLAGS_COMPILE -lxapian
'';
postInstall = (old.postInstall or "") + "\n" + ''
outd=$out/share/emacs/site-lisp/elpa/xeft-*
install -m444 -t $outd xapian-lite${libExt}
rm $outd/xapian-lite.cc $outd/emacs-module.h $outd/emacs-module-prelude.h $outd/demo.gif $outd/Makefile
'';
});
# native compilation for tests/seq-tests.el never ends
# delete tests/seq-tests.el to workaround this
seq = super.seq.overrideAttrs (old: {
dontUnpack = false;
postUnpack = (old.postUnpack or "") + "\n" + ''
local content_directory=$(echo seq-*)
rm --verbose $content_directory/tests/seq-tests.el
src=$PWD/$content_directory.tar
tar --create --verbose --file=$src $content_directory
'';
});
};
elpaPackages = super // overrides;
elpaPackages =
let super' = super // (commonOverrides self super); in super' // (overrides self super');
in elpaPackages);
@@ -0,0 +1,21 @@
pkgs:
self: super:
{
p4-16-mode = super.p4-16-mode.overrideAttrs {
# workaround https://github.com/NixOS/nixpkgs/issues/301795
prePatch = ''
mkdir tmp-untar-dir
pushd tmp-untar-dir
tar --extract --verbose --file=$src
content_directory=$(echo p4-16-mode-*)
cp --verbose $content_directory/p4-16-mode-pkg.el $content_directory/p4-pkg.el
src=$PWD/$content_directory.tar
tar --create --verbose --file=$src $content_directory
popd
'';
};
}
@@ -10,7 +10,11 @@
3. Run `git commit -m "nongnu-devel-packages $(date -Idate)" -- nongnu-devel-generated.nix`
*/
{ lib, buildPackages }:
{
lib,
pkgs,
buildPackages,
}:
self:
let
@@ -35,26 +39,15 @@ let
super = imported;
overrides = {
p4-16-mode = super.p4-16-mode.overrideAttrs {
# workaround https://github.com/NixOS/nixpkgs/issues/301795
prePatch = ''
mkdir tmp-untar-dir
pushd tmp-untar-dir
commonOverrides = import ./nongnu-common-overrides.nix pkgs;
tar --extract --verbose --file=$src
content_directory=$(echo p4-16-mode-*)
cp --verbose $content_directory/p4-16-mode-pkg.el $content_directory/p4-pkg.el
src=$PWD/$content_directory.tar
tar --create --verbose --file=$src $content_directory
popd
'';
};
};
overrides = self: super: { };
in
super // overrides
let
super' = super // (commonOverrides self super);
in
super' // (overrides self super')
);
in
@@ -12,7 +12,7 @@ To update the list of packages from nongnu (ELPA),
*/
{ lib, buildPackages }:
{ lib, pkgs, buildPackages }:
self: let
@@ -29,24 +29,11 @@ self: let
super = imported;
overrides = {
p4-16-mode = super.p4-16-mode.overrideAttrs {
# workaround https://github.com/NixOS/nixpkgs/issues/301795
prePatch = ''
mkdir tmp-untar-dir
pushd tmp-untar-dir
commonOverrides = import ./nongnu-common-overrides.nix pkgs;
tar --extract --verbose --file=$src
content_directory=$(echo p4-16-mode-*)
cp --verbose $content_directory/p4-16-mode-pkg.el $content_directory/p4-pkg.el
src=$PWD/$content_directory.tar
tar --create --verbose --file=$src $content_directory
overrides = self: super: { };
popd
'';
};
};
in super // overrides);
in
let super' = super // (commonOverrides self super); in super' // (overrides self super'));
in generateNongnu { }
@@ -66,6 +66,6 @@ stdenv.mkDerivation rec {
mainProgram = "com.github.kmwallio.thiefmd";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = [ ];
maintainers = with maintainers; [ aleksana ];
};
}
@@ -15,11 +15,11 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "1qddnqjq61c8m9klzkf4ic2zjgcwzpa0mjmraqfyga8njqham8z5";
x86_64-darwin = "1fkpijnm1z84x1bv9w4qvwrydcv9i2jsldvp96gby7f3gp69asaw";
aarch64-linux = "1k8whwqk0di2knld4gxyjwngh5kfa4pa4fr1scg7pfwfx9dnkljd";
aarch64-darwin = "0wgag225ji108zdrfbmp3iviyl3ha6gblcxp5ilc39pi50dms4gv";
armv7l-linux = "00w4238av273qznbnxdw4vvjj0iv8rrzb15aazvirb22d2slk9hr";
x86_64-linux = "14pqi5l7zbkhpsl8hd7mqss4xkqnxf0f0h5bs710iadpcscgpndf";
x86_64-darwin = "10k4qgck48xh12xq80y8x3jf9qp5fn15n995mn8gbid39907ars0";
aarch64-linux = "0jk33jw5rj98qr6fhi4r3vz5f1673m5v1g28jdyn3prs20hp0msg";
aarch64-darwin = "1sw39iyz5m0hdy875b3ygzvpl7vz9j3d1w6fpmf30a3iyl3ndh66";
armv7l-linux = "1rjv5c85ffy5szxhf71kjmvxiahyyvx2dl6183v5q7apv9pa64hj";
}.${system} or throwSystem;
sourceRoot = lib.optionalString (!stdenv.isDarwin) ".";
@@ -29,7 +29,7 @@ in
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.92.2.24228";
version = "1.93.1.24256";
pname = "vscodium";
executableName = "codium";
@@ -72,6 +72,6 @@ python3.pkgs.buildPythonApplication rec {
mainProgram = "curtail";
homepage = "https://github.com/Huluti/Curtail";
license = licenses.gpl3Only;
maintainers = [ ];
maintainers = with maintainers; [ aleksana ];
};
}
@@ -61,7 +61,7 @@ in stdenv.mkDerivation rec {
downloadPage = "https://github.com/bgrabitmap/lazpaint/";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ ];
maintainers = with maintainers; [ aleksana ];
mainProgram = "lazpaint";
};
}
@@ -200,6 +200,7 @@ stdenv.mkDerivation (finalAttrs: {
$ETN 'test_zstd' # we don't include zstd support
$ETN 'test_qt' # we don't include svg or webp support
$ETN 'test_import_of_all_python_modules' # explores actual file paths, gets confused
$ETN 'test_websocket_basic' # flakey
${lib.optionalString (!unrarSupport) "$ETN 'test_unrar'"}
)
+3 -3
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "cotp";
version = "1.9.0";
version = "1.9.1";
src = fetchFromGitHub {
owner = "replydev";
repo = "cotp";
rev = "v${version}";
hash = "sha256-Of4stKrk3zQX2gxXaM9YrZf1SVjzIVUU+7JraKHk180=";
hash = "sha256-U5x8szvouoxJ+DZUlrn5wtXt+6vs62tzcWICQW3B21U=";
};
cargoHash = "sha256-DLq8w65UlfAdPsJ96mNZ+dJtm/VMPzlIYqsEJtkLKzI=";
cargoHash = "sha256-o9LRXbx77EXXO7rEmpBrx2nommJgG0ikw1YzdeB0Gug=";
buildInputs = lib.optionals stdenv.isLinux [ libxcb ]
++ lib.optionals stdenv.isDarwin [ AppKit ];
+1 -1
View File
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
description = "Launcher/menu program for wlroots based wayland compositors such as sway";
homepage = "https://hg.sr.ht/~scoopta/wofi";
license = licenses.gpl3Only;
maintainers = [ ];
maintainers = with maintainers; [ aleksana ];
platforms = with platforms; linux;
mainProgram = "wofi";
};
@@ -2,15 +2,15 @@
buildGoModule rec {
pname = "cloudfoundry-cli";
version = "8.8.0";
version = "8.8.1";
src = fetchFromGitHub {
owner = "cloudfoundry";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-H969ZL+b62YidZ14TfGmwBVjSF/JRu64nOMUtIdFWKc=";
sha256 = "sha256-0SVz97XjFeXaj56ssqFK2jTUQfL0rSc72HAdK9mikUc=";
};
vendorHash = "sha256-2vUS7oENbUENaEnSzJ4gfQr3lKZ3jKH4QAO9KP0rQGs=";
vendorHash = "sha256-WI4yg+r8zGLZI10/kNFkdbzXk0hZ6CCXvXLOd8l7AWo=";
subPackages = [ "." ];
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
description = "GTK-based Usenet newsreader good at both text and binaries";
mainProgram = "pan";
homepage = "http://pan.rebelbase.com/";
maintainers = [ ];
maintainers = with maintainers; [ aleksana ];
platforms = platforms.linux;
license = with licenses; [ gpl2Only fdl11Only ];
};
+2 -2
View File
@@ -28,13 +28,13 @@
stdenv.mkDerivation rec {
pname = "planify";
version = "4.11.0";
version = "4.11.2";
src = fetchFromGitHub {
owner = "alainm23";
repo = "planify";
rev = version;
hash = "sha256-jAQXe7g+u4tHca4QL8Ae8Yvl+esvGQpCHbDlycAwFZ4=";
hash = "sha256-yEe8zBaczCCY5Cs9lIc2J3GYSeDwmB1vsX9cANXQIC0=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -102,7 +102,7 @@ python3.pkgs.buildPythonApplication rec {
that can appeal to newbies and professionals alike.
'';
license = licenses.lgpl21Plus;
maintainers = [ ];
maintainers = with maintainers; [ aleksana ];
platforms = platforms.linux;
mainProgram = "pitivi";
};
+3 -3
View File
@@ -12,19 +12,19 @@
stdenv.mkDerivation rec {
pname = "stremio-shell";
version = "4.4.165";
version = "4.4.168";
src = fetchFromGitHub {
owner = "Stremio";
repo = pname;
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-Gky0/HaGm11PeV4twoQV71T99NG2o0mYzQxu/c9x5oE=";
hash = "sha256-pz1mie0kJov06GcyitvZu5Gg0Vz3YnigjDqFujGKqZM=";
};
server = fetchurl {
url = "https://s3-eu-west-1.amazonaws.com/stremio-artifacts/four/v${version}/server.js";
sha256 = "sha256-52Pg0PrV15arGqhD3rXYCl1J6kcoL+/BHRvgiQBO/OA=";
hash = "sha256-aD3niQpgq1EiZLacnEFgmqUV+bc4rvGN9IA+9T4XF10=";
};
buildInputs = [ qtwebengine mpv ];
@@ -47,20 +47,20 @@ let
callPackage
(import ./generic.nix rec {
pname = "singularity-ce";
version = "4.2.0";
version = "4.2.1";
projectName = "singularity";
src = fetchFromGitHub {
owner = "sylabs";
repo = "singularity";
rev = "refs/tags/v${version}";
hash = "sha256-CxHbUke0Y9BDnyqTRZZqNtU006XGxFj3gond1BaYZO0=";
hash = "sha256-Go4um/bIgq2lCZvjJ2GR81XpA/JvjPholi1PzNG9Hz8=";
};
# Update by running
# nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules"
# at the root directory of the Nixpkgs repository
vendorHash = "sha256-R4hMg5TX5YXtnBopl7CYYCwA540BAx98/aaNfLpExV4=";
vendorHash = "sha256-CRZ42NdmJhAkV6bkl5n7rEV4Tu/h65qF5qaQ4W5wQ3w=";
# Do not build conmon and squashfuse from the Git submodule sources,
# Use Nixpkgs provided version
@@ -14,13 +14,13 @@ let
mkHyprlandPlugin,
}:
let
version = "0.42.0";
version = "0.43.0";
hyprland-plugins-src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprland-plugins";
rev = "refs/tags/v${version}";
hash = "sha256-aPzAbDgAyxJlUjyaFPDhjcL7WnyDP5uDZKOqlQRD8eM=";
hash = "sha256-dPcWAeRJoG5CyWC32X3XX+Og0v/k1/S1N0T5dQWT32k=";
};
in
mkHyprlandPlugin hyprland {
+478 -254
View File
@@ -297,25 +297,36 @@ rec {
ln -s ${inner}/bin/${name} $out
'';
# Like writeScript but the first line is a shebang to bash
#
# Can be called with or without extra arguments.
#
# Example without arguments:
# writeBash "example" ''
# echo hello world
# ''
#
# Example with arguments:
# writeBash "example"
# {
# makeWrapperArgs = [
# "--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
# ];
# }
# ''
# hello
# ''
/**
Like writeScript but the first line is a shebang to bash
Can be called with or without extra arguments.
# Examples
:::{.example}
## Without arguments
```nix
writeBash "example" ''
echo hello world
''
```
## With arguments
```nix
writeBash "example"
{
makeWrapperArgs = [
"--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
];
}
''
hello
''
```
:::
*/
writeBash =
name: argsOrScript:
if lib.isAttrs argsOrScript && !lib.isDerivation argsOrScript then
@@ -323,46 +334,72 @@ rec {
else
makeScriptWriter { interpreter = "${lib.getExe pkgs.bash}"; } name argsOrScript;
# Like writeScriptBin but the first line is a shebang to bash
#
# Can be called with or without extra arguments.
#
# Example without arguments:
# writeBashBin "example" ''
# echo hello world
# ''
#
# Example with arguments:
# writeBashBin "example"
# {
# makeWrapperArgs = [
# "--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
# ];
# }
# ''
# hello
# ''
/**
Like writeScriptBin but the first line is a shebang to bash
Can be called with or without extra arguments.
## Examples
:::{.example}
## `pkgs.writers.writeBashBin` example without arguments
```nix
writeBashBin "example" ''
echo hello world
''
```
:::
:::{.example}
## `pkgs.writers.writeBashBin` example with arguments
```nix
writeBashBin "example"
{
makeWrapperArgs = [
"--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
];
}
''
hello
''
```
:::
*/
writeBashBin = name: writeBash "/bin/${name}";
# Like writeScript but the first line is a shebang to dash
#
# Can be called with or without extra arguments.
#
# Example without arguments:
# writeDash "example" ''
# echo hello world
# ''
#
# Example with arguments:
# writeDash "example"
# {
# makeWrapperArgs = [
# "--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
# ];
# }
# ''
# hello
# ''
/**
Like writeScript but the first line is a shebang to dash
Can be called with or without extra arguments.
# Example
:::{.example}
## `pkgs.writers.writeDash` example without arguments
```nix
writeDash "example" ''
echo hello world
''
```
:::
:::{.example}
## `pkgs.writers.writeDash` example with arguments
```nix
writeDash "example"
{
makeWrapperArgs = [
"--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
];
}
''
hello
''
```
:::
*/
writeDash =
name: argsOrScript:
if lib.isAttrs argsOrScript && !lib.isDerivation argsOrScript then
@@ -370,46 +407,71 @@ rec {
else
makeScriptWriter { interpreter = "${lib.getExe pkgs.dash}"; } name argsOrScript;
# Like writeScriptBin but the first line is a shebang to dash
#
# Can be called with or without extra arguments.
#
# Example without arguments:
# writeDashBin "example" ''
# echo hello world
# ''
#
# Example with arguments:
# writeDashBin "example"
# {
# makeWrapperArgs = [
# "--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
# ];
# }
# ''
# hello
# ''
/**
Like writeScriptBin but the first line is a shebang to dash
Can be called with or without extra arguments.
# Examples
:::{.example}
## `pkgs.writers.writeDashBin` without arguments
```nix
writeDashBin "example" ''
echo hello world
''
```
:::
:::{.example}
## `pkgs.writers.writeDashBin` with arguments
```nix
writeDashBin "example"
{
makeWrapperArgs = [
"--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
];
}
''
hello
''
```
:::
*/
writeDashBin = name: writeDash "/bin/${name}";
# Like writeScript but the first line is a shebang to fish
#
# Can be called with or without extra arguments.
#
# Example without arguments:
# writeFish "example" ''
# echo hello world
# ''
#
# Example with arguments:
# writeFish "example"
# {
# makeWrapperArgs = [
# "--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
# ];
# }
# ''
# hello
# ''
/**
Like writeScript but the first line is a shebang to fish
Can be called with or without extra arguments.
:::{.example}
## `pkgs.writers.writeFish` without arguments
```nix
writeFish "example" ''
echo hello world
''
```
:::
:::{.example}
## `pkgs.writers.writeFish` with arguments
```nix
writeFish "example"
{
makeWrapperArgs = [
"--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
];
}
''
hello
''
```
:::
*/
writeFish =
name: argsOrScript:
if lib.isAttrs argsOrScript && !lib.isDerivation argsOrScript then
@@ -426,36 +488,57 @@ rec {
check = "${lib.getExe pkgs.fish} --no-config --no-execute"; # syntax check only
} name argsOrScript;
# Like writeScriptBin but the first line is a shebang to fish
#
# Can be called with or without extra arguments.
#
# Example without arguments:
# writeFishBin "example" ''
# echo hello world
# ''
#
# Example with arguments:
# writeFishBin "example"
# {
# makeWrapperArgs = [
# "--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
# ];
# }
# ''
# hello
# ''
/**
Like writeScriptBin but the first line is a shebang to fish
Can be called with or without extra arguments.
# Examples
:::{.example}
## `pkgs.writers.writeFishBin` without arguments
```nix
writeFishBin "example" ''
echo hello world
''
```
:::
:::{.example}
## `pkgs.writers.writeFishBin` with arguments
```nix
writeFishBin "example"
{
makeWrapperArgs = [
"--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
];
}
''
hello
''
```
:::
*/
writeFishBin = name: writeFish "/bin/${name}";
# writeHaskell takes a name, an attrset with libraries and haskell version (both optional)
# and some haskell source code and returns an executable.
#
# Example:
# writeHaskell "missiles" { libraries = [ pkgs.haskellPackages.acme-missiles ]; } ''
# import Acme.Missiles
#
# main = launchMissiles
# '';
/**
writeHaskell takes a name, an attrset with libraries and haskell version (both optional)
and some haskell source code and returns an executable.
# Examples
:::{.example}
## `pkgs.writers.writeHaskell` usage example
```nix
writeHaskell "missiles" { libraries = [ pkgs.haskellPackages.acme-missiles ]; } ''
import Acme.Missiles
main = launchMissiles
'';
```
:::
*/
writeHaskell =
name:
{
@@ -480,28 +563,43 @@ rec {
inherit makeWrapperArgs strip;
} name;
# writeHaskellBin takes the same arguments as writeHaskell but outputs a directory (like writeScriptBin)
/**
writeHaskellBin takes the same arguments as writeHaskell but outputs a directory (like writeScriptBin)
*/
writeHaskellBin = name: writeHaskell "/bin/${name}";
# Like writeScript but the first line is a shebang to nu
#
# Can be called with or without extra arguments.
#
# Example without arguments:
# writeNu "example" ''
# echo hello world
# ''
#
# Example with arguments:
# writeNu "example"
# {
# makeWrapperArgs = [
# "--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
# ];
# }
# ''
# hello
# ''
/**
Like writeScript but the first line is a shebang to nu
Can be called with or without extra arguments.
# Examples
:::{.example}
## `pkgs.writers.writeNu` without arguments
```nix
writeNu "example" ''
echo hello world
''
```
:::
:::{.example}
## `pkgs.writers.writeNu` with arguments
```nix
writeNu "example"
{
makeWrapperArgs = [
"--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
];
}
''
hello
''
```
:::
*/
writeNu =
name: argsOrScript:
if lib.isAttrs argsOrScript && !lib.isDerivation argsOrScript then
@@ -511,29 +609,44 @@ rec {
else
makeScriptWriter { interpreter = "${lib.getExe pkgs.nushell} --no-config-file"; } name argsOrScript;
# Like writeScriptBin but the first line is a shebang to nu
#
# Can be called with or without extra arguments.
#
# Example without arguments:
# writeNuBin "example" ''
# echo hello world
# ''
#
# Example with arguments:
# writeNuBin "example"
# {
# makeWrapperArgs = [
# "--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
# ];
# }
# ''
# hello
# ''
/**
Like writeScriptBin but the first line is a shebang to nu
Can be called with or without extra arguments.
# Examples
:::{.example}
## `pkgs.writers.writeNuBin` without arguments
```nix
writeNuBin "example" ''
echo hello world
''
```
:::
:::{.example}
## `pkgs.writers.writeNuBin` with arguments
```nix
writeNuBin "example"
{
makeWrapperArgs = [
"--prefix" "PATH" ":" "${lib.makeBinPath [ pkgs.hello ]}"
];
}
''
hello
''
```
:::
*/
writeNuBin = name: writeNu "/bin/${name}";
# makeRubyWriter takes ruby and compatible rubyPackages and produces ruby script writer,
# If any libraries are specified, ruby.withPackages is used as interpreter, otherwise the "bare" ruby is used.
/**
makeRubyWriter takes ruby and compatible rubyPackages and produces ruby script writer,
If any libraries are specified, ruby.withPackages is used as interpreter, otherwise the "bare" ruby is used.
*/
makeRubyWriter =
ruby: rubyPackages: buildRubyPackages: name:
{
@@ -552,19 +665,30 @@ rec {
}
) name;
# Like writeScript but the first line is a shebang to ruby
#
# Example:
# writeRuby "example" { libraries = [ pkgs.rubyPackages.git ]; } ''
# puts "hello world"
# ''
/**
Like writeScript but the first line is a shebang to ruby
# Examples
:::{.example}
## `pkgs.writers.writeRuby` usage example
```nix
writeRuby "example" { libraries = [ pkgs.rubyPackages.git ]; } ''
puts "hello world"
''
```
:::
*/
writeRuby = makeRubyWriter pkgs.ruby pkgs.rubyPackages buildPackages.rubyPackages;
writeRubyBin = name: writeRuby "/bin/${name}";
# makeLuaWriter takes lua and compatible luaPackages and produces lua script writer,
# which validates the script with luacheck at build time. If any libraries are specified,
# lua.withPackages is used as interpreter, otherwise the "bare" lua is used.
/**
makeLuaWriter takes lua and compatible luaPackages and produces lua script writer,
which validates the script with luacheck at build time. If any libraries are specified,
lua.withPackages is used as interpreter, otherwise the "bare" lua is used.
*/
makeLuaWriter =
lua: luaPackages: buildLuaPackages: name:
{
@@ -587,26 +711,35 @@ rec {
}
) name;
# writeLua takes a name an attributeset with libraries and some lua source code and
# returns an executable (should also work with luajit)
#
# Example:
# writeLua "test_lua" { libraries = [ pkgs.luaPackages.say ]; } ''
# s = require("say")
# s:set_namespace("en")
#
# s:set('money', 'I have %s dollars')
# s:set('wow', 'So much money!')
#
# print(s('money', {1000})) -- I have 1000 dollars
#
# s:set_namespace("fr") -- switch to french!
# s:set('wow', "Tant d'argent!")
#
# print(s('wow')) -- Tant d'argent!
# s:set_namespace("en") -- switch back to english!
# print(s('wow')) -- So much money!
# ''
/**
writeLua takes a name an attributeset with libraries and some lua source code and
returns an executable (should also work with luajit)
# Examples
:::{.example}
## `pkgs.writers.writeLua` usage example
```nix
writeLua "test_lua" { libraries = [ pkgs.luaPackages.say ]; } ''
s = require("say")
s:set_namespace("en")
s:set('money', 'I have %s dollars')
s:set('wow', 'So much money!')
print(s('money', {1000})) -- I have 1000 dollars
s:set_namespace("fr") -- switch to french!
s:set('wow', "Tant d'argent!")
print(s('wow')) -- Tant d'argent!
s:set_namespace("en") -- switch back to english!
print(s('wow')) -- So much money!
''
```
:::
*/
writeLua = makeLuaWriter pkgs.lua pkgs.luaPackages buildPackages.luaPackages;
writeLuaBin = name: writeLua "/bin/${name}";
@@ -632,16 +765,39 @@ rec {
writeRustBin = name: writeRust "/bin/${name}";
# writeJS takes a name an attributeset with libraries and some JavaScript sourcecode and
# returns an executable
#
# Example:
# writeJS "example" { libraries = [ pkgs.uglify-js ]; } ''
# var UglifyJS = require("uglify-js");
# var code = "function add(first, second) { return first + second; }";
# var result = UglifyJS.minify(code);
# console.log(result.code);
# ''
/**
writeJS takes a name an attributeset with libraries and some JavaScript sourcecode and
returns an executable
# Inputs
`name`
: 1\. Function argument
`attrs`
: 2\. Function argument
`content`
: 3\. Function argument
# Examples
:::{.example}
## `pkgs.writers.writeJS` usage example
```nix
writeJS "example" { libraries = [ pkgs.uglify-js ]; } ''
var UglifyJS = require("uglify-js");
var code = "function add(first, second) { return first + second; }";
var result = UglifyJS.minify(code);
console.log(result.code);
''
```
:::
*/
writeJS =
name:
{
@@ -660,7 +816,9 @@ rec {
exec ${lib.getExe pkgs.nodejs} ${pkgs.writeText "js" content} "$@"
'';
# writeJSBin takes the same arguments as writeJS but outputs a directory (like writeScriptBin)
/**
writeJSBin takes the same arguments as writeJS but outputs a directory (like writeScriptBin)
*/
writeJSBin = name: writeJS "/bin/${name}";
awkFormatNginx = builtins.toFile "awkFormat-nginx.awk" ''
@@ -685,14 +843,23 @@ rec {
gixy $out
'';
# writePerl takes a name an attributeset with libraries and some perl sourcecode and
# returns an executable
#
# Example:
# writePerl "example" { libraries = [ pkgs.perlPackages.boolean ]; } ''
# use boolean;
# print "Howdy!\n" if true;
# ''
/**
writePerl takes a name an attributeset with libraries and some perl sourcecode and
returns an executable
# Examples
:::{.example}
## `pkgs.writers.writePerl` usage example
```nix
writePerl "example" { libraries = [ pkgs.perlPackages.boolean ]; } ''
use boolean;
print "Howdy!\n" if true;
''
```
:::
*/
writePerl =
name:
{
@@ -706,12 +873,38 @@ rec {
}
) name;
# writePerlBin takes the same arguments as writePerl but outputs a directory (like writeScriptBin)
/**
writePerlBin takes the same arguments as writePerl but outputs a directory (like writeScriptBin)
*/
writePerlBin = name: writePerl "/bin/${name}";
# makePythonWriter takes python and compatible pythonPackages and produces python script writer,
# which validates the script with flake8 at build time. If any libraries are specified,
# python.withPackages is used as interpreter, otherwise the "bare" python is used.
/**
makePythonWriter takes python and compatible pythonPackages and produces python script writer,
which validates the script with flake8 at build time. If any libraries are specified,
python.withPackages is used as interpreter, otherwise the "bare" python is used.
# Inputs
`python`
: 1\. Function argument
`pythonPackages`
: 2\. Function argument
`buildPythonPackages`
: 3\. Function argument
`name`
: 4\. Function argument
`attrs`
: 5\. Function argument
*/
makePythonWriter =
python: pythonPackages: buildPythonPackages: name:
{
@@ -745,55 +938,86 @@ rec {
}
) name;
# writePyPy2 takes a name an attributeset with libraries and some pypy2 sourcecode and
# returns an executable
#
# Example:
# writePyPy2 "test_pypy2" { libraries = [ pkgs.pypy2Packages.enum ]; } ''
# from enum import Enum
#
# class Test(Enum):
# a = "success"
#
# print Test.a
# ''
/**
writePyPy2 takes a name an attributeset with libraries and some pypy2 sourcecode and
returns an executable
# Examples
:::{.example}
## `pkgs.writers.writePyPy2` usage example
```nix
writePyPy2 "test_pypy2" { libraries = [ pkgs.pypy2Packages.enum ]; } ''
from enum import Enum
class Test(Enum):
a = "success"
print Test.a
''
```
:::
*/
writePyPy2 = makePythonWriter pkgs.pypy2 pkgs.pypy2Packages buildPackages.pypy2Packages;
# writePyPy2Bin takes the same arguments as writePyPy2 but outputs a directory (like writeScriptBin)
/**
writePyPy2Bin takes the same arguments as writePyPy2 but outputs a directory (like writeScriptBin)
*/
writePyPy2Bin = name: writePyPy2 "/bin/${name}";
# writePython3 takes a name an attributeset with libraries and some python3 sourcecode and
# returns an executable
#
# Example:
# writePython3 "test_python3" { libraries = [ pkgs.python3Packages.pyyaml ]; } ''
# import yaml
#
# y = yaml.safe_load("""
# - test: success
# """)
# print(y[0]['test'])
# ''
/**
writePython3 takes a name an attributeset with libraries and some python3 sourcecode and
returns an executable
# Examples
:::{.example}
## `pkgs.writers.writePython3` usage example
```nix
writePython3 "test_python3" { libraries = [ pkgs.python3Packages.pyyaml ]; } ''
import yaml
y = yaml.safe_load("""
- test: success
""")
print(y[0]['test'])
''
```
:::
*/
writePython3 = makePythonWriter pkgs.python3 pkgs.python3Packages buildPackages.python3Packages;
# writePython3Bin takes the same arguments as writePython3 but outputs a directory (like writeScriptBin)
writePython3Bin = name: writePython3 "/bin/${name}";
# writePyPy3 takes a name an attributeset with libraries and some pypy3 sourcecode and
# returns an executable
#
# Example:
# writePyPy3 "test_pypy3" { libraries = [ pkgs.pypy3Packages.pyyaml ]; } ''
# import yaml
#
# y = yaml.safe_load("""
# - test: success
# """)
# print(y[0]['test'])
# ''
/**
writePyPy3 takes a name an attributeset with libraries and some pypy3 sourcecode and
returns an executable
# Examples
:::{.example}
## `pkgs.writers.writePyPy3` usage example
```nix
writePyPy3 "test_pypy3" { libraries = [ pkgs.pypy3Packages.pyyaml ]; } ''
import yaml
y = yaml.safe_load("""
- test: success
""")
print(y[0]['test'])
''
```
:::
*/
writePyPy3 = makePythonWriter pkgs.pypy3 pkgs.pypy3Packages buildPackages.pypy3Packages;
# writePyPy3Bin takes the same arguments as writePyPy3 but outputs a directory (like writeScriptBin)
/**
writePyPy3Bin takes the same arguments as writePyPy3 but outputs a directory (like writeScriptBin)
*/
writePyPy3Bin = name: writePyPy3 "/bin/${name}";
makeFSharpWriter =
+2 -2
View File
@@ -16,14 +16,14 @@
python3Packages.buildPythonApplication rec {
pname = "binary";
version = "4.0";
version = "5.0";
format = "other";
src = fetchFromGitHub {
owner = "fizzyizzy05";
repo = "binary";
rev = "refs/tags/${version}";
hash = "sha256-sIW20yHNPBeGSV9Rx7GMpuWpSkVgk5YMJoeYEq7Ag6s=";
hash = "sha256-T/gFXYcUJBN1NWMQaFco1bqqZTz3JHQpM8C2Y5yz7SI=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -100,7 +100,7 @@ stdenv.mkDerivation rec {
homepage = "https://gitlab.gnome.org/GNOME/cheese";
description = "Take photos and videos with your webcam, with fun graphical effects";
mainProgram = "cheese";
maintainers = [ ];
maintainers = with maintainers; [ aleksana ];
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
+1 -1
View File
@@ -58,7 +58,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "Tiny alternative Discord client";
license = lib.licenses.gpl3Only;
mainProgram = "dorion";
maintainers = [ ];
maintainers = with lib.maintainers; [ aleksana ];
platforms = lib.intersectLists (lib.platforms.linux) (lib.platforms.x86_64);
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
+38
View File
@@ -0,0 +1,38 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
jdupes,
}:
stdenvNoCC.mkDerivation {
pname = "fcitx5-fluent";
version = "0.4.0-unstable-2024-03-30";
src = fetchFromGitHub {
owner = "Reverier-Xu";
repo = "Fluent-fcitx5";
rev = "dc98bc13e8eadabed7530a68706f0a2a0a07340e";
hash = "sha256-d1Y0MUOofBxwyeoXxUzQHrngL1qnL3TMa5DhDki7Pk8=";
};
nativeBuildInputs = [ jdupes ];
installPhase = ''
runHook preInstall
mkdir -p $out/share/fcitx5/themes
cp -r FluentDark FluentDark-solid FluentLight FluentLight-solid $out/share/fcitx5/themes
jdupes --quiet --link-soft --recurse $out/share
runHook postInstall
'';
meta = with lib; {
description = "A fluent-design theme with blur effect and shadow";
homepage = "https://github.com/Reverier-Xu/Fluent-fcitx5";
license = licenses.mpl20;
platforms = platforms.all;
maintainers = with maintainers; [ oo-infty ];
};
}
@@ -1,37 +1,17 @@
{
lib,
fetchFromGitLab,
python3Packages,
python3,
fetchPypi,
apksigner,
appdirs,
buildPythonApplication,
python3,
installShellFiles,
androguard,
babel,
clint,
defusedxml,
gitpython,
libcloud,
mwclient,
oscrypto,
paramiko,
pillow,
pyasn1,
pyasn1-modules,
python-vagrant,
pyyaml,
qrcode,
requests,
ruamel-yaml,
sdkmanager,
yamllint,
}:
let
version = "2.3a1";
version = "2.3a2";
in
buildPythonApplication {
python3Packages.buildPythonApplication {
pname = "fdroidserver";
inherit version;
@@ -40,8 +20,8 @@ buildPythonApplication {
src = fetchFromGitLab {
owner = "fdroid";
repo = "fdroidserver";
rev = "2.3a1";
hash = "sha256-K6P5yGx2ZXHJZ/VyHTbQAObsvcfnOatrpwiW+ixLTuA=";
rev = version;
hash = "sha256-nsAFBZqxo4XVWU6nBjo2T6VhU8U4I8h/FRXd1L240rk=";
};
pythonRelaxDeps = [
@@ -68,11 +48,11 @@ buildPythonApplication {
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ babel ];
build-system = with python3Packages; [ babel ];
propagatedBuildInputs = [
dependencies = with python3Packages; [
androguard
appdirs
platformdirs
clint
defusedxml
gitpython
@@ -83,6 +63,7 @@ buildPythonApplication {
pillow
pyasn1
pyasn1-modules
pycountry
python-vagrant
pyyaml
qrcode
+3 -3
View File
@@ -5,7 +5,7 @@
let
pname = "gate";
version = "0.39.3";
version = "0.40.0";
in
buildGoModule {
inherit pname version;
@@ -14,10 +14,10 @@ buildGoModule {
owner = "minekube";
repo = "gate";
rev = "refs/tags/v${version}";
hash = "sha256-K2xpRljlKO9DAlXqnmlWsY67ysv449o2vb+OuSXcvnY=";
hash = "sha256-zEbkt38/K4LVLVXXqaLU83mX94vI/dbZ+JqOjn2u0/c=";
};
vendorHash = "sha256-GatbReuW6azrxHnGuW1omR3HRntLBp0J8in4sRc7sJc=";
vendorHash = "sha256-W3YBIbxblxO5Rirso+b20h4cwUzfj8rG/Owh1KyJ0mM=";
ldflags = [ "-s" "-w" ];
+1 -1
View File
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
This GNOME utility helps to manage time according to Pomodoro Technique.
It intends to improve productivity and focus by taking short breaks.
'';
maintainers = [ ];
maintainers = with maintainers; [ aleksana ];
license = licenses.gpl3Plus;
platforms = platforms.linux;
};
+2 -2
View File
@@ -5,11 +5,11 @@
stdenvNoCC.mkDerivation rec {
pname = "lxgw-neoxihei";
version = "1.202";
version = "1.205";
src = fetchurl {
url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
hash = "sha256-J0dCbgpI3bQwuA/fM5m1Rh43ZaihGSjsTTyFvp8TAEM=";
hash = "sha256-86EengjzmhmEVm7yOovRF/oG7i8nlhzLL44N8j/nf9w=";
};
dontUnpack = true;
+2 -2
View File
@@ -6,14 +6,14 @@
telegram-desktop.overrideAttrs (
finalAttrs: previousAttrs: {
pname = "materialgram";
version = "5.4.1.1";
version = "5.5.4.1";
src = fetchFromGitHub {
owner = "kukuruzka165";
repo = "materialgram";
rev = "refs/tags/v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-enA/8mIXcRTPGyZFgZ5Wg4fWq4fD4rtjH7bm/32FZaE";
hash = "sha256-LfeIhnCQ/b3Z7F3jUEdutlbZjSQoGr+zXP3oBiqe3XY=";
};
meta = previousAttrs.meta // {
+320 -278
View File
File diff suppressed because it is too large Load Diff
+5 -3
View File
@@ -3,6 +3,7 @@
, fetchFromGitHub
, nix-update-script
, pkg-config
, libdisplay-info
, libxkbcommon
, pango
, pipewire
@@ -20,19 +21,19 @@
rustPlatform.buildRustPackage rec {
pname = "niri";
version = "0.1.8";
version = "0.1.9";
src = fetchFromGitHub {
owner = "YaLTeR";
repo = "niri";
rev = "v${version}";
hash = "sha256-13xynDWoOqogUKZTf6lz267hEQGdCE+BE6acs2G3j8k=";
hash = "sha256-4YDrKMwXGVOBkeaISbxqf24rLuHvO98TnqxWYfgiSeg=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"smithay-0.3.0" = "sha256-4lmCbdW+fOnPWEDAbKk4LFcr9KK+akjUJqiwm0pK8Uw=";
"smithay-0.3.0" = "sha256-/3BO66yVoo63+5rwrZzoxhSTncvLyHdvtSaApFj3fBg=";
"libspa-0.8.0" = "sha256-R68TkFbzDFA/8Btcar+0omUErLyBMm4fsmQlCvfqR9o=";
};
};
@@ -48,6 +49,7 @@ rustPlatform.buildRustPackage rec {
wayland
systemd # For libudev
seatd # For libseat
libdisplay-info
libxkbcommon
libinput
mesa # For libgbm
+3 -3
View File
@@ -5,16 +5,16 @@
rustPlatform.buildRustPackage rec {
pname = "obs-cmd";
version = "0.17.7";
version = "0.17.8";
src = fetchFromGitHub {
owner = "grigio";
repo = "obs-cmd";
rev = "v${version}";
hash = "sha256-+rsX86PrTlswi7uItyfOqYWziJ0kLl9X86TMtcmMCKo=";
hash = "sha256-IOGdy3X0/r/kuEXAvLeJk2HXtcGI+vbh4Dn1/yOpkmM=";
};
cargoHash = "sha256-u+IHQiKEX0KUkwz4KsqwIgdo3KAxarPZgrmJWA1qQ50=";
cargoHash = "sha256-oCu/ygjZxEqxE+5Vca3l1mZP3hd+r+5gi2iogQMnEcU=";
meta = with lib; {
description = "Minimal CLI to control OBS Studio via obs-websocket";
+3 -3
View File
@@ -8,17 +8,17 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pdns-recursor";
version = "5.0.6";
version = "5.1.1";
src = fetchurl {
url = "https://downloads.powerdns.com/releases/pdns-recursor-${finalAttrs.version}.tar.bz2";
hash = "sha256-2QiF0qu33f6XQc2Pv1ubppAilsd7L1Ekh3kGZZHvPzI=";
hash = "sha256-W3q3k6zoIilKPzgJL+cu5kdI/wy7ilKD3Hf0B4BgWuk=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit (finalAttrs) src;
sourceRoot = "pdns-recursor-${finalAttrs.version}/settings/rust";
hash = "sha256-XHzuYkO91TJNU2DYqMlafqrc2zR1WvIrNLjFHL2FcwA=";
hash = "sha256-1CHhnW8s4AA06HAgW+A/mx1jGTynj4CvIc/I7n0h+VY";
};
cargoRoot = "settings/rust";
+3 -3
View File
@@ -11,14 +11,14 @@
rustPlatform.buildRustPackage rec {
pname = "systemctl-tui";
version = "0.3.7";
version = "0.3.8";
src = fetchCrate {
inherit pname version;
hash = "sha256-i0yCVXip1RcvKqxidflgW4wJFxAmUPRO04CeETzUgms=";
hash = "sha256-i2PKSvjsrITLp3a3EgfFF3IR464mkkDnh8ITLO+o0hU=";
};
cargoHash = "sha256-4gY9pQO2ljbyviaL20ikEqwdAHS4bqpzE6YyaBW/b7c=";
cargoHash = "sha256-6cFK1wMO5VICfi3tN140XH9inQOkkSfHVogKhTHtQb8=";
buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AppKit ];
@@ -0,0 +1,41 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
autoreconfHook,
vapoursynth,
nasm,
fftwFloat,
}:
stdenv.mkDerivation rec {
pname = "vapoursynth-mvtools";
version = "24";
src = fetchFromGitHub {
owner = "dubhater";
repo = "vapoursynth-mvtools";
rev = "v${version}";
hash = "sha256-bEifU1PPNOBr6o9D6DGIzTaG4xjygBxkQYnZxd/4SwQ=";
};
nativeBuildInputs = [
pkg-config
autoreconfHook
];
buildInputs = [
nasm
vapoursynth
fftwFloat
];
configureFlags = [ "--libdir=$(out)/lib/vapoursynth" ];
meta = with lib; {
description = "Set of filters for motion estimation and compensation";
homepage = "https://github.com/dubhater/vapoursynth-mvtools";
license = licenses.gpl2;
maintainers = with maintainers; [ rnhmjoj ];
};
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,61 @@
{
lib,
fetchFromGitHub,
rustPlatform,
go,
buildGoModule,
}:
rustPlatform.buildRustPackage {
pname = "you-have-mail-cli";
version = "0.3.0";
src = fetchFromGitHub {
owner = "LeanderBB";
repo = "you-have-mail-cli";
rev = "b338153353495428e2dc0065843553b7821b9d3a";
hash = "sha256-YgIztCmL+uJUUXu+BWXLf9f4L7UpuPf0onsfMRtlWkw=";
};
nativeBuildInputs = [
rustPlatform.bindgenHook
go
];
goSrpVersion = "0.1.5";
configurePhase = ''
export GOCACHE=$TMPDIR/go-cache
export GOPATH="$TMPDIR/go"
export GOPROXY=off
cp -r --reflink=auto $goModules ../cargo-vendor-dir/go-srp-$goSrpVersion/go/vendor
'';
goModules =
(buildGoModule {
pname = "proton-api-rs";
version = "0.14.0";
src = fetchFromGitHub {
owner = "LeanderBB";
repo = "proton-api-rs";
rev = "4597810e8335118f3c780a04e6d099ae46a7a376";
hash = "sha256-PN5+D8PY7ouhvoyhu0X0PsgF8tgptl80cF0w2u8nUqs=";
};
modRoot = "./go-srp/go/";
vendorHash = "sha256-QPj2jq8hWL4kZellM/VwqrO/Oku/JW1Cig1Iv5YSI1U=";
}).goModules;
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"you-have-mail-common-0.8.1" = "sha256-jDOIMvHqWvPpnyZ5V+6VsyFUDXz84yFROkInXE5CIyE=";
};
};
meta = {
description = "Small application to notify you when you receive an email in your email account";
homepage = "https://github.com/LeanderBB/you-have-mail-cli";
license = lib.licenses.agpl3Only;
mainProgram = "you-have-mail-cli";
maintainers = with lib.maintainers; [ baksa ];
};
}
@@ -0,0 +1,44 @@
This patch introduces an intermediate Gradle build step to alter the behavior
of flutter_tools' Gradle project, specifically moving the creation of `build`
and `.gradle` directories from within the Nix Store to somewhere in `$HOME/.cache/flutter/nix-flutter-tools-gradle/$engineShortRev`.
Without this patch, flutter_tools' Gradle project tries to generate `build` and `.gradle`
directories within the Nix Store. Resulting in read-only errors when trying to build a
Flutter Android app at runtime.
This patch takes advantage of the fact settings.gradle takes priority over settings.gradle.kts to build the intermediate Gradle project
when a Flutter app runs `includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")`
`rootProject.buildFileName = "/dev/null"` so that the intermediate project doesn't use `build.gradle.kts` that's in the same directory.
The intermediate project makes a `settings.gradle` file in `$HOME/.cache/flutter/nix-flutter-tools-gradle/<short engine rev>/` and `includeBuild`s it.
This Gradle project will build the actual `packages/flutter_tools/gradle` project by setting
`rootProject.projectDir = new File("$settingsDir")` and `apply from: new File("$settingsDir/settings.gradle.kts")`.
Now the `.gradle` will be built in `$HOME/.cache/flutter/nix-flutter-tools-gradle/<short engine rev>/`, but `build` doesn't.
To move `build` to `$HOME/.cache/flutter/nix-flutter-tools-gradle/<short engine rev>/` as well, we need to set `buildDirectory`.
diff --git a/packages/flutter_tools/gradle/settings.gradle b/packages/flutter_tools/gradle/settings.gradle
new file mode 100644
index 0000000000..b2485c94b4
--- /dev/null
+++ b/packages/flutter_tools/gradle/settings.gradle
@@ -0,0 +1,19 @@
+rootProject.buildFileName = "/dev/null"
+
+def engineShortRev = (new File("$settingsDir/../../../bin/internal/engine.version")).text.take(10)
+def dir = new File("$System.env.HOME/.cache/flutter/nix-flutter-tools-gradle/$engineShortRev")
+dir.mkdirs()
+def file = new File(dir, "settings.gradle")
+
+file.text = """
+rootProject.projectDir = new File("$settingsDir")
+apply from: new File("$settingsDir/settings.gradle.kts")
+
+gradle.allprojects { project ->
+ project.beforeEvaluate {
+ project.layout.buildDirectory = new File("$dir/build")
+ }
+}
+"""
+
+includeBuild(dir)
@@ -0,0 +1,44 @@
This patch introduces an intermediate Gradle build step to alter the behavior
of flutter_tools' Gradle project, specifically moving the creation of `build`
and `.gradle` directories from within the Nix Store to somewhere in `$HOME/.cache/flutter/nix-flutter-tools-gradle/$engineShortRev`.
Without this patch, flutter_tools' Gradle project tries to generate `build` and `.gradle`
directories within the Nix Store. Resulting in read-only errors when trying to build a
Flutter Android app at runtime.
This patch takes advantage of the fact settings.gradle takes priority over settings.gradle.kts to build the intermediate Gradle project
when a Flutter app runs `includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")`
`rootProject.buildFileName = "/dev/null"` so that the intermediate project doesn't use `build.gradle.kts` that's in the same directory.
The intermediate project makes a `settings.gradle` file in `$HOME/.cache/flutter/nix-flutter-tools-gradle/<short engine rev>/` and `includeBuild`s it.
This Gradle project will build the actual `packages/flutter_tools/gradle` project by setting
`rootProject.projectDir = new File("$settingsDir")` and `apply from: new File("$settingsDir/settings.gradle.kts")`.
Now the `.gradle` will be built in `$HOME/.cache/flutter/nix-flutter-tools-gradle/<short engine rev>/`, but `build` doesn't.
To move `build` to `$HOME/.cache/flutter/nix-flutter-tools-gradle/<short engine rev>/` as well, we need to set `buildDirectory`.
diff --git a/packages/flutter_tools/gradle/settings.gradle b/packages/flutter_tools/gradle/settings.gradle
new file mode 100644
index 0000000000..b2485c94b4
--- /dev/null
+++ b/packages/flutter_tools/gradle/settings.gradle
@@ -0,0 +1,19 @@
+rootProject.buildFileName = "/dev/null"
+
+def engineShortRev = (new File("$settingsDir/../../../bin/internal/engine.version")).text.take(10)
+def dir = new File("$System.env.HOME/.cache/flutter/nix-flutter-tools-gradle/$engineShortRev")
+dir.mkdirs()
+def file = new File(dir, "settings.gradle")
+
+file.text = """
+rootProject.projectDir = new File("$settingsDir")
+apply from: new File("$settingsDir/settings.gradle.kts")
+
+gradle.allprojects { project ->
+ project.beforeEvaluate {
+ project.layout.buildDirectory = new File("$dir/build")
+ }
+}
+"""
+
+includeBuild(dir)
+15 -4
View File
@@ -1,5 +1,5 @@
{ stdenv, lib, fetchFromGitea, pkg-config, meson, ninja, scdoc
, freetype, fontconfig, pixman, tllist, check
{ stdenv, lib, fetchFromGitea, fetchpatch, pkg-config, meson, ninja, scdoc
, freetype, fontconfig, nanosvg, pixman, tllist, check
# Text shaping methods to enable, empty list disables all text shaping.
# See `availableShapingTypes` or upstream meson_options.txt for available types.
, withShapingTypes ? [ "grapheme" "run" ]
@@ -27,15 +27,26 @@ stdenv.mkDerivation rec {
hash = "sha256-Wgm2QdW4rg573soF/8HhDmlyN4S2cA0VWOejow464gU=";
};
patches = [
(fetchpatch {
name = "system-nanosvg.patch";
url = "https://codeberg.org/dnkl/fcft/commit/5cee776e1d7f1bdb0df383c3dd798831a6fe4fa0.patch";
excludes = [ "CHANGELOG.md" ];
hash = "sha256-yRBtKCKT/Oih66/OQqt4GPg3GfHmhiLM8mlLEWYYRC0=";
})
];
depsBuildBuild = [ pkg-config ];
nativeBuildInputs = [ pkg-config meson ninja scdoc ];
buildInputs = [ freetype fontconfig pixman tllist ]
buildInputs = [ freetype fontconfig nanosvg pixman tllist ]
++ lib.optionals (withShapingTypes != []) [ harfbuzz ]
++ lib.optionals (builtins.elem "run" withShapingTypes) [ utf8proc ];
nativeCheckInputs = [ check ];
mesonBuildType = "release";
mesonFlags = builtins.map (t:
mesonFlags = [
(lib.mesonEnable "system-nanosvg" true)
] ++ builtins.map (t:
lib.mesonEnable "${t}-shaping" (lib.elem t withShapingTypes)
) availableShapingTypes;
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "libspiro";
version = "20240902";
version = "20240903";
src = fetchFromGitHub {
owner = "fontforge";
repo = pname;
rev = version;
sha256 = "sha256-GaLfNxL/Y0JsRXIldxliBFaB2ZLFVPR7Du8GTZ77HFo=";
sha256 = "sha256-psEF1SWkire6ngEUcMU0xnGYaT8ktqDCBlBckToGUMg=";
};
nativeBuildInputs = [ pkg-config autoreconfHook ];
@@ -1,29 +0,0 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook,
vapoursynth, nasm, fftwFloat
}:
stdenv.mkDerivation rec {
pname = "vapoursynth-mvtools";
version = "23";
src = fetchFromGitHub {
owner = "dubhater";
repo = "vapoursynth-mvtools";
rev = "v${version}";
sha256 = "0lngkvxnzn82rz558nvl96rvclrck07ja1pny7wcfixp9b68ppkn";
};
nativeBuildInputs = [ pkg-config autoreconfHook ];
buildInputs = [
nasm vapoursynth fftwFloat
];
configureFlags = [ "--libdir=$(out)/lib/vapoursynth" ];
meta = with lib; {
description = "Set of filters for motion estimation and compensation";
homepage = "https://github.com/dubhater/vapoursynth-mvtools";
license = licenses.gpl2;
maintainers = with maintainers; [ rnhmjoj ];
};
}
@@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "blis";
version = "1.0.0";
version = "1.0.1";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "explosion";
repo = "cython-blis";
rev = "refs/tags/release-v${version}";
hash = "sha256-XS6h2c+8BJ9pAvIX8340C4vRZEBRmEZc6/6tH7ooqNU=";
hash = "sha256-8JaQgTda1EBiZdSrZtKwJ8e/aDENQ+dMmTiH/t1ax5I=";
};
postPatch = ''
@@ -38,6 +38,7 @@
distributed,
pyinstrument,
pytestCheckHook,
pytest-xdist,
}:
buildPythonPackage rec {
@@ -90,6 +91,7 @@ buildPythonPackage rec {
distributed
pyinstrument
pytestCheckHook
pytest-xdist
];
pythonImportsCheck = [ "coffea" ];
@@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "fastcore";
version = "1.7.5";
version = "1.7.8";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "fastai";
repo = "fastcore";
rev = "refs/tags/${version}";
hash = "sha256-4u1vjuUANWgJXQ4iG3Md2oIDxlz/6TOcDOYjlnsgqnU=";
hash = "sha256-pBmtNrXincaOBADKgTaq7OmcrFlz6q7HROsUSRN0w8k=";
};
build-system = [ setuptools ];
@@ -1,37 +1,40 @@
{
lib,
stdenv,
buildPythonPackage,
pythonOlder,
fetchFromGitHub,
# build-system
setuptools,
setuptools-scm,
# dependencies
fsspec,
xrootd,
# tests
pkgs,
pytestCheckHook,
stdenv,
}:
buildPythonPackage rec {
pname = "fsspec-xrootd";
version = "0.3.0";
version = "0.4.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "CoffeaTeam";
repo = "fsspec-xrootd";
rev = "refs/tags/v${version}";
hash = "sha256-fhamfMWlsiiqfU9c9XDfLEEkRbMAqm74rc2bGF3fRaM=";
hash = "sha256-Ge7pVrcCYNp8yNV+ZkBftLeCCSUhtO+HJHsSHT58jcs=";
};
nativeBuildInputs = [
build-system = [
setuptools
setuptools-scm
];
propagatedBuildInputs = [
dependencies = [
fsspec
xrootd
];
@@ -52,11 +55,11 @@ buildPythonPackage rec {
# Timeout related tests hang indifinetely
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ "tests/test_basicio.py" ];
meta = with lib; {
meta = {
description = "XRootD implementation for fsspec";
homepage = "https://github.com/CoffeaTeam/fsspec-xrootd";
changelog = "https://github.com/CoffeaTeam/fsspec-xrootd/releases/tag/v${version}";
license = licenses.bsd3;
maintainers = with maintainers; [ GaetanLepage ];
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
@@ -1,24 +1,29 @@
{
lib,
buildPythonPackage,
pythonOlder,
fetchFromGitHub,
# build-system
setuptools,
setuptools-scm,
pytestCheckHook,
pytest-cov-stub,
# dependencies
babel,
commonmark,
htmltools,
importlib-metadata,
importlib-resources,
ipykernel,
ipython,
numpy,
typing-extensions,
# tests
ipykernel,
ipython,
pandas,
polars,
pyarrow,
pytestCheckHook,
pytest-cov-stub,
requests,
syrupy,
}:
@@ -28,8 +33,6 @@ buildPythonPackage rec {
version = "0.11.0";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "posit-dev";
repo = "great-tables";
@@ -76,6 +79,8 @@ buildPythonPackage rec {
"test_save_non_png"
];
__darwinAllowLocalNetworking = true;
meta = {
description = "Library for rendering and formatting dataframes";
homepage = "https://github.com/posit-dev/great-tables";
@@ -2,45 +2,50 @@
lib,
buildPythonPackage,
fetchFromGitHub,
pythonOlder,
# build-system
setuptools,
prettytable,
sqlalchemy,
sqlparse,
# dependencies
ipython-genutils,
jinja2,
sqlglot,
jupysql-plugin,
ploomber-core,
ploomber-extension,
ipython,
prettytable,
sqlalchemy,
sqlglot,
sqlparse,
# optional-dependencies
duckdb,
duckdb-engine,
matplotlib,
polars,
grpcio,
ipython,
ipywidgets,
js2py,
matplotlib,
numpy,
pandas,
js2py,
pyspark,
polars,
pyarrow,
grpcio,
pyspark,
# tests
pytestCheckHook,
psutil,
}:
buildPythonPackage rec {
pname = "jupysql";
version = "0.10.11";
version = "0.10.13";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "ploomber";
repo = "jupysql";
rev = "refs/tags/${version}";
hash = "sha256-A9zTjH+9RYKcgy4mI6uOMHOc46om06y1zK3IbxeVcWE=";
hash = "sha256-vNuMGHFkatJS5KjxaOBwZ7JolIDAdYqGq3JNKSV2fKE=";
};
pythonRelaxDeps = [ "sqlalchemy" ];
@@ -48,30 +53,29 @@ buildPythonPackage rec {
build-system = [ setuptools ];
dependencies = [
prettytable
sqlalchemy
sqlparse
ipython-genutils
jinja2
sqlglot
jupysql-plugin
ploomber-core
ploomber-extension
prettytable
sqlalchemy
sqlglot
sqlparse
];
optional-dependencies.dev = [
ipython
duckdb
duckdb-engine
matplotlib
polars
grpcio
ipython
ipywidgets
js2py
matplotlib
numpy
pandas
js2py
pyspark
polars
pyarrow
grpcio
pyspark
];
nativeCheckInputs = [
@@ -79,6 +83,11 @@ buildPythonPackage rec {
psutil
] ++ optional-dependencies.dev;
disabledTests = [
# AttributeError: 'DataFrame' object has no attribute 'frame_equal'
"test_resultset_polars_dataframe"
];
disabledTestPaths = [
# require docker
"src/tests/integration"
@@ -101,11 +110,11 @@ buildPythonPackage rec {
pythonImportsCheck = [ "sql" ];
meta = with lib; {
meta = {
description = "Better SQL in Jupyter";
homepage = "https://github.com/ploomber/jupysql";
changelog = "https://github.com/ploomber/jupysql/blob/${version}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ pacien ];
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ pacien ];
};
}
File diff suppressed because it is too large Load Diff
@@ -28,19 +28,16 @@
buildPythonPackage rec {
pname = "lancedb";
version = "0.12.0";
version = "0.13.0";
pyproject = true;
src = fetchFromGitHub {
owner = "lancedb";
repo = "lancedb";
rev = "refs/tags/python-v${version}";
hash = "sha256-LDxq49aFxUmRAw8tQvFxnExtU0IKKqMbxIBuY95cBHU=";
hash = "sha256-6E20WgyoEALdxmiOfgq89dCkqovvIMzc/wy+kvjDWwU=";
};
# ratelimiter only support up to python310 and it has been removed from nixpkgs
patches = [ ./remove-ratelimiter.patch ];
buildAndTestSubdir = "python";
cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; };
@@ -70,8 +67,6 @@ buildPythonPackage rec {
]
);
pythonRemoveDeps = [ "ratelimiter" ];
dependencies = [
attrs
cachetools
@@ -104,6 +99,10 @@ buildPythonPackage rec {
disabledTests = [
# require tantivy which is not packaged in nixpkgs
"test_basic"
# polars.exceptions.ComputeError: TypeError: _scan_pyarrow_dataset_impl() got multiple values for argument 'batch_size'
# https://github.com/lancedb/lancedb/issues/1539
"test_polars"
];
disabledTestPaths = [
@@ -1,26 +0,0 @@
diff --git a/python/python/lancedb/embeddings/utils.py b/python/python/lancedb/embeddings/utils.py
index 813631c..4ae6025 100644
--- a/python/python/lancedb/embeddings/utils.py
+++ b/python/python/lancedb/embeddings/utils.py
@@ -111,7 +111,7 @@ class FunctionWrapper:
if len(self.rate_limiter_kwargs) > 0:
v = int(sys.version_info.minor)
- if v >= 11:
+ if True:
print(
"WARNING: rate limit only support up to 3.10, proceeding "
"without rate limiter"
diff --git a/python/python/tests/test_embeddings.py b/python/python/tests/test_embeddings.py
index ed7b105..28ca9cb 100644
--- a/python/python/tests/test_embeddings.py
+++ b/python/python/tests/test_embeddings.py
@@ -35,7 +35,7 @@ def mock_embed_func(input_data):
def test_with_embeddings():
for wrap_api in [True, False]:
- if wrap_api and sys.version_info.minor >= 11:
+ if wrap_api:
# ratelimiter package doesn't work on 3.11
continue
data = pa.Table.from_arrays(
@@ -0,0 +1,60 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
setuptools-scm,
# dependencies
httpx,
pycryptodome,
# tests
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "msmart-ng";
version = "2024.9.0";
pyproject = true;
src = fetchFromGitHub {
owner = "mill1000";
repo = "midea-msmart";
rev = version;
hash = "sha256-djo+sINurnrt0GO8045bgNstjh+yl+CE2GJ1vWivAqY=";
};
build-system = [
setuptools
setuptools-scm
];
dependencies = [
httpx
pycryptodome
];
nativeCheckInputs = [ pytestCheckHook ];
disabledTestPaths = [
# network access
"msmart/tests/test_cloud.py"
];
pythonImportsCheck = [ "msmart" ];
meta = with lib; {
changelog = "https://github.com/mill1000/midea-msmart/releases/tag/${version}";
description = "Python library for local control of Midea (and associated brands) smart air conditioners";
homepage = "https://github.com/mill1000/midea-msmart";
license = licenses.mit;
mainProgram = "msmart-ng";
maintainers = with maintainers; [
hexa
emilylange
];
};
}
@@ -22,7 +22,7 @@
buildPythonPackage rec {
pname = "nvchecker";
version = "2.14.1";
version = "2.15.1";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
owner = "lilydjwg";
repo = "nvchecker";
rev = "v${version}";
hash = "sha256-V2lTGeaiwUsh8IONbZ5GQrqevJMhjeuFLTDF8UdWg8Q=";
hash = "sha256-dK3rZCoSukCzPOFVectQiF6qplUuDBh9qyN8JL0+j20=";
};
nativeBuildInputs = [
@@ -10,13 +10,13 @@
buildPythonPackage rec {
pname = "oelint-parser";
version = "4.0.0";
version = "4.0.2";
format = "setuptools";
src = fetchPypi {
inherit version;
pname = "oelint_parser";
hash = "sha256-YrOQUimRqW9wwPofkpihYwwIhZbi6yZJfsknY8xLQQk=";
hash = "sha256-HBUrOyLvFKSp6OCN1hxEGhHLRYuBBcH725JjlCEzy8g=";
};
buildInputs = [ pip ];
+110 -81
View File
@@ -108,13 +108,13 @@ checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
[[package]]
name = "apache-avro"
version = "0.16.0"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ceb7c683b2f8f40970b70e39ff8be514c95b96fcb9c4af87e1ed2cb2e10801a0"
checksum = "1aef82843a0ec9f8b19567445ad2421ceeb1d711514384bdd3d49fe37102ee13"
dependencies = [
"bigdecimal",
"crc32fast",
"digest",
"lazy_static",
"libflate 2.1.0",
"log",
"num-bigint",
@@ -122,10 +122,11 @@ dependencies = [
"rand",
"regex-lite",
"serde",
"serde_bytes",
"serde_json",
"snap",
"strum 0.25.0",
"strum_macros 0.25.3",
"strum",
"strum_macros",
"thiserror",
"typed-builder",
"uuid",
@@ -737,6 +738,20 @@ version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
[[package]]
name = "bigdecimal"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51d712318a27c7150326677b321a5fa91b55f6d9034ffd67f20319e147d40cee"
dependencies = [
"autocfg",
"libm",
"num-bigint",
"num-integer",
"num-traits",
"serde",
]
[[package]]
name = "bincode"
version = "1.3.3"
@@ -893,6 +908,15 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
[[package]]
name = "castaway"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5"
dependencies = [
"rustversion",
]
[[package]]
name = "cc"
version = "1.1.14"
@@ -1022,11 +1046,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7"
dependencies = [
"crossterm",
"strum 0.26.3",
"strum_macros 0.26.4",
"strum",
"strum_macros",
"unicode-width",
]
[[package]]
name = "compact_str"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6050c3a16ddab2e412160b31f2c871015704239bca62f72f6e5f0be631d3f644"
dependencies = [
"castaway",
"cfg-if",
"itoa",
"rustversion",
"ryu",
"serde",
"static_assertions",
]
[[package]]
name = "const-oid"
version = "0.9.6"
@@ -1973,9 +2012,9 @@ dependencies = [
[[package]]
name = "indexmap"
version = "2.4.0"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c"
checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5"
dependencies = [
"equivalent",
"hashbrown",
@@ -2229,7 +2268,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
dependencies = [
"cfg-if",
"windows-targets 0.52.6",
"windows-targets 0.48.5",
]
[[package]]
@@ -2494,6 +2533,7 @@ checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
dependencies = [
"num-integer",
"num-traits",
"serde",
]
[[package]]
@@ -2913,7 +2953,7 @@ dependencies = [
[[package]]
name = "polars"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"ahash",
"apache-avro",
@@ -2943,7 +2983,7 @@ dependencies = [
[[package]]
name = "polars-arrow"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"ahash",
"arrow-array",
@@ -2978,6 +3018,7 @@ dependencies = [
"parking_lot",
"polars-arrow-format",
"polars-error",
"polars-schema",
"polars-utils",
"proptest",
"rand",
@@ -3011,7 +3052,7 @@ dependencies = [
[[package]]
name = "polars-compute"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"bytemuck",
"either",
@@ -3026,7 +3067,7 @@ dependencies = [
[[package]]
name = "polars-core"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"ahash",
"arrow-array",
@@ -3046,6 +3087,7 @@ dependencies = [
"polars-compute",
"polars-error",
"polars-row",
"polars-schema",
"polars-utils",
"rand",
"rand_distr",
@@ -3053,7 +3095,6 @@ dependencies = [
"regex",
"serde",
"serde_json",
"smartstring",
"thiserror",
"version_check",
"xxhash-rust",
@@ -3061,7 +3102,7 @@ dependencies = [
[[package]]
name = "polars-doc-examples"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"aws-config",
"aws-sdk-s3",
@@ -3075,7 +3116,7 @@ dependencies = [
[[package]]
name = "polars-error"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"avro-schema",
"object_store",
@@ -3087,12 +3128,13 @@ dependencies = [
[[package]]
name = "polars-expr"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"ahash",
"bitflags",
"once_cell",
"polars-arrow",
"polars-compute",
"polars-core",
"polars-io",
"polars-json",
@@ -3101,12 +3143,11 @@ dependencies = [
"polars-time",
"polars-utils",
"rayon",
"smartstring",
]
[[package]]
name = "polars-ffi"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"polars-arrow",
"polars-core",
@@ -3114,7 +3155,7 @@ dependencies = [
[[package]]
name = "polars-io"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"ahash",
"async-trait",
@@ -3142,6 +3183,7 @@ dependencies = [
"polars-error",
"polars-json",
"polars-parquet",
"polars-schema",
"polars-time",
"polars-utils",
"rayon",
@@ -3152,7 +3194,6 @@ dependencies = [
"serde_json",
"simd-json",
"simdutf8",
"smartstring",
"tempfile",
"tokio",
"tokio-util",
@@ -3162,7 +3203,7 @@ dependencies = [
[[package]]
name = "polars-json"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"ahash",
"chrono",
@@ -3182,7 +3223,7 @@ dependencies = [
[[package]]
name = "polars-lazy"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"ahash",
"bitflags",
@@ -3204,14 +3245,13 @@ dependencies = [
"pyo3",
"rayon",
"serde_json",
"smartstring",
"tokio",
"version_check",
]
[[package]]
name = "polars-mem-engine"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"futures",
"memmap2",
@@ -3232,7 +3272,7 @@ dependencies = [
[[package]]
name = "polars-ops"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"ahash",
"aho-corasick",
@@ -3253,6 +3293,7 @@ dependencies = [
"polars-core",
"polars-error",
"polars-json",
"polars-schema",
"polars-utils",
"rand",
"rand_distr",
@@ -3260,14 +3301,13 @@ dependencies = [
"regex",
"serde",
"serde_json",
"smartstring",
"unicode-reverse",
"version_check",
]
[[package]]
name = "polars-parquet"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"ahash",
"async-stream",
@@ -3278,6 +3318,7 @@ dependencies = [
"fallible-streaming-iterator",
"flate2",
"futures",
"hashbrown",
"lz4",
"lz4_flex",
"num-traits",
@@ -3297,7 +3338,7 @@ dependencies = [
[[package]]
name = "polars-pipe"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"crossbeam-channel",
"crossbeam-queue",
@@ -3315,7 +3356,6 @@ dependencies = [
"polars-row",
"polars-utils",
"rayon",
"smartstring",
"tokio",
"uuid",
"version_check",
@@ -3323,11 +3363,12 @@ dependencies = [
[[package]]
name = "polars-plan"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"ahash",
"bitflags",
"bytemuck",
"bytes",
"chrono",
"chrono-tz",
"ciborium",
@@ -3353,18 +3394,18 @@ dependencies = [
"regex",
"serde",
"serde_json",
"smartstring",
"strum_macros 0.26.4",
"strum_macros",
"version_check",
]
[[package]]
name = "polars-python"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"ahash",
"arboard",
"bytemuck",
"bytes",
"ciborium",
"either",
"itoa",
@@ -3387,14 +3428,13 @@ dependencies = [
"pyo3",
"recursive",
"serde_json",
"smartstring",
"thiserror",
"version_check",
]
[[package]]
name = "polars-row"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"bytemuck",
"polars-arrow",
@@ -3402,9 +3442,20 @@ dependencies = [
"polars-utils",
]
[[package]]
name = "polars-schema"
version = "0.43.1"
dependencies = [
"indexmap",
"polars-error",
"polars-utils",
"serde",
"version_check",
]
[[package]]
name = "polars-sql"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"hex",
"once_cell",
@@ -3415,6 +3466,7 @@ dependencies = [
"polars-ops",
"polars-plan",
"polars-time",
"polars-utils",
"rand",
"serde",
"serde_json",
@@ -3423,7 +3475,7 @@ dependencies = [
[[package]]
name = "polars-stream"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"atomic-waker",
"crossbeam-deque",
@@ -3450,7 +3502,7 @@ dependencies = [
[[package]]
name = "polars-time"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"atoi",
"bytemuck",
@@ -3465,16 +3517,16 @@ dependencies = [
"polars-utils",
"regex",
"serde",
"smartstring",
]
[[package]]
name = "polars-utils"
version = "0.42.0"
version = "0.43.1"
dependencies = [
"ahash",
"bytemuck",
"bytes",
"compact_str",
"hashbrown",
"indexmap",
"libc",
@@ -3486,7 +3538,6 @@ dependencies = [
"raw-cpuid",
"rayon",
"serde",
"smartstring",
"stacker",
"sysinfo",
"version_check",
@@ -3572,7 +3623,7 @@ dependencies = [
[[package]]
name = "py-polars"
version = "1.6.0"
version = "1.7.1"
dependencies = [
"built",
"jemallocator",
@@ -3695,9 +3746,9 @@ dependencies = [
[[package]]
name = "quinn-proto"
version = "0.11.6"
version = "0.11.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba92fb39ec7ad06ca2582c0ca834dfeadcaf06ddfc8e635c80aa7e1c05315fdd"
checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6"
dependencies = [
"bytes",
"rand",
@@ -4278,6 +4329,15 @@ dependencies = [
"serde_derive",
]
[[package]]
name = "serde_bytes"
version = "0.11.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a"
dependencies = [
"serde",
]
[[package]]
name = "serde_derive"
version = "1.0.209"
@@ -4424,18 +4484,6 @@ version = "1.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
[[package]]
name = "smartstring"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29"
dependencies = [
"autocfg",
"serde",
"static_assertions",
"version_check",
]
[[package]]
name = "snafu"
version = "0.7.5"
@@ -4539,31 +4587,12 @@ version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82"
[[package]]
name = "strum"
version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
[[package]]
name = "strum"
version = "0.26.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06"
[[package]]
name = "strum_macros"
version = "0.25.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
dependencies = [
"heck 0.4.1",
"proc-macro2",
"quote",
"rustversion",
"syn 2.0.76",
]
[[package]]
name = "strum_macros"
version = "0.26.4"
@@ -4909,18 +4938,18 @@ dependencies = [
[[package]]
name = "typed-builder"
version = "0.16.2"
version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34085c17941e36627a879208083e25d357243812c30e7d7387c3b954f30ade16"
checksum = "a06fbd5b8de54c5f7c91f6fe4cebb949be2125d7758e630bb58b1d831dbce600"
dependencies = [
"typed-builder-macro",
]
[[package]]
name = "typed-builder-macro"
version = "0.16.2"
version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f03ca4cb38206e2bef0700092660bb74d696f808514dae47fa1467cbfe26e96e"
checksum = "f9534daa9fd3ed0bd911d462a37f172228077e7abf18c18a5f67199d959205f8"
dependencies = [
"proc-macro2",
"quote",
@@ -2,12 +2,10 @@
lib,
stdenv,
buildPythonPackage,
pythonOlder,
rustPlatform,
cmake,
libiconv,
fetchFromGitHub,
typing-extensions,
jemalloc,
rust-jemalloc-sys,
darwin,
@@ -21,16 +19,14 @@ in
buildPythonPackage rec {
pname = "polars";
version = "1.6.0";
version = "1.7.1";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "pola-rs";
repo = "polars";
rev = "refs/tags/py-${version}";
hash = "sha256-qJTBGGRxMAirgygm7Ke60olO5sTZboZ80JkYI0LZSMk=";
hash = "sha256-vbligrFrCd7BiPV8n1iRIlurPNirJKOiD4/P5qEpirg=";
};
# Cargo.lock file is sometimes behind actual release which throws an error,
@@ -42,7 +38,9 @@ buildPythonPackage rec {
cargoDeps = rustPlatform.importCargoLock {
lockFile = ./Cargo.lock;
outputHashes."numpy-0.21.0" = "sha256-u0Z+6L8pXSPaA3cE1sUpY6sCoaU1clXUcj/avnNzmsw=";
outputHashes = {
"numpy-0.21.0" = "sha256-u0Z+6L8pXSPaA3cE1sUpY6sCoaU1clXUcj/avnNzmsw=";
};
};
buildAndTestSubdir = "py-polars";
@@ -50,8 +48,6 @@ buildPythonPackage rec {
# Revisit this whenever package or Rust is upgraded
RUSTC_BOOTSTRAP = 1;
propagatedBuildInputs = lib.optionals (pythonOlder "3.11") [ typing-extensions ];
# trick taken from the polars repo since there seems to be a problem
# with simd enabled with our stable rust (instead of nightly).
maturinBuildFlags = [
@@ -76,6 +72,7 @@ buildPythonPackage rec {
[ rust-jemalloc-sys' ]
++ lib.optionals stdenv.isDarwin [
libiconv
darwin.apple_sdk.frameworks.AppKit
darwin.apple_sdk.frameworks.Security
darwin.apple_sdk.frameworks.SystemConfiguration
];
@@ -92,11 +89,11 @@ buildPythonPackage rec {
pythonImportsCheck = [ "polars" ];
meta = with lib; {
meta = {
description = "Fast multi-threaded DataFrame library";
homepage = "https://github.com/pola-rs/polars";
changelog = "https://github.com/pola-rs/polars/releases/tag/py-${version}";
license = licenses.asl20;
maintainers = with maintainers; [ happysalada ];
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ happysalada ];
};
}
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "publicsuffixlist";
version = "1.0.2.20240912";
version = "1.0.2.20240913";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-BF5puZ4AL1IoXun+vZ71WrKREShYj60Zdsy4uzh5h9I=";
hash = "sha256-H7+HSF0XKfAOA8LI+/O3Ke495Yhrwb2LWAz4bd2FC18=";
};
build-system = [ setuptools ];
File diff suppressed because it is too large Load Diff
@@ -2,34 +2,47 @@
lib,
stdenv,
buildPythonPackage,
rustPlatform,
fetchFromGitHub,
darwin,
libiconv,
rustPlatform,
# nativeBuildInputs
pkg-config,
# buildInputs
libiconv,
protobuf,
darwin,
# dependencies
numpy,
pyarrow,
# optional-dependencies
torch,
# tests
duckdb,
ml-dtypes,
pandas,
pillow,
polars,
pytestCheckHook,
torch,
tqdm,
# passthru
nix-update-script,
}:
buildPythonPackage rec {
pname = "pylance";
version = "0.16.0";
version = "0.17.0";
pyproject = true;
src = fetchFromGitHub {
owner = "lancedb";
repo = "lance";
rev = "refs/tags/v${version}";
hash = "sha256-bB+6q3kkSxY8i5xf4wumREHizUGWWOZ8Tr5Gt10CVAs=";
hash = "sha256-E+29CbVNbzmrQnBZt0860IvL4xYZqzE+uzSuKDwgxzg=";
};
buildAndTestSubdir = "python";
@@ -74,6 +87,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "lance" ];
nativeCheckInputs = [
duckdb
ml-dtypes
pandas
pillow
@@ -86,12 +100,6 @@ buildPythonPackage rec {
cd python/python/tests
'';
disabledTests = [
# Error during planning: Invalid function 'invert'.
"test_polar_scan"
"test_simple_predicates"
];
passthru.updateScript = nix-update-script {
extraArgs = [
"--generate-lockfile"
@@ -103,6 +111,7 @@ buildPythonPackage rec {
meta = {
description = "Python wrapper for Lance columnar format";
homepage = "https://github.com/lancedb/lance";
changelog = "https://github.com/lancedb/lance/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ natsukium ];
};
@@ -22,7 +22,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python bindings for Qt5";
homepage = "https://www.riverbankcomputing.com/software/sip/";
homepage = "https://github.com/Python-SIP/sip";
license = licenses.gpl3Only;
inherit (mesa.meta) platforms;
maintainers = with maintainers; [ LunNova ];
+1 -1
View File
@@ -22,7 +22,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python bindings for Qt5";
homepage = "https://www.riverbankcomputing.com/software/sip/";
homepage = "https://github.com/Python-SIP/sip";
license = licenses.gpl3Only;
inherit (mesa.meta) platforms;
maintainers = with maintainers; [ sander ];
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "pysmlight";
version = "0.0.15";
version = "0.0.16";
pyproject = true;
src = fetchFromGitHub {
owner = "smlight-tech";
repo = "pysmlight";
rev = "refs/tags/v${version}";
hash = "sha256-DbuVbA6Tdi+qpop6Gnubra9Pv0qAQr1QvgWLJx9elkU=";
hash = "sha256-TjFMK14uWkguZpF5siWG/zoOBUuCxtDnfX7+QpRKDh8=";
};
build-system = [ poetry-core ];
@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "quantile-forest";
version = "1.3.10";
version = "1.3.11";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "zillow";
repo = "quantile-forest";
rev = "refs/tags/v${version}";
hash = "sha256-Od8x+dgrJubTWhfrLYM8tVf0PSIYYpafUkoorS/aYKg=";
hash = "sha256-0gdXjr+mRInZtvmgH1vRjLCkXZmTn1zWmD3E1ass9hQ=";
};
build-system = [
@@ -0,0 +1,44 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
dpkt,
pyyaml,
pythonOlder,
pytestCheckHook,
}:
buildPythonPackage {
pname = "ts1-signatures";
version = "0-unstable-2024-08-10";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "yifeikong";
repo = "th1";
rev = "efa682bd37c668ae00d2225deb753e01f6cd1406";
hash = "sha256-fz5EFPO5UPPbFnqe4wE1y2lIROPByse9awyBa49o8ZE=";
};
build-system = [ setuptools ];
dependencies = [
dpkt
pyyaml
];
nativeCheckInputs = [ pytestCheckHook ];
disabledTests = [
"test_nghttpd_log_parsing" # Attempts to load things from logs/ which it cannot find for some reason.
];
meta = {
description = "TLS and HTTP signature and fingerprint library";
homepage = "https://github.com/yifeikong/th1";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ggg ];
};
}
@@ -17,14 +17,14 @@
}:
buildPythonPackage rec {
pname = "uxsim";
version = "1.5.0";
version = "1.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "toruseo";
repo = "UXsim";
rev = "refs/tags/v${version}";
hash = "sha256-hZjyUKDzI8AZW8OFC+RKbJNt8qXuHjTX9STYJTWszF4=";
hash = "sha256-+nJsP/XAp6F7LZQI559rI3OCFnMTXJ4eFKEEJyEDHDg=";
};
patches = [ ./add-qt-plugin-path-to-env.patch ];
@@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "checkov";
version = "3.2.251";
version = "3.2.253";
pyproject = true;
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = "checkov";
rev = "refs/tags/${version}";
hash = "sha256-PBv6e0Y9kT6KmM12jnhF+9QC17v5A/rbR/5KBDV6Ekc=";
hash = "sha256-ARtJBQsY46pIrKzYXBfH4diMh1ECFiilY2AZlN34/vY=";
};
patches = [ ./flake8-compat-5.x.patch ];
@@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "codeql";
version = "2.18.3";
version = "2.18.4";
dontConfigure = true;
dontBuild = true;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
src = fetchzip {
url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
hash = "sha256-GLk8ayrOZJGu4NzU6qW4HvCbW5lil31sZ70kWHuJVwA=";
hash = "sha256-nVeIdwTg1BdRrnvwVlmo0bZh1OopMn3WCBaHxpoJas8=";
};
nativeBuildInputs = [
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "crd2pulumi";
version = "1.4.0";
version = "1.5.0";
src = fetchFromGitHub {
owner = "pulumi";
repo = "crd2pulumi";
rev = "v${version}";
sha256 = "sha256-PfgFDYZS5zKywQH6f5L8mFmEagxcEQ74Ht7D22hSYHY=";
sha256 = "sha256-DuTGsa8udtnYuWCqGZTXyELZsAse8EF2xiVcXl/SE3M=";
};
vendorHash = "sha256-k6YJhYY2P/D8Vbsp5PExKrcGXBv2GsIkqb3m6KeYm6g=";
vendorHash = "sha256-pdrFG0vArpbPlXtgGulTLBvWttVps6vVZFn67tay2Gg=";
ldflags = [ "-s" "-w" "-X github.com/pulumi/crd2pulumi/gen.Version=${src.rev}" ];
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "clickhouse-backup";
version = "2.6.0";
version = "2.6.1";
src = fetchFromGitHub {
owner = "Altinity";
repo = "clickhouse-backup";
rev = "v${version}";
hash = "sha256-FlF/XOZS3oaxW+LkWv8K47PVWR1vffkp9YnEH+eKFyA=";
hash = "sha256-IaRM0wxG/8O12SuCls9MAtiobPHhuDFoFDaT3ZOn2Hk=";
};
vendorHash = "sha256-IEqxC4EzkEZnZru6U9O7U9kf375YKqBeyeJPqzaWbuM=";
vendorHash = "sha256-n3rlijycZ5qZtR/e+Z/UPCcr47p4wN3kFgfWr+73WAQ=";
ldflags = [
"-X main.version=${version}"
@@ -8,16 +8,16 @@
buildNpmPackage rec {
pname = "firebase-tools";
version = "13.16.0";
version = "13.17.0";
src = fetchFromGitHub {
owner = "firebase";
repo = "firebase-tools";
rev = "v${version}";
hash = "sha256-aDEZ82fqiFcalOjnzHRYb4kV4vYh83WmM0DSO+QoHww=";
hash = "sha256-Tf01j8t4zCrUDWB8+5DkJ+74OBJLD23FlI+4QlWCjLw=";
};
npmDepsHash = "sha256-fLn4j2u5Bjv2r9aQPsqFuGdSSu8hcUeHqoNq3CddDCU=";
npmDepsHash = "sha256-Ghi4H7BPTQhpnI0UZWBVC9OX4F6NFlbXrtSxA5U4omg=";
postPatch = ''
ln -s npm-shrinkwrap.json package-lock.json
+2 -2
View File
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "vendir";
version = "0.41.1";
version = "0.42.0";
src = fetchFromGitHub {
owner = "vmware-tanzu";
repo = "carvel-vendir";
rev = "v${version}";
sha256 = "sha256-kWmv5ALEVSwJP47JuSNsAsMS+qaZbUgFtayE3nIEIFE=";
sha256 = "sha256-/lbCSZZQensoPQbzs3ZC3H02CE6V/eOruiqPRS5vlTE=";
};
vendorHash = null;
@@ -38,6 +38,8 @@
mass = callPackage ./mass { };
midea_ac = callPackage ./midea_ac { };
midea_ac_lan = callPackage ./midea_ac_lan {};
midea-air-appliances-lan = callPackage ./midea-air-appliances-lan {};
@@ -0,0 +1,31 @@
{
lib,
buildHomeAssistantComponent,
fetchFromGitHub,
msmart-ng,
}:
buildHomeAssistantComponent rec {
owner = "mill1000";
domain = "midea_ac";
version = "2024.9.2";
src = fetchFromGitHub {
owner = "mill1000";
repo = "midea-ac-py";
rev = version;
hash = "sha256-PVR3yuyWMilmyOS341pS73c9ocOrFfJ9dwiKEYqCtM4=";
};
dependencies = [ msmart-ng ];
meta = with lib; {
description = "Home Assistant custom integration to control Midea (and associated brands) air conditioners via LAN";
homepage = "https://github.com/mill1000/midea-ac-py";
license = licenses.mit;
maintainers = with maintainers; [
hexa
emilylange
];
};
}
+1 -1
View File
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
description = "Patcher for IPS and BPS files";
homepage = "https://github.com/Alcaro/Flips";
license = licenses.gpl3Plus;
maintainers = [ ];
maintainers = with lib.maintainers; [ aleksana ];
platforms = platforms.linux;
mainProgram = "flips";
};
@@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "ibus-table";
version = "1.17.7";
version = "1.17.8";
src = fetchFromGitHub {
owner = "kaio";
repo = "ibus-table";
rev = version;
sha256 = "sha256-oofn/P3iY6dtrtS4VkoH3i21IRtIlVDyF8D+v2n+PgU=";
sha256 = "sha256-bPHwpTrDCLil6xNBr7lKAMP71koFlZvPc2vpDuwzZzM=";
};
postPatch = ''
+2 -2
View File
@@ -6,13 +6,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "vtm";
version = "0.9.99.07";
version = "0.9.99.09";
src = fetchFromGitHub {
owner = "netxs-group";
repo = "vtm";
rev = "v${finalAttrs.version}";
hash = "sha256-RKCh3lQuYD9Cpjq9R0Sle7QYinw7+E4/agGxQZvN8v4=";
hash = "sha256-Ddnj2atJZ4uJqa/UCRfKowJDZbhnQBTgkFZvc4778gc=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -10,13 +10,13 @@
rustPlatform.buildRustPackage rec {
pname = "zoxide";
version = "0.9.4";
version = "0.9.5";
src = fetchFromGitHub {
owner = "ajeetdsouza";
repo = "zoxide";
rev = "refs/tags/v${version}";
hash = "sha256-Yp7uLoFEDkb0TztcDCeAkt+EHQRt56ncPqkBtd/zzzI=";
hash = "sha256-4Vb0C6k36VQwiruGj7lu6MjDEeTh84JSHw47YMbFb30=";
};
nativeBuildInputs = [ installShellFiles ];
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
--replace '"fzf"' '"${fzf}/bin/fzf"'
'';
cargoHash = "sha256-t6GVoMBCD0s36GhtqJu9Z2bwwq5P+beEObG+gSC+QUw=";
cargoHash = "sha256-G6Aqn+q48s8Qsoa1EMowtw5bnUnnYWhyGr4hNhVYNMo=";
postInstall = ''
installManPage man/man*/*
@@ -0,0 +1,206 @@
{
lib,
stdenv,
fetchFromGitHub,
callPackage,
buildGoModule,
installShellFiles,
buildPackages,
zlib,
zstd,
sqlite,
cmake,
python3,
ninja,
perl,
autoconf,
automake,
libtool,
cctools,
cacert,
unzip,
go,
p11-kit,
}:
stdenv.mkDerivation rec {
pname = "curl-impersonate-chrome";
version = "0.7.0";
outputs = [
"out"
"dev"
];
src = fetchFromGitHub {
owner = "yifeikong";
repo = "curl-impersonate";
rev = "v${version}";
hash = "sha256-nxANiNgrbbp7F6k2y1HGGWGOUBRwc3tK8WcNIqEBLz4=";
};
patches = [ ./disable-building-docs.patch ];
# Disable blanket -Werror to fix build on `gcc-13` related to minor
# warnings on `boringssl`.
env.NIX_CFLAGS_COMPILE = "-Wno-error";
strictDeps = true;
depsBuildBuild = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
buildPackages.stdenv.cc
];
nativeBuildInputs =
lib.optionals stdenv.isDarwin [
# Must come first so that it shadows the 'libtool' command but leaves 'libtoolize'
cctools
]
++ [
installShellFiles
cmake
python3
python3.pythonOnBuildForHost.pkgs.gyp
ninja
perl
autoconf
automake
libtool
unzip
go
];
buildInputs = [
zlib
zstd
sqlite
];
configureFlags = [
"--with-ca-bundle=${
if stdenv.isDarwin then "/etc/ssl/cert.pem" else "/etc/ssl/certs/ca-certificates.crt"
}"
"--with-ca-path=${cacert}/etc/ssl/certs"
];
buildFlags = [ "chrome-build" ];
checkTarget = "chrome-checkbuild";
installTargets = [ "chrome-install" ];
doCheck = true;
dontUseCmakeConfigure = true;
dontUseNinjaBuild = true;
dontUseNinjaInstall = true;
dontUseNinjaCheck = true;
postUnpack =
lib.concatStringsSep "\n" (
lib.mapAttrsToList (name: dep: "ln -sT ${dep.outPath} source/${name}") (
lib.filterAttrs (n: v: v ? outPath) passthru.deps
)
)
+ ''
curltar=$(realpath -s source/curl-*.tar.gz)
pushd "$(mktemp -d)"
tar -xf "$curltar"
pushd curl-curl-*/
patchShebangs scripts
popd
rm "$curltar"
tar -czf "$curltar" .
popd
'';
preConfigure = ''
export GOCACHE=$TMPDIR/go-cache
export GOPATH=$TMPDIR/go
export GOPROXY=file://${passthru.boringssl-go-modules}
export GOSUMDB=off
# Need to get value of $out for this flag
configureFlagsArray+=("--with-libnssckbi=$out/lib")
'';
postInstall =
''
# Remove vestigial *-config script
rm $out/bin/curl-impersonate-chrome-config
# Patch all shebangs of installed scripts
patchShebangs $out/bin
# Install headers
make -C curl-*/include install
''
+ lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
# Build and install completions for each curl binary
# Patch in correct binary name and alias it to all scripts
perl curl-*/scripts/completion.pl --curl $out/bin/curl-impersonate-chrome --shell zsh >$TMPDIR/curl-impersonate-chrome.zsh
substituteInPlace $TMPDIR/curl-impersonate-chrome.zsh \
--replace-fail \
'#compdef curl' \
"#compdef curl-impersonate-chrome$(find $out/bin -name 'curl_*' -printf ' %f=curl-impersonate-chrome')"
perl curl-*/scripts/completion.pl --curl $out/bin/curl-impersonate-chrome --shell fish >$TMPDIR/curl-impersonate-chrome.fish
substituteInPlace $TMPDIR/curl-impersonate-chrome.fish \
--replace-fail \
'--command curl' \
"--command curl-impersonate-chrome$(find $out/bin -name 'curl_*' -printf ' --command %f')"
# Install zsh and fish completions
installShellCompletion $TMPDIR/curl-impersonate-chrome.{zsh,fish}
'';
preFixup =
let
libext = stdenv.hostPlatform.extensions.sharedLibrary;
in
''
# If libnssckbi.so is needed, link libnssckbi.so without needing nss in closure
if grep -F nssckbi $out/lib/libcurl-impersonate-*${libext} &>/dev/null; then
ln -s ${p11-kit}/lib/pkcs11/p11-kit-trust${libext} $out/lib/libnssckbi${libext}
${lib.optionalString stdenv.hostPlatform.isElf ''
patchelf --add-needed libnssckbi${libext} $out/lib/libcurl-impersonate-*${libext}
''}
fi
'';
disallowedReferences = [ go ];
passthru = {
deps = callPackage ./deps.nix { };
updateScript = ./update.sh;
boringssl-go-modules =
(buildGoModule {
inherit (passthru.deps."boringssl.zip") name;
src = passthru.deps."boringssl.zip";
vendorHash = "sha256-oKlwh+Oup3lVgqgq42vY3iLg62VboF9N565yK2W0XxI=";
nativeBuildInputs = [ unzip ];
proxyVendor = true;
}).goModules;
};
meta = {
description = "Special build of curl that can impersonate Chrome & Firefox";
homepage = "https://github.com/yifeikong/curl-impersonate";
license = with lib.licenses; [
curl
mit
];
maintainers = with lib.maintainers; [ ggg ];
platforms = lib.platforms.unix;
mainProgram = "curl-impersonate-chrome";
};
}
+24
View File
@@ -0,0 +1,24 @@
# Generated by update.sh
{ fetchurl }:
{
"curl-8_7_1.tar.gz" = fetchurl {
url = "https://github.com/curl/curl/archive/curl-8_7_1.tar.gz";
hash = "sha256-DkbIVvUXYCw0e7X+W3MXT47nmLyH8alyNclXYfdfzCg=";
};
"brotli-1.1.0.tar.gz" = fetchurl {
url = "https://github.com/google/brotli/archive/refs/tags/v1.1.0.tar.gz";
hash = "sha256-5yCmyilCi4A/StFlNxdx9TmPq6OX7fZ3iDehhZnqE/8=";
};
"boringssl.zip" = fetchurl {
url = "https://github.com/google/boringssl/archive/d24a38200fef19150eef00cad35b138936c08767.zip";
hash = "sha256-tzAAwL70VAyUEOZZ86ql+RgXsw4DZhkvW5l0d1eVVHU=";
};
"nghttp2-1.61.0.tar.bz2" = fetchurl {
url = "https://github.com/nghttp2/nghttp2/releases/download/v1.61.0/nghttp2-1.61.0.tar.bz2";
hash = "sha256-Toz37DLUxaQwlmJC1yA10lXNlHCodm1h7tegGQ3VRP0=";
};
}
@@ -0,0 +1,20 @@
From 5366ca35b3d20ef962ccf54399cc44f523d803be Mon Sep 17 00:00:00 2001
From: GGG <gggkiller2@gmail.com>
Date: Mon, 5 Aug 2024 04:19:29 -0300
Subject: [PATCH] Disable building docs
---
Makefile.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/Makefile.in b/Makefile.in
index 41d7324..b1f5ec6 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -249,6 +249,7 @@ $(CURL_VERSION)/.chrome: $(chrome_libs) $(CURL_VERSION).tar.gz $(CURL_VERSION)/.
# (for cross compilation), then pass it on to curl.
{ \
config_flags="--prefix=@prefix@"; \
+ config_flags="$$config_flags --disable-manual"; \
config_flags="$$config_flags --with-nghttp2=$(nghttp2_install_dir)"; \
config_flags="$$config_flags --with-brotli=$(brotli_install_dir)"; \
config_flags="$$config_flags --with-openssl=$(boringssl_install_dir)"; \
+88
View File
@@ -0,0 +1,88 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p git nix jq coreutils gnugrep gnused curl common-updater-scripts
# shellcheck shell=bash
set -euo pipefail
nixpkgs="$(git rev-parse --show-toplevel || (printf 'Could not find root of nixpkgs repo\nAre we running from within the nixpkgs git repo?\n' >&2; exit 1))"
stripwhitespace() {
sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
}
narhash() {
nix --extra-experimental-features nix-command store prefetch-file --json "$1" | jq -r .hash
}
nixeval() {
nix --extra-experimental-features nix-command eval --json --impure -f "$nixpkgs" "$1" | jq -r .
}
vendorhash() {
(nix --extra-experimental-features nix-command build --no-link -f "$nixpkgs" --no-link "$1" 2>&1 >/dev/null | tail -n3 | grep -F got: | cut -d: -f2- | stripwhitespace) 2>/dev/null || true
}
findpath() {
path="$(nix --extra-experimental-features nix-command eval --json --impure -f "$nixpkgs" "$1.meta.position" | jq -r . | cut -d: -f1)"
outpath="$(nix --extra-experimental-features nix-command eval --json --impure --expr "builtins.fetchGit \"$nixpkgs\"")"
if [ -n "$outpath" ]; then
path="${path/$(echo "$outpath" | jq -r .)/$nixpkgs}"
fi
echo "$path"
}
getvar() {
echo "$2" | grep -F "$1" | sed -e 's/:=/:/g' | cut -d: -f2- | stripwhitespace
}
attr="${UPDATE_NIX_ATTR_PATH:-curl-impersonate-chrome}"
version="$(curl -sSL "https://api.github.com/repos/yifeikong/curl-impersonate/releases/latest" | jq -r .tag_name | sed -e 's/^v//')"
pkgpath="$(findpath "$attr")"
updated="$(cd "$nixpkgs" && update-source-version "$attr" "$version" --file="$pkgpath" --print-changes | jq -r length)"
if [ "$updated" -eq 0 ]; then
echo 'update.sh: Package version not updated, nothing to do.'
exit 0
fi
vars="$(curl -sSL "https://github.com/yifeikong/curl-impersonate/raw/v$version/Makefile.in" | grep '^ *[^ ]*_\(VERSION\|URL\|COMMIT\) *:=')"
# TODO: Fix hash for curl.
cat >"$(dirname "$pkgpath")"/deps.nix <<EOF
# Generated by update.sh
{ fetchurl }:
{
"$(getvar CURL_VERSION "$vars").tar.gz" = fetchurl {
url = "https://github.com/curl/curl/archive/$(getvar CURL_VERSION "$vars").tar.gz";
hash = "$(narhash "https://github.com/curl/curl/archive/$(getvar CURL_VERSION "$vars").tar.gz")";
};
"brotli-$(getvar BROTLI_VERSION "$vars").tar.gz" = fetchurl {
url = "https://github.com/google/brotli/archive/refs/tags/v$(getvar BROTLI_VERSION "$vars").tar.gz";
hash = "$(narhash "https://github.com/google/brotli/archive/refs/tags/v$(getvar BROTLI_VERSION "$vars").tar.gz")";
};
"boringssl.zip" = fetchurl {
url = "https://github.com/google/boringssl/archive/$(getvar BORING_SSL_COMMIT "$vars").zip";
hash = "$(narhash "https://github.com/google/boringssl/archive/$(getvar BORING_SSL_COMMIT "$vars").zip")";
};
"$(getvar NGHTTP2_VERSION "$vars").tar.bz2" = fetchurl {
url = "$(getvar NGHTTP2_URL "$vars")";
hash = "$(narhash "$(getvar NGHTTP2_URL "$vars")")";
};
}
EOF
curhash="$(nixeval "$attr.boringssl-go-modules.outputHash")"
newhash="$(vendorhash "$attr.boringssl-go-modules")"
if [ -n "$newhash" ] && [ "$curhash" != "$newhash" ]; then
sed -i -e "s|\"$curhash\"|\"$newhash\"|" "$pkgpath"
else
echo 'update.sh: New vendorHash same as old vendorHash, nothing to do.'
fi
@@ -1,185 +1,8 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, callPackage
, buildGoModule
, installShellFiles
, symlinkJoin
, buildPackages
, zlib
, sqlite
, cmake
, python3
, ninja
, perl
, autoconf
, automake
, libtool
, cctools
, cacert
, unzip
, go
, p11-kit
, nixosTests
{
symlinkJoin,
callPackage,
nixosTests,
}:
let
makeCurlImpersonate = { name, target }: stdenv.mkDerivation rec {
pname = "curl-impersonate-${name}";
version = "0.6.1";
outputs = [ "out" "dev" ];
src = fetchFromGitHub {
owner = "lwthiker";
repo = "curl-impersonate";
rev = "v${version}";
hash = "sha256-ExmEhjJC8FPzx08RuKOhRxKgJ4Dh+ElEl+OUHzRCzZc=";
};
patches = [
# Fix shebangs and commands in the NSS build scripts
# (can't just patchShebangs or substituteInPlace since makefile unpacks it)
./curl-impersonate-0.6.1-fix-command-paths.patch
# SOCKS5 heap buffer overflow - https://curl.se/docs/CVE-2023-38545.html
(fetchpatch {
name = "curl-impersonate-patch-cve-2023-38545.patch";
url = "https://github.com/lwthiker/curl-impersonate/commit/e7b90a0d9c61b6954aca27d346750240e8b6644e.diff";
hash = "sha256-jFrz4Q+MJGfNmwwzHhThado4c9hTd/+b/bfRsr3FW5k=";
})
];
# Disable blanket -Werror to fix build on `gcc-13` related to minor
# warnings on `boringssl`.
env.NIX_CFLAGS_COMPILE = "-Wno-error";
strictDeps = true;
depsBuildBuild = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
buildPackages.stdenv.cc
];
nativeBuildInputs = lib.optionals stdenv.isDarwin [
# Must come first so that it shadows the 'libtool' command but leaves 'libtoolize'
cctools
] ++ [
installShellFiles
cmake
python3
python3.pythonOnBuildForHost.pkgs.gyp
ninja
perl
autoconf
automake
libtool
unzip
go
];
buildInputs = [
zlib
sqlite
];
configureFlags = [
"--with-ca-bundle=${if stdenv.isDarwin then "/etc/ssl/cert.pem" else "/etc/ssl/certs/ca-certificates.crt"}"
"--with-ca-path=${cacert}/etc/ssl/certs"
];
buildFlags = [ "${target}-build" ];
checkTarget = "${target}-checkbuild";
installTargets = [ "${target}-install" ];
doCheck = true;
dontUseCmakeConfigure = true;
dontUseNinjaBuild = true;
dontUseNinjaInstall = true;
dontUseNinjaCheck = true;
postUnpack = lib.concatStringsSep "\n" (lib.mapAttrsToList (name: dep: "ln -sT ${dep.outPath} source/${name}") (lib.filterAttrs (n: v: v ? outPath) passthru.deps));
preConfigure = ''
export GOCACHE=$TMPDIR/go-cache
export GOPATH=$TMPDIR/go
export GOPROXY=file://${passthru.boringssl-go-modules}
export GOSUMDB=off
# Need to get value of $out for this flag
configureFlagsArray+=("--with-libnssckbi=$out/lib")
'';
postInstall = ''
# Remove vestigial *-config script
rm $out/bin/curl-impersonate-${name}-config
# Patch all shebangs of installed scripts
patchShebangs $out/bin
# Install headers
make -C curl-*/include install
'' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
# Build and install completions for each curl binary
# Patch in correct binary name and alias it to all scripts
perl curl-*/scripts/completion.pl --curl $out/bin/curl-impersonate-${name} --shell zsh >$TMPDIR/curl-impersonate-${name}.zsh
substituteInPlace $TMPDIR/curl-impersonate-${name}.zsh \
--replace-fail \
'#compdef curl' \
"#compdef curl-impersonate-${name}$(find $out/bin -name 'curl_*' -printf ' %f=curl-impersonate-${name}')"
perl curl-*/scripts/completion.pl --curl $out/bin/curl-impersonate-${name} --shell fish >$TMPDIR/curl-impersonate-${name}.fish
substituteInPlace $TMPDIR/curl-impersonate-${name}.fish \
--replace-fail \
'--command curl' \
"--command curl-impersonate-${name}$(find $out/bin -name 'curl_*' -printf ' --command %f')"
# Install zsh and fish completions
installShellCompletion $TMPDIR/curl-impersonate-${name}.{zsh,fish}
'';
preFixup = let
libext = stdenv.hostPlatform.extensions.sharedLibrary;
in ''
# If libnssckbi.so is needed, link libnssckbi.so without needing nss in closure
if grep -F nssckbi $out/lib/libcurl-impersonate-*${libext} &>/dev/null; then
ln -s ${p11-kit}/lib/pkcs11/p11-kit-trust${libext} $out/lib/libnssckbi${libext}
${lib.optionalString stdenv.hostPlatform.isElf ''
patchelf --add-needed libnssckbi${libext} $out/lib/libcurl-impersonate-*${libext}
''}
fi
'';
disallowedReferences = [ go ];
passthru = {
deps = callPackage ./deps.nix {};
boringssl-go-modules = (buildGoModule {
inherit (passthru.deps."boringssl.zip") name;
src = passthru.deps."boringssl.zip";
vendorHash = "sha256-SNUsBiKOGWmkRdTVABVrlbLAVMfu0Q9IgDe+kFC5vXs=";
nativeBuildInputs = [ unzip ];
proxyVendor = true;
}).goModules;
};
meta = with lib; {
description = "Special build of curl that can impersonate Chrome & Firefox";
homepage = "https://github.com/lwthiker/curl-impersonate";
license = with licenses; [ curl mit ];
maintainers = with maintainers; [ deliciouslytyped ];
platforms = platforms.unix;
mainProgram = "curl-impersonate-${name}";
};
};
in
symlinkJoin rec {
pname = "curl-impersonate";
inherit (passthru.curl-impersonate-chrome) version meta;
@@ -192,13 +15,11 @@ symlinkJoin rec {
];
passthru = {
curl-impersonate-ff = makeCurlImpersonate { name = "ff"; target = "firefox"; };
curl-impersonate-chrome = makeCurlImpersonate { name = "chrome"; target = "chrome"; };
updateScript = ./update.sh;
curl-impersonate-ff = callPackage ./firefox {};
curl-impersonate-chrome = callPackage ./chrome {};
inherit (passthru.curl-impersonate-chrome) src;
tests = { inherit (nixosTests) curl-impersonate; };
tests = {inherit (nixosTests) curl-impersonate;};
};
}
@@ -0,0 +1,198 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
callPackage,
buildGoModule,
installShellFiles,
buildPackages,
zlib,
sqlite,
cmake,
python3,
ninja,
perl,
autoconf,
automake,
libtool,
cctools,
cacert,
unzip,
go,
p11-kit,
}:
stdenv.mkDerivation rec {
pname = "curl-impersonate-ff";
version = "0.6.1";
outputs = [
"out"
"dev"
];
src = fetchFromGitHub {
owner = "lwthiker";
repo = "curl-impersonate";
rev = "v${version}";
hash = "sha256-ExmEhjJC8FPzx08RuKOhRxKgJ4Dh+ElEl+OUHzRCzZc=";
};
patches = [
# Fix shebangs and commands in the NSS build scripts
# (can't just patchShebangs or substituteInPlace since makefile unpacks it)
./curl-impersonate-0.6.1-fix-command-paths.patch
# SOCKS5 heap buffer overflow - https://curl.se/docs/CVE-2023-38545.html
(fetchpatch {
name = "curl-impersonate-patch-cve-2023-38545.patch";
url = "https://github.com/lwthiker/curl-impersonate/commit/e7b90a0d9c61b6954aca27d346750240e8b6644e.diff";
hash = "sha256-jFrz4Q+MJGfNmwwzHhThado4c9hTd/+b/bfRsr3FW5k=";
})
];
# Disable blanket -Werror to fix build on `gcc-13` related to minor
# warnings on `boringssl`.
env.NIX_CFLAGS_COMPILE = "-Wno-error";
strictDeps = true;
depsBuildBuild = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
buildPackages.stdenv.cc
];
nativeBuildInputs =
lib.optionals stdenv.isDarwin [
# Must come first so that it shadows the 'libtool' command but leaves 'libtoolize'
cctools
]
++ [
installShellFiles
cmake
python3
python3.pythonOnBuildForHost.pkgs.gyp
ninja
perl
autoconf
automake
libtool
unzip
go
];
buildInputs = [
zlib
sqlite
];
configureFlags = [
"--with-ca-bundle=${
if stdenv.isDarwin then "/etc/ssl/cert.pem" else "/etc/ssl/certs/ca-certificates.crt"
}"
"--with-ca-path=${cacert}/etc/ssl/certs"
];
buildFlags = [ "firefox-build" ];
checkTarget = "firefox-checkbuild";
installTargets = [ "firefox-install" ];
doCheck = true;
dontUseCmakeConfigure = true;
dontUseNinjaBuild = true;
dontUseNinjaInstall = true;
dontUseNinjaCheck = true;
postUnpack = lib.concatStringsSep "\n" (
lib.mapAttrsToList (name: dep: "ln -sT ${dep.outPath} source/${name}") (
lib.filterAttrs (n: v: v ? outPath) passthru.deps
)
);
preConfigure = ''
export GOCACHE=$TMPDIR/go-cache
export GOPATH=$TMPDIR/go
export GOPROXY=file://${passthru.boringssl-go-modules}
export GOSUMDB=off
# Need to get value of $out for this flag
configureFlagsArray+=("--with-libnssckbi=$out/lib")
'';
postInstall =
''
# Remove vestigial *-config script
rm $out/bin/curl-impersonate-ff-config
# Patch all shebangs of installed scripts
patchShebangs $out/bin
# Install headers
make -C curl-*/include install
''
+ lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
# Build and install completions for each curl binary
# Patch in correct binary name and alias it to all scripts
perl curl-*/scripts/completion.pl --curl $out/bin/curl-impersonate-ff --shell zsh >$TMPDIR/curl-impersonate-ff.zsh
substituteInPlace $TMPDIR/curl-impersonate-ff.zsh \
--replace-fail \
'#compdef curl' \
"#compdef curl-impersonate-ff$(find $out/bin -name 'curl_*' -printf ' %f=curl-impersonate-ff')"
perl curl-*/scripts/completion.pl --curl $out/bin/curl-impersonate-ff --shell fish >$TMPDIR/curl-impersonate-ff.fish
substituteInPlace $TMPDIR/curl-impersonate-ff.fish \
--replace-fail \
'--command curl' \
"--command curl-impersonate-ff$(find $out/bin -name 'curl_*' -printf ' --command %f')"
# Install zsh and fish completions
installShellCompletion $TMPDIR/curl-impersonate-ff.{zsh,fish}
'';
preFixup =
let
libext = stdenv.hostPlatform.extensions.sharedLibrary;
in
''
# If libnssckbi.so is needed, link libnssckbi.so without needing nss in closure
if grep -F nssckbi $out/lib/libcurl-impersonate-*${libext} &>/dev/null; then
ln -s ${p11-kit}/lib/pkcs11/p11-kit-trust${libext} $out/lib/libnssckbi${libext}
${lib.optionalString stdenv.hostPlatform.isElf ''
patchelf --add-needed libnssckbi${libext} $out/lib/libcurl-impersonate-*${libext}
''}
fi
'';
disallowedReferences = [ go ];
passthru = {
deps = callPackage ./deps.nix { };
updateScript = ./update.sh;
boringssl-go-modules =
(buildGoModule {
inherit (passthru.deps."boringssl.zip") name;
src = passthru.deps."boringssl.zip";
vendorHash = "sha256-SNUsBiKOGWmkRdTVABVrlbLAVMfu0Q9IgDe+kFC5vXs=";
nativeBuildInputs = [ unzip ];
proxyVendor = true;
}).goModules;
};
meta = with lib; {
description = "Special build of curl that can impersonate Chrome & Firefox";
homepage = "https://github.com/lwthiker/curl-impersonate";
license = with licenses; [
curl
mit
];
maintainers = with maintainers; [ deliciouslytyped ];
platforms = platforms.unix;
mainProgram = "curl-impersonate-ff";
};
}
@@ -1,6 +1,5 @@
# Generated by update.sh
{ fetchurl }:
{
"curl-8.1.1.tar.xz" = fetchurl {
url = "https://curl.se/download/curl-8.1.1.tar.xz";
@@ -1,5 +1,6 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p git nix jq coreutils gnugrep gnused curl common-updater-scripts
# shellcheck shell=bash
set -euo pipefail
nixpkgs="$(git rev-parse --show-toplevel || (printf 'Could not find root of nixpkgs repo\nAre we running from within the nixpkgs git repo?\n' >&2; exit 1))"
+2 -2
View File
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "goawk";
version = "1.27.0";
version = "1.28.0";
src = fetchFromGitHub {
owner = "benhoyt";
repo = "goawk";
rev = "v${version}";
hash = "sha256-KB9N345xkgsPfI4DQYFag7qSdFv/JSU18YG8IPFrcQA=";
hash = "sha256-3i8czhGFk8XqYaenKTmsvXt2kRSss++rS6amLxfM2DE=";
};
vendorHash = null;
+3 -3
View File
@@ -2,7 +2,7 @@
buildGoModule rec {
pname = "govc";
version = "0.42.0";
version = "0.43.0";
subPackages = [ "govc" ];
@@ -10,10 +10,10 @@ buildGoModule rec {
rev = "v${version}";
owner = "vmware";
repo = "govmomi";
sha256 = "sha256-Sr3cJHnNeEPpYcAl+DmVL6lG0FKFhNHOVejRWBE3yUM=";
sha256 = "sha256-TLkSDi8s8zqUED76Bfznm3VLwUi0+tmUjbddqHlwiUQ=";
};
vendorHash = "sha256-W4Q4jCbW5lruXEhgKg7ZiPCHGxuYwYqi8Qm2JMyJaFE=";
vendorHash = "sha256-C8NeTGPqzFe3UYB90sEui67e5wUsH/15rwkwahNTLHM=";
ldflags = [
"-s"
-4
View File
@@ -5025,8 +5025,6 @@ with pkgs;
fdroidcl = pkgs.callPackage ../development/mobile/fdroidcl { };
fdroidserver = python3Packages.callPackage ../development/tools/fdroidserver { };
fedimint = callPackage ../by-name/fe/fedimint/package.nix {
inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
};
@@ -19840,8 +19838,6 @@ with pkgs;
vapoursynth-editor = libsForQt5.callPackage ../by-name/va/vapoursynth/editor.nix { };
vapoursynth-mvtools = callPackage ../development/libraries/vapoursynth-mvtools { };
vmmlib = callPackage ../development/libraries/vmmlib {
inherit (darwin.apple_sdk.frameworks) Accelerate CoreGraphics CoreVideo;
};
+2 -2
View File
@@ -34,12 +34,12 @@ let
};
mkNongnuDevelPackages = { pkgs, lib }: import ../applications/editors/emacs/elisp-packages/nongnu-devel-packages.nix {
inherit (pkgs) buildPackages;
inherit (pkgs) pkgs buildPackages;
inherit lib;
};
mkNongnuPackages = { pkgs, lib }: import ../applications/editors/emacs/elisp-packages/nongnu-packages.nix {
inherit (pkgs) buildPackages;
inherit (pkgs) pkgs buildPackages;
inherit lib;
};
+4
View File
@@ -8165,6 +8165,8 @@ self: super: with self; {
msldap = callPackage ../development/python-modules/msldap { };
msmart-ng = callPackage ../development/python-modules/msmart-ng { };
msoffcrypto-tool = callPackage ../development/python-modules/msoffcrypto-tool { };
msprime = callPackage ../development/python-modules/msprime { };
@@ -15806,6 +15808,8 @@ self: super: with self; {
trytond = callPackage ../development/python-modules/trytond { };
ts1-signatures = callPackage ../development/python-modules/ts1-signatures { };
tsfresh = callPackage ../development/python-modules/tsfresh { };
tsid = toPythonModule (pkgs.tsid.override {