Merge staging-next into staging
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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'"}
|
||||
)
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
+10
-29
@@ -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
|
||||
@@ -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" ];
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 // {
|
||||
|
||||
Generated
+320
-278
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
+2611
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 ];
|
||||
};
|
||||
}
|
||||
+44
@@ -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)
|
||||
+44
@@ -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)
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
+310
-261
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
@@ -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 ];
|
||||
|
||||
+199
-201
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 ];
|
||||
|
||||
@@ -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,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
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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
@@ -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
@@ -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";
|
||||
Executable → Regular
+1
@@ -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,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;
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user