Merge branch 'master' into staging-next

Changed files
+688 -474
nixos
doc
manual
release-notes
modules
services
editors
hardware
nvidia-container-toolkit
nvidia-container-toolkit-cdi-generator
virtualisation
pkgs
applications
audio
galaxy-buds-client
backup
pika-backup
blockchains
wasabibackend
misc
avalonia-ilspy
wmenu
networking
cluster
kubecolor
instant-messengers
signal-desktop
by-name
bt
btrfs-assistant
ca
catppuccin
catppuccin-sddm-corners
di
digikam
do
dooit
fa
fastfetch
fi
firefly-iii
fw
fwupd
li
live555
ma
maa-cli
na
pg
pgmoneta
si
simplotask
sk
sketchybar-app-font
wa
waybar
we
wechat-uos
wo
workout-tracker
wt
wttrbar
yo
youtrack
development
beam-modules
ex_doc
compilers
interpreters
libraries
ocaml-modules
ocaml-protoc-plugin
python-modules
awkward
boto3-stubs
botocore-stubs
coffea
dask
dask-expr
distributed
graphviz
ical
ocrmypdf
pillow-heif
pyaml
transformers
units
tools
algolia-cli
continuous-integration
github-runner
misc
texlab
ocaml
dune
os-specific
linux
rtl8852bu
servers
dns
home-assistant
jellyseerr
tools
games
opentracker
graphics
oxipng
inputmethods
ibus-engines
ibus-mozc
networking
mqttmultimeter
security
cryptomator
prs
top-level
+1 -3
nixos/doc/manual/release-notes/rl-2405.section.md
···
- GNOME has been updated to v46. Refer to the [release notes](https://release.gnome.org/46/) for more details. Notably this release brings experimental VRR support, default GTK renderer changes and WebDAV support in Online Accounts. This release we have also stopped including the legacy and unsupported Adwaita-Dark theme by default.
-
- A new option `virtualisation.containers.cdi` was added. It contains `static` and `dynamic` attributes (corresponding to `/etc/cdi` and `/run/cdi` respectively) to configure the Container Device Interface (CDI).
-
-
- `virtualisation.docker.enableNvidia` and `virtualisation.podman.enableNvidia` options are deprecated. `virtualisation.containers.cdi.dynamic.nvidia.enable` should be used instead. This option will expose GPUs on containers with the `--device` CLI option. This is supported by Docker 25, Podman 3.2.0 and Singularity 4. Any container runtime that supports the CDI specification will take advantage of this feature.
+
- `virtualisation.docker.enableNvidia` and `virtualisation.podman.enableNvidia` options are deprecated. `hardware.nvidia-container-toolkit.enable` should be used instead. This option will expose GPUs on containers with the `--device` CLI option. This is supported by Docker 25, Podman 3.2.0 and Singularity 4. Any container runtime that supports the CDI specification will take advantage of this feature.
- `system.etc.overlay.enable` option was added. If enabled, `/etc` is
mounted via an overlayfs instead of being created by a custom perl script.
+1 -1
nixos/modules/module-list.nix
···
./services/hardware/kanata.nix
./services/hardware/lcd.nix
./services/hardware/lirc.nix
-
./services/hardware/nvidia-container-toolkit-cdi-generator
+
./services/hardware/nvidia-container-toolkit
./services/hardware/monado.nix
./services/hardware/nvidia-optimus.nix
./services/hardware/openrgb.nix
-41
nixos/modules/services/editors/emacs.md
···
You can use `woman` to get completion of all available
man pages. For example, type `M-x woman <RET> nixos-rebuild <RET>.`
-
### Editing DocBook 5 XML Documents {#sec-emacs-docbook-xml}
-
-
Emacs includes
-
[nXML](https://www.gnu.org/software/emacs/manual/html_node/nxml-mode/Introduction.html),
-
a major-mode for validating and editing XML documents. When editing DocBook
-
5.0 documents, such as [this one](#book-nixos-manual),
-
nXML needs to be configured with the relevant schema, which is not
-
included.
-
-
To install the DocBook 5.0 schemas, either add
-
{var}`pkgs.docbook5` to [](#opt-environment.systemPackages)
-
([NixOS](#sec-declarative-package-mgmt)), or run
-
`nix-env -f '<nixpkgs>' -iA docbook5`
-
([Nix](#sec-ad-hoc-packages)).
-
-
Then customize the variable {var}`rng-schema-locating-files` to
-
include {file}`~/.emacs.d/schemas.xml` and put the following
-
text into that file:
-
::: {.example #ex-emacs-docbook-xml}
-
### nXML Schema Configuration (`~/.emacs.d/schemas.xml`)
-
-
```xml
-
<?xml version="1.0"?>
-
<!--
-
To let emacs find this file, evaluate:
-
(add-to-list 'rng-schema-locating-files "~/.emacs.d/schemas.xml")
-
-->
-
<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
-
<!--
-
Use this variation if pkgs.docbook5 is added to environment.systemPackages
-
-->
-
<namespace ns="http://docbook.org/ns/docbook"
-
uri="/run/current-system/sw/share/xml/docbook-5.0/rng/docbookxi.rnc"/>
-
<!--
-
Use this variation if installing schema with "nix-env -iA pkgs.docbook5".
-
<namespace ns="http://docbook.org/ns/docbook"
-
uri="../.nix-profile/share/xml/docbook-5.0/rng/docbookxi.rnc"/>
-
-->
-
</locatingRules>
-
```
-
:::
-60
nixos/modules/services/hardware/nvidia-container-toolkit-cdi-generator/cdi-generate.nix
···
-
{
-
addDriverRunpath,
-
glibc,
-
jq,
-
lib,
-
nvidia-container-toolkit,
-
nvidia-driver,
-
runtimeShell,
-
writeScriptBin,
-
}:
-
let
-
mountOptions = { options = ["ro" "nosuid" "nodev" "bind"]; };
-
mounts = [
-
# FIXME: Making /usr mounts optional
-
{ hostPath = lib.getExe' nvidia-driver "nvidia-cuda-mps-control";
-
containerPath = "/usr/bin/nvidia-cuda-mps-control"; }
-
{ hostPath = lib.getExe' nvidia-driver "nvidia-cuda-mps-server";
-
containerPath = "/usr/bin/nvidia-cuda-mps-server"; }
-
{ hostPath = lib.getExe' nvidia-driver "nvidia-debugdump";
-
containerPath = "/usr/bin/nvidia-debugdump"; }
-
{ hostPath = lib.getExe' nvidia-driver "nvidia-powerd";
-
containerPath = "/usr/bin/nvidia-powerd"; }
-
{ hostPath = lib.getExe' nvidia-driver "nvidia-smi";
-
containerPath = "/usr/bin/nvidia-smi"; }
-
{ hostPath = lib.getExe' nvidia-container-toolkit "nvidia-ctk";
-
containerPath = "/usr/bin/nvidia-ctk"; }
-
{ hostPath = "${lib.getLib glibc}/lib";
-
containerPath = "${lib.getLib glibc}/lib"; }
-
-
# FIXME: use closureinfo
-
{
-
hostPath = addDriverRunpath.driverLink;
-
containerPath = addDriverRunpath.driverLink;
-
}
-
{ hostPath = "${lib.getLib glibc}/lib";
-
containerPath = "${lib.getLib glibc}/lib"; }
-
{ hostPath = "${lib.getLib glibc}/lib64";
-
containerPath = "${lib.getLib glibc}/lib64"; }
-
];
-
jqAddMountExpression = ".containerEdits.mounts[.containerEdits.mounts | length] |= . +";
-
mountsToJq = lib.concatMap
-
(mount:
-
["${lib.getExe jq} '${jqAddMountExpression} ${builtins.toJSON (mount // mountOptions)}'"])
-
mounts;
-
in
-
writeScriptBin "nvidia-cdi-generator"
-
''
-
#! ${runtimeShell}
-
-
function cdiGenerate {
-
${lib.getExe' nvidia-container-toolkit "nvidia-ctk"} cdi generate \
-
--format json \
-
--ldconfig-path ${lib.getExe' glibc "ldconfig"} \
-
--library-search-path ${lib.getLib nvidia-driver}/lib \
-
--nvidia-ctk-path ${lib.getExe' nvidia-container-toolkit "nvidia-ctk"}
-
}
-
-
cdiGenerate | \
-
${lib.concatStringsSep " | " mountsToJq} > $RUNTIME_DIRECTORY/nvidia-container-toolkit.json
-
''
-40
nixos/modules/services/hardware/nvidia-container-toolkit-cdi-generator/default.nix
···
-
{ config, lib, pkgs, ... }:
-
-
{
-
-
options = {
-
-
hardware.nvidia-container-toolkit-cdi-generator.enable = lib.mkOption {
-
default = false;
-
internal = true;
-
visible = false;
-
type = lib.types.bool;
-
description = ''
-
Enable dynamic CDI configuration for NVidia devices by running
-
nvidia-container-toolkit on boot.
-
'';
-
};
-
-
};
-
-
config = {
-
-
systemd.services.nvidia-container-toolkit-cdi-generator = lib.mkIf config.hardware.nvidia-container-toolkit-cdi-generator.enable {
-
description = "Container Device Interface (CDI) for Nvidia generator";
-
wantedBy = [ "multi-user.target" ];
-
after = [ "systemd-udev-settle.service" ];
-
serviceConfig = {
-
RuntimeDirectory = "cdi";
-
RemainAfterExit = true;
-
ExecStart =
-
let
-
script = pkgs.callPackage ./cdi-generate.nix { nvidia-driver = config.hardware.nvidia.package; };
-
in
-
lib.getExe script;
-
Type = "oneshot";
-
};
-
};
-
-
};
-
-
}
+35
nixos/modules/services/hardware/nvidia-container-toolkit/cdi-generate.nix
···
+
{
+
glibc,
+
jq,
+
lib,
+
mounts,
+
nvidia-container-toolkit,
+
nvidia-driver,
+
runtimeShell,
+
writeScriptBin,
+
}: let
+
mkMount = {hostPath, containerPath, mountOptions}: {
+
inherit hostPath containerPath;
+
options = mountOptions;
+
};
+
jqAddMountExpression = ".containerEdits.mounts[.containerEdits.mounts | length] |= . +";
+
allJqMounts = lib.concatMap
+
(mount:
+
["${lib.getExe jq} '${jqAddMountExpression} ${builtins.toJSON (mkMount mount)}'"])
+
mounts;
+
in
+
writeScriptBin "nvidia-cdi-generator"
+
''
+
#! ${runtimeShell}
+
+
function cdiGenerate {
+
${lib.getExe' nvidia-container-toolkit "nvidia-ctk"} cdi generate \
+
--format json \
+
--ldconfig-path ${lib.getExe' glibc "ldconfig"} \
+
--library-search-path ${lib.getLib nvidia-driver}/lib \
+
--nvidia-ctk-path ${lib.getExe' nvidia-container-toolkit "nvidia-ctk"}
+
}
+
+
cdiGenerate | \
+
${lib.concatStringsSep " | " allJqMounts} > $RUNTIME_DIRECTORY/nvidia-container-toolkit.json
+
''
+121
nixos/modules/services/hardware/nvidia-container-toolkit/default.nix
···
+
{ config, lib, pkgs, ... }:
+
+
{
+
imports = [
+
(lib.mkRenamedOptionModule
+
[ "virtualisation" "containers" "cdi" "dynamic" "nvidia" "enable" ]
+
[ "hardware" "nvidia-container-toolkit" "enable" ])
+
];
+
+
options = let
+
mountType = {
+
options = {
+
hostPath = lib.mkOption {
+
type = lib.types.str;
+
description = "Host path.";
+
};
+
containerPath = lib.mkOption {
+
type = lib.types.str;
+
description = "Container path.";
+
};
+
mountOptions = lib.mkOption {
+
default = [ "ro" "nosuid" "nodev" "bind" ];
+
type = lib.types.listOf lib.types.str;
+
description = "Mount options.";
+
};
+
};
+
};
+
in {
+
+
hardware.nvidia-container-toolkit = {
+
enable = lib.mkOption {
+
default = false;
+
type = lib.types.bool;
+
description = ''
+
Enable dynamic CDI configuration for NVidia devices by running
+
nvidia-container-toolkit on boot.
+
'';
+
};
+
+
mounts = lib.mkOption {
+
type = lib.types.listOf (lib.types.submodule mountType);
+
default = [];
+
description = "Mounts to be added to every container under the Nvidia CDI profile.";
+
};
+
+
mount-nvidia-executables = lib.mkOption {
+
default = true;
+
type = lib.types.bool;
+
description = ''
+
Mount executables nvidia-smi, nvidia-cuda-mps-control, nvidia-cuda-mps-server,
+
nvidia-debugdump, nvidia-powerd and nvidia-ctk on containers.
+
'';
+
};
+
+
mount-nvidia-docker-1-directories = lib.mkOption {
+
default = true;
+
type = lib.types.bool;
+
description = ''
+
Mount nvidia-docker-1 directories on containers: /usr/local/nvidia/lib and
+
/usr/local/nvidia/lib64.
+
'';
+
};
+
};
+
+
};
+
+
config = {
+
+
hardware.nvidia-container-toolkit.mounts = let
+
nvidia-driver = config.hardware.nvidia.package;
+
in (lib.mkMerge [
+
[{ hostPath = pkgs.addDriverRunpath.driverLink;
+
containerPath = pkgs.addDriverRunpath.driverLink; }
+
{ hostPath = "${lib.getLib pkgs.glibc}/lib";
+
containerPath = "${lib.getLib pkgs.glibc}/lib"; }
+
{ hostPath = "${lib.getLib pkgs.glibc}/lib64";
+
containerPath = "${lib.getLib pkgs.glibc}/lib64"; }]
+
(lib.mkIf config.hardware.nvidia-container-toolkit.mount-nvidia-executables
+
[{ hostPath = lib.getExe' nvidia-driver "nvidia-cuda-mps-control";
+
containerPath = "/usr/bin/nvidia-cuda-mps-control"; }
+
{ hostPath = lib.getExe' nvidia-driver "nvidia-cuda-mps-server";
+
containerPath = "/usr/bin/nvidia-cuda-mps-server"; }
+
{ hostPath = lib.getExe' nvidia-driver "nvidia-debugdump";
+
containerPath = "/usr/bin/nvidia-debugdump"; }
+
{ hostPath = lib.getExe' nvidia-driver "nvidia-powerd";
+
containerPath = "/usr/bin/nvidia-powerd"; }
+
{ hostPath = lib.getExe' nvidia-driver "nvidia-smi";
+
containerPath = "/usr/bin/nvidia-smi"; }])
+
# nvidia-docker 1.0 uses /usr/local/nvidia/lib{,64}
+
# e.g.
+
# - https://gitlab.com/nvidia/container-images/cuda/-/blob/e3ff10eab3a1424fe394899df0e0f8ca5a410f0f/dist/12.3.1/ubi9/base/Dockerfile#L44
+
# - https://github.com/NVIDIA/nvidia-docker/blob/01d2c9436620d7dde4672e414698afe6da4a282f/src/nvidia/volumes.go#L104-L173
+
(lib.mkIf config.hardware.nvidia-container-toolkit.mount-nvidia-docker-1-directories
+
[{ hostPath = "${lib.getLib nvidia-driver}/lib";
+
containerPath = "/usr/local/nvidia/lib"; }
+
{ hostPath = "${lib.getLib nvidia-driver}/lib";
+
containerPath = "/usr/local/nvidia/lib64"; }])
+
]);
+
+
systemd.services.nvidia-container-toolkit-cdi-generator = lib.mkIf config.hardware.nvidia-container-toolkit.enable {
+
description = "Container Device Interface (CDI) for Nvidia generator";
+
wantedBy = [ "multi-user.target" ];
+
after = [ "systemd-udev-settle.service" ];
+
serviceConfig = {
+
RuntimeDirectory = "cdi";
+
RemainAfterExit = true;
+
ExecStart =
+
let
+
script = pkgs.callPackage ./cdi-generate.nix {
+
inherit (config.hardware.nvidia-container-toolkit) mounts;
+
nvidia-driver = config.hardware.nvidia.package;
+
};
+
in
+
lib.getExe script;
+
Type = "oneshot";
+
};
+
};
+
+
};
+
+
}
+2 -47
nixos/modules/virtualisation/containers.nix
···
description = "Enable the OCI seccomp BPF hook";
};
-
cdi = {
-
dynamic.nvidia.enable = mkOption {
-
type = types.bool;
-
default = false;
-
description = ''
-
Enable dynamic CDI configuration for NVidia devices by running nvidia-container-toolkit on boot.
-
'';
-
};
-
-
static = mkOption {
-
type = types.attrs;
-
default = { };
-
description = ''
-
Declarative CDI specification. Each key of the attribute set
-
will be mapped to a file in /etc/cdi. It is required for every
-
key to be provided in JSON format.
-
'';
-
example = {
-
some-vendor = builtins.fromJSON ''
-
{
-
"cdiVersion": "0.5.0",
-
"kind": "some-vendor.com/foo",
-
"devices": [],
-
"containerEdits": []
-
}
-
'';
-
-
some-other-vendor = {
-
cdiVersion = "0.5.0";
-
kind = "some-other-vendor.com/bar";
-
devices = [];
-
containerEdits = [];
-
};
-
};
-
};
-
};
-
containersConf.settings = mkOption {
type = toml.type;
default = { };
···
config = lib.mkIf cfg.enable {
-
hardware.nvidia-container-toolkit-cdi-generator.enable = lib.mkIf cfg.cdi.dynamic.nvidia.enable true;
-
virtualisation.containers.containersConf.cniPlugins = [ pkgs.cni-plugins ];
virtualisation.containers.containersConf.settings = {
···
};
};
-
environment.etc = let
-
cdiStaticConfigurationFiles = (lib.attrsets.mapAttrs'
-
(name: value:
-
lib.attrsets.nameValuePair "cdi/${name}.json"
-
{ text = builtins.toJSON value; })
-
cfg.cdi.static);
-
in {
+
environment.etc = {
"containers/containers.conf".source =
toml.generate "containers.conf" cfg.containersConf.settings;
···
"containers/policy.json".source =
if cfg.policy != { } then pkgs.writeText "policy.json" (builtins.toJSON cfg.policy)
else "${pkgs.skopeo.policy}/default-policy.json";
-
} // cdiStaticConfigurationFiles;
+
};
};
-2
pkgs/applications/audio/galaxy-buds-client/default.nix
···
, stdenv
, buildDotnetModule
, fetchFromGitHub
-
, autoPatchelfHook
, fontconfig
, xorg
, libglvnd
···
dotnetFlags = [ "-p:Runtimeidentifier=linux-x64" ];
nativeBuildInputs = [
-
autoPatchelfHook
copyDesktopItems
graphicsmagick
];
+3 -3
pkgs/applications/backup/pika-backup/default.nix
···
stdenv.mkDerivation rec {
pname = "pika-backup";
-
version = "0.7.0";
+
version = "0.7.1";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "pika-backup";
rev = "v${version}";
-
hash = "sha256-WeFc/4TEIxw6uzLroJX1D/rEA419sghkjBt1nsPv2Ho=";
+
hash = "sha256-yxr98CJuu15TGiIXCBhU2bOgvct6jQ5xAraD9Z0sL2Q=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
-
hash = "sha256-fgPgUZxye9YUyX9/+hTye3cUypgRAegZMUTKfPxVH4s=";
+
hash = "sha256-ce8SdBvRdFp1BU9OPcByoJjCiSrAkQqtmfCeJ3B+Piw=";
};
patches = [
-2
pkgs/applications/blockchains/wasabibackend/default.nix
···
fetchFromGitHub,
buildDotnetModule,
dotnetCorePackages,
-
autoPatchelfHook,
zlib,
openssl,
}:
···
dotnet-sdk = dotnetCorePackages.sdk_7_0;
dotnet-runtime = dotnetCorePackages.aspnetcore_7_0;
-
nativeBuildInputs = [autoPatchelfHook];
buildInputs = [stdenv.cc.cc.lib zlib];
runtimeDeps = [openssl zlib];
+1 -3
pkgs/applications/misc/avalonia-ilspy/default.nix
···
, makeDesktopItem
, copyDesktopItems
, icoutils
-
, autoPatchelfHook
, bintools
, fixDarwinDylibNames
, autoSignDarwinBinariesHook
···
nativeBuildInputs = [
copyDesktopItems
icoutils
-
] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]
-
++ lib.optionals stdenv.hostPlatform.isDarwin [ bintools fixDarwinDylibNames ]
+
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ bintools fixDarwinDylibNames ]
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ autoSignDarwinBinariesHook ];
buildInputs = [
pkgs/applications/misc/waybar/default.nix pkgs/by-name/wa/waybar/package.nix
+2 -1
pkgs/applications/misc/wmenu/default.nix
···
, pango
, wayland
, wayland-protocols
+
, wayland-scanner
, libxkbcommon
, scdoc
}:
···
})
];
-
nativeBuildInputs = [ pkg-config meson ninja ];
+
nativeBuildInputs = [ pkg-config meson ninja wayland-scanner ];
buildInputs = [ cairo pango wayland libxkbcommon wayland-protocols scdoc ];
meta = with lib; {
pkgs/applications/misc/wttrbar/default.nix pkgs/by-name/wt/wttrbar/package.nix
+3 -3
pkgs/applications/networking/cluster/kubecolor/default.nix
···
buildGoModule rec {
pname = "kubecolor";
-
version = "0.2.2";
+
version = "0.3.1";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
-
sha256 = "sha256-zXglsfPsJi9DVxlRPniSBsdF1xEMYqqGr46ThpQj3gQ=";
+
sha256 = "sha256-1gEEmF9RRMwFAvmhLwidkVh+lnibs6x5ZHy/nJRum9E=";
};
-
vendorHash = "sha256-uf7nBnS1wmbz4xcVA5qF82QMPsLdSucje1NNaPyheCw=";
+
vendorHash = "sha256-Gzz+mCEMQCcLwTiGMB8/nXk7HDAEGkEapC/VOyXrn/Q=";
ldflags = [ "-s" "-w" "-X main.Version=${version}" ];
+2 -1
pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
···
libappindicator-gtk3
libnotify
libdbusmenu
+
pipewire
+
stdenv.cc.cc
xdg-utils
wayland
];
···
preFixup = ''
gappsWrapperArgs+=(
-
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc pipewire ] }"
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]}
)
+8
pkgs/by-name/di/digikam/package.nix
···
, x265
, jasper
+
, bash
# For panorama and focus stacking
, enblend-enfuse
, hugin
···
]) ++ lib.optionals cudaSupport (with cudaPackages; [
cuda_cudart
]);
+
+
postPatch = ''
+
substituteInPlace \
+
core/dplugins/bqm/custom/userscript/userscript.cpp \
+
core/utilities/import/backend/cameracontroller.cpp \
+
--replace-fail \"/bin/bash\" \"${lib.getExe bash}\"
+
'';
cmakeFlags = [
"-DENABLE_MYSQLSUPPORT=1"
+6 -5
pkgs/by-name/fi/firefly-iii/package.nix
···
let
pname = "firefly-iii";
-
version = "6.1.13";
+
version = "6.1.15";
phpPackage = php83;
src = fetchFromGitHub {
owner = "firefly-iii";
repo = "firefly-iii";
rev = "v${version}";
-
hash = "sha256-85zI8uCyyoCflzxDkvba6FWa9B3kh179DJfQ2Um6MGM=";
+
hash = "sha256-9Od8tR8X2OZ2hu81tHWDpBX8snWCRvTnlY1AwjIcMug=";
};
assets = buildNpmPackage {
pname = "${pname}-assets";
inherit version src;
-
npmDepsHash = "sha256-wuPUE6XuzzgKjpxZVgwh2wGut15M61WSBFG+YIZwOFM=";
+
npmDepsHash = "sha256-UVySgcj1tQLQIxlsZuig4ixkfxfsYWYPKWLz5zHA+Dg=";
dontNpmBuild = true;
installPhase = ''
runHook preInstall
-
npm run build
+
npm run prod --workspace=v1
+
npm run build --workspace=v2
cp -r ./public $out/
runHook postInstall
'';
···
phpPackage.buildComposerProject (finalAttrs: {
inherit pname src version;
-
vendorHash = "sha256-CVGKyyLp5hjjpEulDNEYfljU4OgPBaFcYQQAUf6GeGs=";
+
vendorHash = "sha256-RDkAbTKj7M7lE8bVRxb+RR5CA6hJIMp61U0+aRtFE50=";
passthru = {
inherit phpPackage;
+2 -2
pkgs/by-name/fw/fwupd/package.nix
···
in
stdenv.mkDerivation (finalAttrs: {
pname = "fwupd";
-
version = "1.9.16";
+
version = "1.9.18";
# libfwupd goes to lib
# daemon, plug-ins and libfwupdplugin go to out
···
owner = "fwupd";
repo = "fwupd";
rev = finalAttrs.version;
-
hash = "sha256-mM8HSSQD5znjpl9q/f+u0RzZEkFA1tnh+BPB2qdcWvI=";
+
hash = "sha256-w2jqIPNV6OkPaHfy7bEFgr5IgzJYtMTrO5UWmnZ+2JI=";
};
patches = [
+17 -14
pkgs/by-name/li/live555/package.nix
···
-
{ lib
-
, darwin
-
, fetchurl
-
, fetchpatch
-
, openssl
-
, stdenv
-
, vlc
+
{
+
lib,
+
darwin,
+
fetchpatch,
+
fetchurl,
+
openssl,
+
stdenv,
+
vlc,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "live555";
-
version = "2024.03.08";
+
version = "2024.04.14";
src = fetchurl {
urls = [
···
"https://download.videolan.org/contrib/live555/live.${finalAttrs.version}.tar.gz"
"mirror://sourceforge/slackbuildsdirectlinks/live.${finalAttrs.version}.tar.gz"
];
-
hash = "sha256-wWUC4EbxxfK+OxXiyNbNMGObVMZOqb+8jTG078pnDeU=";
+
hash = "sha256-mR5rKGKtTwMq3p+xAAGdo0DNNnIe4KHladLPlnhVhNY=";
};
patches = [
···
'';
configurePhase = let
-
platform = if stdenv.isLinux
-
then "linux"
-
else if stdenv.isDarwin
-
then "macosx-catalina"
-
else throw "Unsupported platform: ${stdenv.hostPlatform.system}";
+
platform =
+
if stdenv.isLinux then
+
"linux"
+
else if stdenv.isDarwin then
+
"macosx-catalina"
+
else
+
throw "Unsupported platform: ${stdenv.hostPlatform.system}";
in ''
runHook preConfigure
+3 -3
pkgs/by-name/ma/maa-cli/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "maa-cli";
-
version = "0.4.5";
+
version = "0.4.6";
src = fetchFromGitHub {
owner = "MaaAssistantArknights";
repo = "maa-cli";
rev = "v${version}";
-
hash = "sha256-LeEIbfDQ+GO3gNmdpWGTNkpbhSqLz4fYQ+MdcrcbDk0=";
+
hash = "sha256-fvMSYcYWYEVvDuAEjSmQJltl90EoLKkjYD2P3OsHS3c=";
};
nativeBuildInputs = [
···
buildNoDefaultFeatures = true;
buildFeatures = [ "git2" "core_installer" ];
-
cargoHash = "sha256-tkUJH7oFY5eZ5A7J+qzeyHlqOUnTipf6o+leZz7KOiQ=";
+
cargoHash = "sha256-LQWjgMRxtSs2MX1R6YsxDAWUvoUJfOWmp/zj/hlTxyw=";
# maa-cli would only seach libMaaCore.so and resources in itself's path
# https://github.com/MaaAssistantArknights/maa-cli/issues/67
+2 -2
pkgs/by-name/na/nawk/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "nawk";
-
version = "20240311";
+
version = "20240422";
src = fetchFromGitHub {
owner = "onetrueawk";
repo = "awk";
rev = finalAttrs.version;
-
hash = "sha256-4iAQR8djhhp5Yn4H1IdzotQLY0d/Gz/vNQPfAUNQV0A=";
+
hash = "sha256-wsRkSXCLtK2jk4gW/Lpg/14NiOUANfmCrYqeKZW6CLY=";
};
depsBuildBuild = [ buildPackages.stdenv.cc ];
+2 -2
pkgs/by-name/pg/pgmoneta/package.nix
···
stdenv.mkDerivation rec {
pname = "pgmoneta";
-
version = "0.10.1";
+
version = "0.11.0";
src = fetchFromGitHub {
owner = "pgmoneta";
repo = "pgmoneta";
rev = version;
-
hash = "sha256-gViXbL54YGY2NFg0ScyiarMB4vYjpOrdkyTjWzwP2vo=";
+
hash = "sha256-sFH8sYTQ10bR+TDNbyIJiAIcp24CA9E5zrRjyV9mGBU=";
};
nativeBuildInputs = [
+2 -2
pkgs/by-name/si/simplotask/package.nix
···
buildGoModule rec {
pname = "simplotask";
-
version = "1.15.0";
+
version = "1.15.1";
src = fetchFromGitHub {
owner = "umputun";
repo = "spot";
rev = "v${version}";
-
hash = "sha256-pd6bue/uo6+ZBaN7ZKf/byuPOKOLZdCQau7I7F+iZb0=";
+
hash = "sha256-XLkq8Oe3EsP0wf0sA7NSZWIsQQnOAGmvlVQad35+5Ws=";
};
vendorHash = null;
+27 -8
pkgs/by-name/we/wechat-uos/package.nix
···
└── uos
└── .license.key
*/
-
uosLicense ? requireFile {
-
name = "license.tar.gz";
-
url = "https://www.uniontech.com";
-
sha256 = "53760079c1a5b58f2fa3d5effe1ed35239590b288841d812229ef4e55b2dbd69";
-
}
+
uosLicense ? null
}:
let
wechat-uos-env = stdenvNoCC.mkDerivation {
···
ln -s ${wechat}/usr/lib/wechat-uos/license/libuosdevicea.so $out/lib/license/
'';
preferLocalBuild = true;
+
};
+
+
uosLicenseUnzipped = stdenvNoCC.mkDerivation {
+
name = "uos-license-unzipped";
+
src =
+
if uosLicense == null then
+
requireFile
+
{
+
name = "license.tar.gz";
+
url = "https://www.uniontech.com";
+
sha256 = "53760079c1a5b58f2fa3d5effe1ed35239590b288841d812229ef4e55b2dbd69";
+
} else uosLicense;
+
+
installPhase = ''
+
runHook preInstall
+
+
mkdir -p $out
+
cp -r * $out/
+
+
runHook postInstall
+
'';
+
outputHashAlgo = "sha256";
+
outputHashMode = "recursive";
+
outputHash = "sha256-pNftwtUZqBsKBSPQsEWlYLlb6h2Xd9j56ZRMi8I82ME=";
};
wechat-uos-runtime = with xorg; [
···
dpkg -x $src ./wechat-uos
dpkg -x $uosSrc ./wechat-uos-old-source
-
tar -xvf $uosLicense
-
runHook postUnpack
'';
+
# Use ln for license to prevent being garbage collection
installPhase = ''
runHook preInstall
mkdir -p $out
···
cp -r wechat-uos/* $out
mkdir -pv $out/usr/lib/wechat-uos/license
-
cp -r license/* $out/usr/lib/wechat-uos/license
+
ln -s ${uosLicenseUnzipped}/* $out/usr/lib/wechat-uos/license/
cp -r wechat-uos-old-source/usr/lib/license/libuosdevicea.so $out/usr/lib/wechat-uos/license/
runHook postInstall
+2 -2
pkgs/by-name/wo/workout-tracker/package.nix
···
buildGoModule rec {
pname = "workout-tracker";
-
version = "0.13.4";
+
version = "0.14.1";
src = fetchFromGitHub {
owner = "jovandeginste";
repo = "workout-tracker";
rev = "refs/tags/v${version}";
-
hash = "sha256-wBDLf4UfE3YXH2naub9Z//z5HWaTBuz6MyCQovZcsFI=";
+
hash = "sha256-zmDY5KpKkq/9SYAm+v0QSnLLjxYQCzzXWLlCFkE8bA0=";
};
vendorHash = null;
+2 -2
pkgs/by-name/yo/youtrack/package.nix
···
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "youtrack";
-
version = "2024.1.27971";
+
version = "2024.1.28928";
src = fetchzip {
url = "https://download.jetbrains.com/charisma/youtrack-${finalAttrs.version}.zip";
-
hash = "sha256-DropdHT3ZA4kuxyE8xyHB079OMzYH4zKPt38oW7XoFY=";
+
hash = "sha256-8+dZ1YTpvOX0IEEbFzv4t8T/U/BZMeDCZL7Ju25WBpE=";
};
nativeBuildInputs = [ makeBinaryWrapper ];
pkgs/data/fonts/sketchybar-app-font/default.nix pkgs/by-name/sk/sketchybar-app-font/package.nix
pkgs/data/themes/catppuccin-sddm-corners/default.nix pkgs/by-name/ca/catppuccin-sddm-corners/package.nix
pkgs/data/themes/catppuccin/default.nix pkgs/by-name/ca/catppuccin/package.nix
+1 -1
pkgs/development/beam-modules/ex_doc/default.nix
···
mixFodDeps = fetchMixDeps {
pname = "mix-deps-${pname}";
inherit src version elixir;
-
hash = "sha256-ZNHhWCZ3n2Y/XCsXVjbu4wbx/J95JdFP/2raACciAUU=";
+
hash = "sha256-e0lU4TXLY2geO6MI1h0kpdwsGbEyXjIRe0W43337mHk=";
};
configurePhase = ''
+7 -4
pkgs/development/compilers/dotnet/build-dotnet.nix
···
, writeShellScript
, mkNugetDeps
, callPackage
+
, dotnetCorePackages
}:
let
···
};
mkCommon = callPackage ./common.nix {};
+
+
targetRid = dotnetCorePackages.systemToDotnetRid stdenv.targetPlatform.system;
in
mkCommon type rec {
···
# Tell autoPatchelf about runtime dependencies.
# (postFixup phase is run before autoPatchelfHook.)
-
postFixup = lib.optionalString stdenv.isLinux ''
+
postFixup = lib.optionalString stdenv.targetPlatform.isLinux ''
patchelf \
--add-needed libicui18n.so \
--add-needed libicuuc.so \
$out/shared/Microsoft.NETCore.App/*/libcoreclr.so \
$out/shared/Microsoft.NETCore.App/*/*System.Globalization.Native.so \
-
$out/packs/Microsoft.NETCore.App.Host.linux-x64/*/runtimes/linux-x64/native/singlefilehost
+
$out/packs/Microsoft.NETCore.App.Host.${targetRid}/*/runtimes/${targetRid}/native/*host
patchelf \
--add-needed libgssapi_krb5.so \
$out/shared/Microsoft.NETCore.App/*/*System.Net.Security.Native.so \
-
$out/packs/Microsoft.NETCore.App.Host.linux-x64/*/runtimes/linux-x64/native/singlefilehost
+
$out/packs/Microsoft.NETCore.App.Host.${targetRid}/*/runtimes/${targetRid}/native/*host
patchelf \
--add-needed libssl.so \
$out/shared/Microsoft.NETCore.App/*/*System.Security.Cryptography.Native.OpenSsl.so \
-
$out/packs/Microsoft.NETCore.App.Host.linux-x64/*/runtimes/linux-x64/native/singlefilehost
+
$out/packs/Microsoft.NETCore.App.Host.${targetRid}/*/runtimes/${targetRid}/native/*host
'';
passthru = {
+13 -2
pkgs/development/compilers/dotnet/common.nix
···
'' + build);
in
if run == null
-
then build
+
then built
else
runCommand "${built.name}-run" { src = built; nativeBuildInputs = runInputs; } (
lib.optionalString (runtime != null) ''
···
export DOTNET_ROOT=${runtime}
'' + run);
+
# Setting LANG to something other than 'C' forces the runtime to search
+
# for ICU, which will be required in most user environments.
checkConsoleOutput = command: ''
-
output="$(${command})"
+
output="$(LANG=C.UTF-8 ${command})"
# yes, older SDKs omit the comma
[[ "$output" =~ Hello,?\ World! ]] && touch "$out"
'';
···
name = "publish";
template = "console";
build = "dotnet publish -o $out";
+
run = checkConsoleOutput "$src/test";
+
};
+
+
self-contained = mkDotnetTest {
+
name = "self-contained";
+
template = "console";
+
usePackageSource = true;
+
build = "dotnet publish --use-current-runtime --sc -o $out";
+
runtime = null;
run = checkConsoleOutput "$src/test";
};
-2
pkgs/development/compilers/inklecate/default.nix
···
{ lib
, stdenv
-
, autoPatchelfHook
, buildDotnetModule
, dotnetCorePackages
, fetchFromGitHub
···
hash = "sha512-aUjjT5Qf64wrKRn1vkwJadMOBWMkvsXUjtZ7S3/ZWAh1CCDkQNO84mSbtbVc9ny0fKeJEqaDX2tJNwq7pYqAbA==";
};
-
nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
buildInputs = [ stdenv.cc.cc.lib ];
projectFile = "inklecate/inklecate.csproj";
+19 -3
pkgs/development/compilers/openjdk/openjfx/11.nix
···
{ stdenv, lib, fetchFromGitHub, writeText, gradle_7, pkg-config, perl, cmake
-
, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg_4-headless, python3, ruby, icu68
+
, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg_4-headless, python3, ruby, fetchurl, runCommand
, openjdk11-bootstrap
, withMedia ? true
, withWebKit ? false
···
java = openjdk11-bootstrap;
});
+
icuVersionWithSep = s: "71${s}1";
+
icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "_"}-data-bin-l.zip";
+
icuData = fetchurl {
+
url = "https://github.com/unicode-org/icu/releases/${icuPath}";
+
hash = "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM=";
+
};
+
icuFakeRepository = runCommand "icu-data-repository" {} ''
+
install -Dm644 ${icuData} $out/${icuPath}
+
'';
+
makePackage = args: stdenv.mkDerivation ({
version = "${major}${update}-${build}";
···
sha256 = "sha256-46DjIzcBHkmp5vnhYnLu78CG72bIBRM4A6mgk2OLOko=";
};
-
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless icu68 ];
+
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ];
nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];
dontUseCmakeConfigure = true;
···
postPatch = ''
substituteInPlace buildSrc/linux.gradle \
--replace ', "-Werror=implicit-function-declaration"' ""
+
+
# Add missing includes for gcc-13 for webkit build:
+
sed -e '1i #include <cstdio>' \
+
-i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
+
modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
'';
config = writeText "gradle.properties" (''
···
export GRADLE_USER_HOME=$(mktemp -d)
ln -s $config gradle.properties
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
-
gradle --no-daemon $gradleFlags sdk
+
gradle --no-daemon --console=plain $gradleFlags sdk
runHook postBuild
'';
···
gradleProperties = ''
COMPILE_MEDIA = ${lib.boolToString withMedia}
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
+
${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
'';
preBuild = ''
+10 -12
pkgs/development/compilers/openjdk/openjfx/17.nix
···
{ stdenv, lib, fetchFromGitHub, writeText, openjdk17_headless, gradle_7
, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib
-
, ffmpeg_4-headless, python3, ruby, icu71, fetchurl, runCommand
+
, ffmpeg_4-headless, python3, ruby, fetchurl, runCommand
, withMedia ? true
, withWebKit ? false
}:
···
java = openjdk17_headless;
});
-
dashed-icu-version = lib.concatStringsSep "-" (lib.splitVersion (lib.getVersion icu71));
-
underscored-icu-version = lib.concatStringsSep "_" (lib.splitVersion (lib.getVersion icu71));
-
icu-data = fetchurl {
-
url = "https://github.com/unicode-org/icu/releases/download/release-${dashed-icu-version}/icu4c-${underscored-icu-version}-data-bin-l.zip";
+
icuVersionWithSep = s: "71${s}1";
+
icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "_"}-data-bin-l.zip";
+
icuData = fetchurl {
+
url = "https://github.com/unicode-org/icu/releases/${icuPath}";
hash = "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM=";
};
-
-
fakeRepository = runCommand "icu-data-repository" {} ''
-
mkdir -p $out/download/release-${dashed-icu-version}
-
cp ${icu-data} $out/download/release-${dashed-icu-version}/icu4c-${underscored-icu-version}-data-bin-l.zip
+
icuFakeRepository = runCommand "icu-data-repository" {} ''
+
install -Dm644 ${icuData} $out/${icuPath}
'';
makePackage = args: stdenv.mkDerivation ({
···
sha256 = "sha256-9VfXk2EfMebMyVKPohPRP2QXRFf8XemUtfY0JtBCHyw=";
};
-
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless icu71 ];
+
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ];
nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];
dontUseCmakeConfigure = true;
···
export GRADLE_USER_HOME=$(mktemp -d)
ln -s $config gradle.properties
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
-
gradle --no-daemon $gradleFlags sdk
+
gradle --no-daemon --console=plain $gradleFlags sdk
runHook postBuild
'';
···
gradleProperties = ''
COMPILE_MEDIA = ${lib.boolToString withMedia}
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
-
${lib.optionalString withWebKit "icuRepositoryURL = file://${fakeRepository}"}
+
${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
'';
preBuild = ''
+21 -3
pkgs/development/compilers/openjdk/openjfx/19.nix
···
{ stdenv, lib, fetchFromGitHub, fetchpatch, writeText, openjdk17_headless
, openjdk19_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst
-
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, icu68
+
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, fetchurl, runCommand
, withMedia ? true
, withWebKit ? false
}:
···
# note: gradle does not yet support running on 19
java = openjdk17_headless;
});
+
+
icuVersionWithSep = s: "68${s}2";
+
icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "."}-data-bin-l.zip";
+
icuData = fetchurl {
+
url = "https://github.com/unicode-org/icu/releases/${icuPath}";
+
hash = "sha256-ieQCLBTNrskuf8j3IUQS3QLIAQzLom/O58muMP363Lw=";
+
};
+
icuFakeRepository = runCommand "icu-data-repository" {} ''
+
install -Dm644 ${icuData} $out/${icuPath}
+
'';
makePackage = args: stdenv.mkDerivation ({
version = "${major}${update}${build}";
···
})
];
-
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 icu68 ];
+
postPatch = ''
+
# Add missing includes for gcc-13 for webkit build:
+
sed -e '1i #include <cstdio>' \
+
-i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
+
modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
+
'';
+
+
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];
dontUseCmakeConfigure = true;
···
export GRADLE_USER_HOME=$(mktemp -d)
ln -s $config gradle.properties
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
-
gradle --no-daemon $gradleFlags sdk
+
gradle --no-daemon --console=plain $gradleFlags sdk
runHook postBuild
'';
···
gradleProperties = ''
COMPILE_MEDIA = ${lib.boolToString withMedia}
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
+
${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
'';
preBuild = ''
+21 -3
pkgs/development/compilers/openjdk/openjfx/20.nix
···
{ stdenv, lib, fetchFromGitHub, fetchpatch, writeText, openjdk17_headless
, openjdk19_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst
-
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, icu68
+
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, fetchurl, runCommand
, withMedia ? true
, withWebKit ? false
}:
···
# note: gradle does not yet support running on 19
java = openjdk17_headless;
});
+
+
icuVersionWithSep = s: "71${s}1";
+
icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "_"}-data-bin-l.zip";
+
icuData = fetchurl {
+
url = "https://github.com/unicode-org/icu/releases/${icuPath}";
+
hash = "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM=";
+
};
+
icuFakeRepository = runCommand "icu-data-repository" {} ''
+
install -Dm644 ${icuData} $out/${icuPath}
+
'';
makePackage = args: stdenv.mkDerivation ({
version = "${major}${update}${build}";
···
hash = "sha256-QPPJyl6+XU+m5xqYOFtQKJNNrovqy7ngNE/e7kiEJVU=";
};
-
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 icu68 ];
+
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];
dontUseCmakeConfigure = true;
+
+
postPatch = ''
+
# Add missing includes for gcc-13 for webkit build:
+
sed -e '1i #include <cstdio>' \
+
-i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
+
modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
+
'';
config = writeText "gradle.properties" (''
CONF = Release
···
export GRADLE_USER_HOME=$(mktemp -d)
ln -s $config gradle.properties
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
-
gradle --no-daemon $gradleFlags sdk
+
gradle --no-daemon --console=plain $gradleFlags sdk
runHook postBuild
'';
···
gradleProperties = ''
COMPILE_MEDIA = ${lib.boolToString withMedia}
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
+
${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
'';
preBuild = ''
+21 -3
pkgs/development/compilers/openjdk/openjfx/21.nix
···
{ stdenv, lib, fetchFromGitHub, fetchpatch, writeText, openjdk17_headless
, openjdk19_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst
-
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, icu68
+
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, fetchurl, runCommand
, withMedia ? true
, withWebKit ? false
}:
···
# note: gradle does not yet support running on 19
java = openjdk17_headless;
});
+
+
icuVersionWithSep = s: "73${s}1";
+
icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "_"}-data-bin-l.zip";
+
icuData = fetchurl {
+
url = "https://github.com/unicode-org/icu/releases/${icuPath}";
+
hash = "sha256-QDgpjuAqDDiRcYXvj/Tr3pyLVSx3f9A+TfbGtLGCXiA=";
+
};
+
icuFakeRepository = runCommand "icu-data-repository" {} ''
+
install -Dm644 ${icuData} $out/${icuPath}
+
'';
makePackage = args: stdenv.mkDerivation ({
version = "${major}${update}${build}";
···
hash = "sha256-deNAGfnA6gwcAa64l0AWdkX+vJd3ZOfIgAifSl+/m+s=";
};
-
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 icu68 ];
+
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];
dontUseCmakeConfigure = true;
+
+
postPatch = ''
+
# Add missing includes for gcc-13 for webkit build:
+
sed -e '1i #include <cstdio>' \
+
-i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
+
modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
+
'';
config = writeText "gradle.properties" (''
CONF = Release
···
export GRADLE_USER_HOME=$(mktemp -d)
ln -s $config gradle.properties
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
-
gradle --no-daemon $gradleFlags sdk
+
gradle --no-daemon --console=plain $gradleFlags sdk
runHook postBuild
'';
···
gradleProperties = ''
COMPILE_MEDIA = ${lib.boolToString withMedia}
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
+
${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
'';
preBuild = ''
+15 -3
pkgs/development/compilers/openjdk/openjfx/22.nix
···
, lib
, fetchFromGitHub
, fetchpatch
+
, fetchurl
+
, runCommand
, writeText
, openjdk21_headless
, gradle
···
, ffmpeg_4
, python3
, ruby
-
, icu68
, withMedia ? true
, withWebKit ? false
}:
···
build = "+30";
repover = "${major}${update}${build}";
+
icuVersionWithSep = s: "73${s}1";
+
icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "_"}-data-bin-l.zip";
+
icuData = fetchurl {
+
url = "https://github.com/unicode-org/icu/releases/${icuPath}";
+
hash = "sha256-QDgpjuAqDDiRcYXvj/Tr3pyLVSx3f9A+TfbGtLGCXiA=";
+
};
+
icuFakeRepository = runCommand "icu-data-repository" {} ''
+
install -Dm644 ${icuData} $out/${icuPath}
+
'';
+
makePackage = args: stdenv.mkDerivation ({
version = "${major}${update}${build}";
···
hash = "sha256-sZF7ZPC0kgTTxWgtkxmGtOlfroGPGVZcMw0/wSTJUxQ=";
};
-
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 icu68 ];
+
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ];
dontUseCmakeConfigure = true;
···
export GRADLE_USER_HOME=$(mktemp -d)
ln -s $config gradle.properties
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
-
gradle --no-daemon $gradleFlags sdk
+
gradle --no-daemon --console=plain $gradleFlags sdk
runHook postBuild
'';
···
gradleProperties = ''
COMPILE_MEDIA = ${lib.boolToString withMedia}
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
+
${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
'';
preBuild = ''
-6
pkgs/development/interpreters/erlang/27-rc2.nix
···
-
{ mkDerivation }:
-
-
mkDerivation {
-
version = "27.0-rc2";
-
sha256 = "sha256-o+uqQMlrh7wJQbiecMnn3/tv6nqSJh7unOj0A95mMb0=";
-
}
+6
pkgs/development/interpreters/erlang/27-rc3.nix
···
+
{ mkDerivation }:
+
+
mkDerivation {
+
version = "27.0-rc3";
+
sha256 = "sha256-c2DTIqBd7UxpSv84F1cCB9K+MkJb5OwnWSghtewnw/4=";
+
}
+2 -2
pkgs/development/interpreters/wamr/default.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "wamr";
-
version = "1.3.2";
+
version = "2.0.0";
src = fetchFromGitHub {
owner = "bytecodealliance";
repo = "wasm-micro-runtime";
rev = "WAMR-${finalAttrs.version}";
-
hash = "sha256-4iH1PC0fEPehlez8YWgqPBxWnePFcMBzbGfd2CQjvd4=";
+
hash = "sha256-7k7FRe1mBH/+r9M19pYGAHX5rt54AomeWDBW4lwCfu4=";
};
nativeBuildInputs = [ cmake ];
+3 -4
pkgs/development/interpreters/wasmtime/default.nix
···
rustPlatform.buildRustPackage rec {
pname = "wasmtime";
-
version = "19.0.2";
+
version = "20.0.0";
src = fetchFromGitHub {
owner = "bytecodealliance";
repo = pname;
rev = "v${version}";
-
hash = "sha256-t+2bkJ1SFN7Bi1Mj74CKGhnL2vWpruQKf8lYJWLOqB8=";
+
hash = "sha256-Q2CsIwYQsLnAlGyMRxNTxjZsezxhjSptBF540NtgkCc=";
fetchSubmodules = true;
};
# Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
auditable = false;
-
cargoHash = "sha256-Jr02AQWz4ILYZWlGtcVYWTcBojHWZk871bWuEyG5QxE=";
+
cargoHash = "sha256-d956DuVtLbZ/u3sAA4cQlw55CuYC7XyzeQarwyQ/hpY=";
cargoBuildFlags = [ "--package" "wasmtime-cli" "--package" "wasmtime-c-api" ];
outputs = [ "out" "dev" ];
···
install -d -m0755 $dev/include/wasmtime
install -m0644 $src/crates/c-api/include/*.h $dev/include
install -m0644 $src/crates/c-api/include/wasmtime/*.h $dev/include/wasmtime
-
install -m0644 $src/crates/c-api/wasm-c-api/include/* $dev/include
'' + lib.optionalString stdenv.isDarwin ''
install_name_tool -id \
$dev/lib/libwasmtime.dylib \
+2 -2
pkgs/development/libraries/gusb/default.nix
···
in
stdenv.mkDerivation rec {
pname = "gusb";
-
version = "0.4.8";
+
version = "0.4.9";
outputs = [ "bin" "out" "dev" "devdoc" ];
···
owner = "hughsie";
repo = "libgusb";
rev = "refs/tags/${version}";
-
hash = "sha256-xhWx45uOh8Yokd3/32CQ6tsdkgGaYUOvaylrq/jmoP0=";
+
hash = "sha256-piIPNLc3deToyQaajXFvM+CKh9ni8mb0P3kb+2RoJOs=";
};
patches = [
+2 -2
pkgs/development/libraries/nng/default.nix
···
stdenv.mkDerivation rec {
pname = "nng";
-
version = "1.7.3";
+
version = "1.8.0";
src = fetchFromGitHub {
owner = "nanomsg";
repo = "nng";
rev = "v${version}";
-
hash = "sha256-oP7hO3wCXNPW7877wK+HpGsw7j+U0q4i8aTRVi1v0r0=";
+
hash = "sha256-E2uosZrmxO3fqwlLuu5e36P70iGj5xUlvhEb+1aSvOA=";
};
nativeBuildInputs = [ cmake ninja ]
-4
pkgs/development/ocaml-modules/ocaml-protoc-plugin/default.nix
···
and de-serialization function from a .proto file.
'';
maintainers = [ lib.maintainers.GirardR1006 ];
-
# Broken with Dune 3.15.1:
-
# Error: Dependency cycle between:
-
# %{read:config/support_proto3_optional.conf} at test/dune:16
-
broken = true;
};
}
+3
pkgs/development/python-modules/awkward/default.nix
···
# The following tests have been disabled because they need to be run on a GPU platform.
disabledTestPaths = [
"tests-cuda"
+
# Disable tests dependending on jax on darwin
+
] ++ lib.optionals stdenv.isDarwin [
+
"tests/test_2603_custom_behaviors_with_jax.py"
];
meta = with lib; {
+2 -2
pkgs/development/python-modules/boto3-stubs/default.nix
···
buildPythonPackage rec {
pname = "boto3-stubs";
-
version = "1.34.88";
+
version = "1.34.89";
pyproject = true;
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "boto3_stubs";
inherit version;
-
hash = "sha256-I8qeDNDT53AtZjGh6UpCCKJrOfprEsc0Qn5op/pklHc=";
+
hash = "sha256-LGZI40McFYE28MHyHkQtPt4/taUkpacOo4AffpUUoQc=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/botocore-stubs/default.nix
···
buildPythonPackage rec {
pname = "botocore-stubs";
-
version = "1.34.88";
+
version = "1.34.89";
pyproject = true;
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "botocore_stubs";
inherit version;
-
hash = "sha256-ZW6WbqFSpPKCiJKqepZzvJF5mZj1qO/Y6P45D2HC9PE=";
+
hash = "sha256-stdBa1JLznMlql/gm7XgtryVMdQTb0QH+jm2vFhQfzQ=";
};
nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/coffea/default.nix
···
buildPythonPackage rec {
pname = "coffea";
-
version = "2024.2.2";
+
version = "2024.4.1";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "CoffeaTeam";
repo = "coffea";
rev = "refs/tags/v${version}";
-
hash = "sha256-GdoVb9YtlUlrSx7TWWrdHOqOJJ4M+kJspOllv6HgFXk=";
+
hash = "sha256-Iu1GHnLUqdhYO7hoHaf+O/S6KO0P+dvl0wgfRA5vtGI=";
};
postPatch = ''
+60
pkgs/development/python-modules/dask-expr/default.nix
···
+
{
+
lib,
+
buildPythonPackage,
+
pythonOlder,
+
fetchFromGitHub,
+
setuptools,
+
versioneer,
+
wheel,
+
dask,
+
pandas,
+
pyarrow,
+
distributed,
+
pytestCheckHook,
+
}:
+
+
buildPythonPackage rec {
+
pname = "dask-expr";
+
version = "1.0.12";
+
pyproject = true;
+
+
disabled = pythonOlder "3.9";
+
+
src = fetchFromGitHub {
+
owner = "dask";
+
repo = "dask-expr";
+
rev = "refs/tags/v${version}";
+
hash = "sha256-B/BkLOZhvUyjinaFKp0ecUfzvLb5S90q+YHmJwS6WSQ=";
+
};
+
+
postPatch = ''
+
substituteInPlace pyproject.toml \
+
--replace-fail "versioneer[toml]==0.28" "versioneer[toml]"
+
'';
+
+
nativeBuildInputs = [
+
setuptools
+
versioneer
+
wheel
+
];
+
+
propagatedBuildInputs = [
+
dask
+
pandas
+
pyarrow
+
];
+
+
pythonImportsCheck = [ "dask_expr" ];
+
+
nativeCheckInputs = [
+
distributed
+
pytestCheckHook
+
];
+
+
meta = with lib; {
+
description = "";
+
homepage = "https://github.com/dask/dask-expr";
+
license = licenses.bsd3;
+
maintainers = with maintainers; [ GaetanLepage ];
+
};
+
}
+26 -22
pkgs/development/python-modules/dask/default.nix
···
, stdenv
, buildPythonPackage
, fetchFromGitHub
-
, fetchpatch
# build-system
, setuptools
···
# tests
, arrow-cpp
+
, dask-expr
, hypothesis
, pytest-asyncio
, pytest-rerunfailures
···
, pythonOlder
}:
-
buildPythonPackage rec {
+
let self = buildPythonPackage rec {
pname = "dask";
-
version = "2024.2.1";
+
version = "2024.4.2";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "dask";
repo = "dask";
rev = "refs/tags/${version}";
-
hash = "sha256-8VFtKPaF0PqCjqFB+plFe1GjUno5j7j86+wxKhzByyw=";
+
hash = "sha256-iD+diwctXaQlOpL0fjOiFoWVONtlMq7AonbC0vCmXc0=";
};
-
patches = [
-
# A pair of fixes with python 3.11.9, merged upstream;
-
# see https://github.com/dask/dask/issues/11038
-
(fetchpatch {
-
url = "https://github.com/dask/dask/pull/11035.diff";
-
hash = "sha256-aQTzas8gn7pCyp7L6VV3NpSYgqC1Ov7YN7YGnX0Vwmo=";
-
})
-
(fetchpatch {
-
url = "https://github.com/dask/dask/pull/11039.diff";
-
hash = "sha256-gvEEvnyhFlhiFvVaB6jwMy4auUOvECf49FbFJyjqQm4=";
-
})
-
];
-
nativeBuildInputs = [
setuptools
wheel
···
++ self.distributed
++ self.diagnostics;
dataframe = [
+
# dask-expr -> circular dependency with dask-expr
numpy
pandas
];
···
});
nativeCheckInputs = [
+
dask-expr
pytestCheckHook
pytest-rerunfailures
pytest-xdist
···
hypothesis
pytest-asyncio
]
+
++ passthru.optional-dependencies.array
++ passthru.optional-dependencies.dataframe
++ lib.optionals (!arrow-cpp.meta.broken) [ # support is sparse on aarch64
pyarrow
···
pythonImportsCheck = [
"dask"
-
"dask.array"
"dask.bag"
"dask.bytes"
-
"dask.dataframe"
-
"dask.dataframe.io"
-
"dask.dataframe.tseries"
"dask.diagnostics"
];
+
doCheck = false;
+
+
# Enable tests via passthru to avoid cyclic dependency with dask-expr.
+
passthru.tests = {
+
check = self.overridePythonAttrs (old: {
+
doCheck = true;
+
pythonImportsCheck = [
+
# Requires the `dask.optional-dependencies.array` that are only in `nativeCheckInputs`
+
"dask.array"
+
# Requires the `dask.optional-dependencies.dataframe` that are only in `nativeCheckInputs`
+
"dask.dataframe"
+
"dask.dataframe.io"
+
"dask.dataframe.tseries"
+
] ++ old.pythonImportsCheck;
+
});
+
};
+
+
meta = with lib; {
description = "Minimal task scheduling abstraction";
mainProgram = "dask";
···
license = licenses.bsd3;
maintainers = with maintainers; [ fridh ];
};
-
}
+
}; in self
+2 -2
pkgs/development/python-modules/distributed/default.nix
···
buildPythonPackage rec {
pname = "distributed";
-
version = "2023.12.0";
+
version = "2024.4.2";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "dask";
repo = "distributed";
rev = "refs/tags/${version}";
-
hash = "sha256-Zv31BTzY31eXkU7wqa+h33qGrH+OTzKEj6L7Ei/aizk=";
+
hash = "sha256-xoQ+b7qzstZl9gRNs4jssNOsGQHDdvTXU7pTjBSuyWs=";
};
postPatch = ''
+3 -10
pkgs/development/python-modules/graphviz/default.nix
···
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
-
, fetchpatch
, substituteAll
, graphviz-nox
, xdg-utils
···
buildPythonPackage rec {
pname = "graphviz";
-
version = "0.20.1";
+
version = "0.20.2";
pyproject = true;
-
disabled = pythonOlder "3.7";
+
disabled = pythonOlder "3.8";
# patch does not apply to PyPI tarball due to different line endings
src = fetchFromGitHub {
owner = "xflr6";
repo = "graphviz";
rev = version;
-
hash = "sha256-plhWG9mE9DoTMg7mWCvFLAgtBx01LAgJ0gQ/mqBU3yc=";
+
hash = "sha256-q5y4QPBCtA1kMhxbOECodSeubj2bULnnNDrZZfxiry4=";
};
patches = [
···
src = ./paths.patch;
graphviz = graphviz-nox;
xdgutils = xdg-utils;
-
})
-
# https://github.com/xflr6/graphviz/issues/209
-
(fetchpatch {
-
name = "fix-tests-with-python312.patch";
-
url = "https://github.com/xflr6/graphviz/commit/5ce9fc5de4f2284baa27d7a8d68ab0885d032868.patch";
-
hash = "sha256-jREPACSc4aoHY3G+39e8Axqajw4eeKkAeVu2s40v1nI=";
})
];
+8 -8
pkgs/development/python-modules/graphviz/paths.patch
···
diff --git a/graphviz/backend/dot_command.py b/graphviz/backend/dot_command.py
-
index 60654bd..2c62b47 100644
+
index 3a62a85..a38bb9b 100644
--- a/graphviz/backend/dot_command.py
+++ b/graphviz/backend/dot_command.py
@@ -9,7 +9,7 @@ from .. import parameters
···
kwargs = {'stderr': subprocess.DEVNULL} if quiet else {}
subprocess.Popen(cmd, **kwargs)
diff --git a/tests/_common.py b/tests/_common.py
-
index 87b4cbd..4188beb 100644
+
index edc1309..42d730c 100644
--- a/tests/_common.py
+++ b/tests/_common.py
-
@@ -14,9 +14,9 @@ __all__ = ['EXPECTED_DOT_BINARY', 'EXPECTED_UNFLATTEN_BINARY',
+
@@ -14,9 +14,9 @@ __all__ = ['EXPECTED_DOT_BINARY',
'as_cwd',
'check_startupinfo', 'StartupinfoMatcher']
-
-EXPECTED_DOT_BINARY = _compat.make_subprocess_arg(pathlib.Path('dot'))
-
+EXPECTED_DOT_BINARY = _compat.make_subprocess_arg(pathlib.Path('@graphviz@/bin/dot'))
+
-EXPECTED_DOT_BINARY = pathlib.Path('dot')
+
+EXPECTED_DOT_BINARY = pathlib.Path('@graphviz@/bin/dot')
-
-EXPECTED_UNFLATTEN_BINARY = _compat.make_subprocess_arg(pathlib.Path('unflatten'))
-
+EXPECTED_UNFLATTEN_BINARY = _compat.make_subprocess_arg(pathlib.Path('@graphviz@/bin/unflatten'))
+
-EXPECTED_UNFLATTEN_BINARY = pathlib.Path('unflatten')
+
+EXPECTED_UNFLATTEN_BINARY = pathlib.Path('@graphviz@/bin/unflatten')
-
EXPECTED_DEFAULT_ENCODING = 'utf-8'
+
EXPECTED_DEFAULT_ENGINE = 'dot'
diff --git a/tests/backend/test_execute.py b/tests/backend/test_execute.py
index 2cb853a..8093dfe 100644
+4 -4
pkgs/development/python-modules/ical/default.nix
···
buildPythonPackage rec {
pname = "ical";
-
version = "7.0.3";
+
version = "8.0.0";
pyproject = true;
disabled = pythonOlder "3.10";
···
owner = "allenporter";
repo = "ical";
rev = "refs/tags/${version}";
-
hash = "sha256-RiwWnRSe0HdeGVo592A+Rk+IvA1Lfp6mY+/ZEyqJBDU=";
+
hash = "sha256-nwF6iInQzHdOtmcC1fi6CS2LnYRCxc/DS9bg8IxTlFg=";
};
-
nativeBuildInputs = [
+
build-system = [
setuptools
];
-
propagatedBuildInputs = [
+
dependencies = [
python-dateutil
tzdata
pydantic
+11 -10
pkgs/development/python-modules/ocrmypdf/default.nix
···
, jbig2enc
, packaging
, pdfminer-six
+
, pillow-heif
, pikepdf
, pillow
, pluggy
···
, pythonOlder
, rich
, reportlab
-
, setuptools
, setuptools-scm
, substituteAll
, tesseract
, tqdm
-
, typing-extensions
, unpaper
, installShellFiles
}:
buildPythonPackage rec {
pname = "ocrmypdf";
-
version = "16.1.2";
+
version = "16.2.0";
disabled = pythonOlder "3.10";
···
postFetch = ''
rm "$out/.git_archival.txt"
'';
-
hash = "sha256-nZvfkfO5u3iuN0g/KITWbhYCRAJngEOKCW48z6IEPMI=";
+
hash = "sha256-sqhuQ+no6UymxbVtDtWiYQK8kKpO1y37NxLDmRT1LEQ=";
};
patches = [
+
./use-pillow-heif.patch
(substituteAll {
src = ./paths.patch;
gs = lib.getExe ghostscript;
···
})
];
+
build-system = [
+
setuptools-scm
+
];
+
nativeBuildInputs = [
-
setuptools
-
setuptools-scm
installShellFiles
];
-
propagatedBuildInputs = [
+
dependencies = [
deprecation
img2pdf
packaging
pdfminer-six
+
pillow-heif
pikepdf
pillow
pluggy
-
reportlab
rich
-
] ++ lib.optionals (pythonOlder "3.10") [
-
typing-extensions
];
nativeCheckInputs = [
hypothesis
pytest-xdist
pytestCheckHook
+
reportlab
];
pythonImportsCheck = [
+26
pkgs/development/python-modules/ocrmypdf/use-pillow-heif.patch
···
+
diff --git a/pyproject.toml b/pyproject.toml
+
index d045458f..efa9161d 100644
+
--- a/pyproject.toml
+
+++ b/pyproject.toml
+
@@ -16,7 +16,7 @@ dependencies = [
+
"img2pdf>=0.5",
+
"packaging>=20",
+
"pdfminer.six>=20220319",
+
- "pi-heif", # Heif image format - maintainers: if this is removed, it will NOT break
+
+ "pillow-heif", # Heif image format - maintainers: if this is removed, it will NOT break
+
"pikepdf>=8.10.1",
+
"Pillow>=10.0.1",
+
"pluggy>=1",
+
diff --git a/src/ocrmypdf/_pipeline.py b/src/ocrmypdf/_pipeline.py
+
index 043a78a0..522197b1 100644
+
--- a/src/ocrmypdf/_pipeline.py
+
+++ b/src/ocrmypdf/_pipeline.py
+
@@ -42,7 +42,7 @@ from ocrmypdf.pdfinfo import Colorspace, Encoding, PageInfo, PdfInfo
+
from ocrmypdf.pluginspec import OrientationConfidence
+
+
try:
+
- from pi_heif import register_heif_opener
+
+ from pillow_heif import register_heif_opener
+
except ImportError:
+
+
def register_heif_opener():
+6 -2
pkgs/development/python-modules/pillow-heif/default.nix
···
x265
];
-
# clang-16: error: argument unused during compilation: '-fno-strict-overflow' [-Werror,-Wunused-command-line-argument]
-
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument";
+
env = {
+
# clang-16: error: argument unused during compilation: '-fno-strict-overflow'
+
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument";
+
+
RELEASE_FULL_FLAG = 1;
+
};
propagatedBuildInputs = [
pillow
+2 -2
pkgs/development/python-modules/pyaml/default.nix
···
buildPythonPackage rec {
pname = "pyaml";
-
version = "23.12.0";
+
version = "24.4.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
-
hash = "sha256-zm9kjv37GzpVefjO2wT6zw+h6PZIRrY5MJtYW7MitOU=";
+
hash = "sha256-Dkg9kokBDnR6Ml3EMXG8w51lYt0d1HGejMfnyWyZ/OY=";
};
nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/transformers/default.nix
···
buildPythonPackage rec {
pname = "transformers";
-
version = "4.40.0";
+
version = "4.40.1";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "huggingface";
repo = "transformers";
rev = "refs/tags/v${version}";
-
hash = "sha256-k0AloOG7fRQhTW8IF6uQSfav8p1KC5633SaLNYZrZ2M=";
+
hash = "sha256-w9BVJwYS2QV58UTOpcoQwdC+dxZuhLS2h8PqN5W2Yjc=";
};
build-system = [
-22
pkgs/development/python-modules/units/default.nix
···
-
{ lib
-
, buildPythonPackage
-
, fetchPypi
-
}:
-
-
buildPythonPackage rec {
-
pname = "units";
-
version = "0.07";
-
format = "setuptools";
-
-
src = fetchPypi {
-
inherit pname version;
-
sha256 = "43eb3e073e1b11289df7b1c3f184b5b917ccad178b717b03933298716f200e14";
-
};
-
-
meta = with lib; {
-
description = "Python support for quantities with units";
-
homepage = "https://bitbucket.org/adonohue/units/";
-
license = licenses.psfl;
-
maintainers = [ ];
-
};
-
}
+2 -2
pkgs/development/tools/algolia-cli/default.nix
···
buildGoModule rec {
pname = "algolia-cli";
-
version = "1.6.6";
+
version = "1.6.7";
src = fetchFromGitHub {
owner = "algolia";
repo = "cli";
rev = "v${version}";
-
hash = "sha256-yLsyby3u1oz5fnQ/zQ0sjy2w+Pv0KHySojsDc4vnFF0=";
+
hash = "sha256-g6UNFE1EEo40pqdTAmidG4/A+cQ89UZNp++B+q6AzeA=";
};
vendorHash = "sha256-cNuBTH7L2K4TgD0H9FZ9CjhE5AGXADaniGLD9Lhrtrk=";
+1 -4
pkgs/development/tools/continuous-integration/github-runner/default.nix
···
-
{ autoPatchelfHook
-
, autoSignDarwinBinariesHook
+
{ autoSignDarwinBinariesHook
, buildDotnetModule
, dotnetCorePackages
, fetchFromGitHub
···
nativeBuildInputs = [
which
git
-
] ++ lib.optionals stdenv.isLinux [
-
autoPatchelfHook
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
autoSignDarwinBinariesHook
];
+4 -4
pkgs/development/tools/misc/texlab/default.nix
···
in
rustPlatform.buildRustPackage rec {
pname = "texlab";
-
version = "5.14.1";
+
version = "5.15.0";
src = fetchFromGitHub {
owner = "latex-lsp";
repo = "texlab";
rev = "refs/tags/v${version}";
-
hash = "sha256-OqnV0ZpriiH69cTlmqPxorCgeO3x5h15e5Crn7DPwBM=";
+
hash = "sha256-V2+2fiQsU55Ig6GoxDJB0RCTh8nhuiGIYM3NeR4pU+k=";
};
-
cargoHash = "sha256-V5FP24Cz1umffFD1Am4/IG3c7zKpT7MdghLpKvDxZwA=";
+
cargoHash = "sha256-MPhG+YZ52fvv3+cKNebIkWwvruUsaRnOqPI1fs3osNI=";
outputs = [ "out" ] ++ lib.optional (!isCross) "man";
···
# generate the man page
postInstall = lib.optionalString (!isCross) ''
# TexLab builds man page separately in CI:
-
# https://github.com/latex-lsp/texlab/blob/v5.14.1/.github/workflows/publish.yml#L117-L121
+
# https://github.com/latex-lsp/texlab/blob/v5.15.0/.github/workflows/publish.yml#L117-L121
help2man --no-info "$out/bin/texlab" > texlab.1
installManPage texlab.1
'';
+2 -2
pkgs/development/tools/ocaml/dune/3.nix
···
stdenv.mkDerivation rec {
pname = "dune";
-
version = "3.15.1";
+
version = "3.15.2";
src = fetchurl {
url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
-
hash = "sha256-tbeKSgLU3QiUI02/cYv/R3/Nheff3/6OzgC5oM89VHs=";
+
hash = "sha256-+VmYBULKhZCbPz+Om+ZcK4o3XzpOO9g8etegfy4HeTM=";
};
nativeBuildInputs = [ ocaml findlib ];
+51
pkgs/os-specific/linux/rtl8852bu/default.nix
···
+
{ lib, stdenv, fetchFromGitHub, kernel, bc, nukeReferences }:
+
+
stdenv.mkDerivation {
+
pname = "rtl8852bu";
+
version = "${kernel.version}-unstable-2024-03-28";
+
+
src = fetchFromGitHub {
+
owner = "morrownr";
+
repo = "rtl8852bu";
+
rev = "f6aaa3c0094c541d9b0347926c76c1e9cc4a49d1";
+
hash = "sha256-Jbd6nixo873LU74klhhQU1qD3ahxEnywdqcF89LTRxc=";
+
};
+
+
nativeBuildInputs = [ bc nukeReferences ] ++ kernel.moduleBuildDependencies;
+
hardeningDisable = [ "pic" "format" ];
+
+
postPatch = ''
+
substituteInPlace ./Makefile \
+
--replace-fail /sbin/depmod \# \
+
--replace-fail '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
+
substituteInPlace ./platform/i386_pc.mk \
+
--replace-fail /lib/modules "${kernel.dev}/lib/modules"
+
'';
+
+
makeFlags = [
+
"ARCH=${stdenv.hostPlatform.linuxArch}"
+
("CONFIG_PLATFORM_I386_PC=" + (if stdenv.hostPlatform.isx86 then "y" else "n"))
+
("CONFIG_PLATFORM_ARM_RPI=" + (if stdenv.hostPlatform.isAarch then "y" else "n"))
+
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+
"CROSS_COMPILE=${stdenv.cc.targetPrefix}"
+
];
+
+
preInstall = ''
+
mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
+
mkdir -p "$out/usr/lib/systemd/system-sleep"
+
'';
+
+
postInstall = ''
+
nuke-refs $out/lib/modules/*/kernel/net/wireless/*.ko
+
'';
+
+
enableParallelBuilding = true;
+
+
meta = with lib; {
+
description = "Driver for Realtek rtl8852au and rtl8832bu chipsets, provides the 8852au mod";
+
homepage = "https://github.com/morrownr/rtl8852bu";
+
license = licenses.gpl2Only;
+
platforms = platforms.linux;
+
maintainers = with maintainers; [ lonyelon ];
+
};
+
}
+2 -2
pkgs/servers/dns/bind/default.nix
···
stdenv.mkDerivation rec {
pname = "bind";
-
version = "9.18.25";
+
version = "9.18.26";
src = fetchurl {
url = "https://downloads.isc.org/isc/bind9/${version}/${pname}-${version}.tar.xz";
-
hash = "sha256-WkpwQyoz0Anw5unbsyiq56XidQfpjii/PAxrJQzLKrM=";
+
hash = "sha256-df/uUnMelgTISbZY3ynpJ/HE8B1aceo+vL62NwLLZlE=";
};
outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
+44 -10
pkgs/servers/home-assistant/intents.nix
···
{ lib
, buildPythonPackage
-
, fetchPypi
+
, fetchFromGitHub
, pythonOlder
# build-system
, setuptools
+
+
# codegen
+
, hassil
+
, python
+
, pyyaml
+
, voluptuous
+
, regex
+
, jinja2
+
+
# tests
+
, pytest-xdist
+
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "home-assistant-intents";
version = "2024.4.3";
-
format = "wheel";
+
pyproject = true;
disabled = pythonOlder "3.9";
-
src = fetchPypi {
-
inherit version format;
-
pname = "home_assistant_intents";
-
dist = "py3";
-
python = "py3";
-
hash = "sha256-GraYVtioKIoKlPRBhhhzlbBfI6heXAaA1MQpUqAgEDQ=";
+
src = fetchFromGitHub {
+
owner = "home-assistant";
+
repo = "intents-package";
+
rev = "refs/tags/${version}";
+
hash = "sha256-hcstD1qkngZAl/jKLez+4qDs/ZIandkVkY2jrvZqph8=";
+
fetchSubmodules = true;
};
+
+
postPatch = ''
+
substituteInPlace pyproject.toml \
+
--replace-fail "setuptools~=62.3" "setuptools" \
+
--replace-fail "wheel~=0.37.1" "wheel"
+
'';
build-system = [
setuptools
+
+
# build-time codegen; https://github.com/home-assistant/intents/blob/main/requirements.txt#L1-L5
+
hassil
+
pyyaml
+
voluptuous
+
regex
+
jinja2
];
-
# sdist/wheel do not ship tests
-
doCheck = false;
+
postInstall = ''
+
# https://github.com/home-assistant/intents-package/blob/main/script/package#L23-L24
+
PACKAGE_DIR=$out/${python.sitePackages}/home_assistant_intents
+
${python.pythonOnBuildForHost.interpreter} script/merged_output.py $PACKAGE_DIR/data
+
${python.pythonOnBuildForHost.interpreter} script/write_languages.py $PACKAGE_DIR/data > $PACKAGE_DIR/languages.py
+
'';
+
+
nativeCheckInputs = [
+
pytest-xdist
+
pytestCheckHook
+
];
pytestFlagsArray = [
"intents/tests"
+1 -1
pkgs/servers/jellyseerr/package.json
···
{
"name": "jellyseerr",
-
"version": "1.7.0",
+
"version": "1.8.1",
"private": true,
"scripts": {
"dev": "nodemon -e ts --watch server --watch overseerr-api.yml -e .json,.ts,.yml -x ts-node -r tsconfig-paths/register --files --project server/tsconfig.json server/index.ts",
+3 -3
pkgs/servers/jellyseerr/pin.json
···
{
-
"version": "1.7.0",
-
"srcHash": "sha256-9ILP2HH7p8ELwrQOBnqPbvHdUnNrqEkA4OmxOuhNbEc=",
-
"yarnSha256": "1ygb8pmwra570wmdkn7mxv9j90cgjh063b9cl0wl9hsmg687sk9h"
+
"version": "1.8.1",
+
"srcHash": "sha256-B8Hnpi4XwK0WrHRgj7OSVUh49oRH9SVEHdzGbnDa8p8=",
+
"yarnSha256": "ME19kHlVw0Q5oCytYQCUj4Ek0+712NkqB6eozOtF6/k="
}
-8
pkgs/tools/games/opentracker/default.nix
···
stdenv,
buildDotnetModule,
fetchFromGitHub,
-
autoPatchelfHook,
wrapGAppsHook,
dotnetCorePackages,
fontconfig,
···
];
nativeBuildInputs = [
-
autoPatchelfHook
wrapGAppsHook
];
···
libX11
libXi
]);
-
-
# Attempts to patchelf unneeded SOs
-
autoPatchelfIgnoreMissingDeps = [
-
"libc.musl-x86_64.so.1"
-
"libintl.so.8"
-
];
meta = with lib; {
description = "A tracking application for A Link to the Past Randomizer";
+3 -3
pkgs/tools/graphics/oxipng/default.nix
···
{ lib, stdenv, fetchCrate, rustPlatform }:
rustPlatform.buildRustPackage rec {
-
version = "9.0.0";
+
version = "9.1.1";
pname = "oxipng";
src = fetchCrate {
inherit version pname;
-
hash = "sha256-1OpSweosYiqtLqCcAw1EsAtBAYVc/VH8kRtVSpmTytM=";
+
hash = "sha256-I+1yQQEzhGApvHxPM8W1wySQtDglGp3V4vkwoTd92EU=";
};
-
cargoHash = "sha256-kPdAfqMNOoQPSdv+VLRDUr6AXGPy47UnldXwvpwKp6s=";
+
cargoHash = "sha256-miXrQVFahz9WYRCduSF5+RSY4j/XNEt8lnSuOohBUFU=";
doCheck = !stdenv.isAarch64 && !stdenv.isDarwin;
+7 -7
pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
···
zip-codes = fetchFromGitHub {
owner = "musjj";
repo = "jp-zip-codes";
-
rev = "a1eed9bae0ba909c8c8f5387008b08ff490f5e57";
-
hash = "sha256-VfI8qAMPPCC2H4vjm4a6sAmSwc1YkXlMyLm1cnufvrU=";
+
rev = "119c888a38032a92e139c52cd26f45bb495c4d54";
+
hash = "sha256-uyAL2TcFJsYZACFDAxIQ4LE40Hi4PVrQRnJl5O5+RmU=";
};
in
buildBazelPackage rec {
pname = "ibus-mozc";
-
version = "2.29.5268.102";
+
version = "2.29.5374.102";
src = fetchFromGitHub {
owner = "google";
repo = "mozc";
rev = version;
-
hash = "sha256-B7hG8OUaQ1jmmcOPApJlPVcB8h1Rw06W5LAzlTzI9rU=";
+
hash = "sha256-AcIN5sWPBe4JotAUYv1fytgQw+mJzdFhKuVPLR48soA=";
fetchSubmodules = true;
};
···
inherit bazel;
fetchAttrs = {
-
sha256 = "sha256-17QHh1MJUu8OK/T+WSpLXEx83DmRORLN7yLzILqP7vw=";
+
sha256 = "sha256-TJ5ksmGCZ8Vy3WmwqQQqQh+kYZvrBeGXc4zcOt1ZYI4=";
-
# remove references of buildInputs
+
# remove references of buildInputs and zip code files
preInstall = ''
-
rm -rv $bazelOut/external/{ibus,qt_linux}
+
rm -rv $bazelOut/external/{ibus,qt_linux,zip_code_*}
'';
};
pkgs/tools/misc/btrfs-assistant/default.nix pkgs/by-name/bt/btrfs-assistant/package.nix
pkgs/tools/misc/dooit/default.nix pkgs/by-name/do/dooit/package.nix
+5 -2
pkgs/tools/misc/fastfetch/default.nix pkgs/by-name/fa/fastfetch/package.nix
···
, nix-update-script
, ocl-icd
, opencl-headers
+
, overrideSDK
, pcre
, pcre2
, pkg-config
···
, waylandSupport ? true
, x11Support ? true
}:
-
-
stdenv.mkDerivation (finalAttrs: {
+
let
+
stdenv' = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
+
in
+
stdenv'.mkDerivation (finalAttrs: {
pname = "fastfetch";
version = "2.9.2";
-6
pkgs/tools/networking/mqttmultimeter/default.nix
···
, dotnet-runtime_8
, buildDotnetModule
, fetchFromGitHub
-
, autoPatchelfHook
, fontconfig
, xorg
, libglvnd
, makeDesktopItem
, copyDesktopItems
}:
-
-
# NOTES:
-
# 1. we need autoPatchelfHook for quite a number of things in $out/lib
buildDotnetModule rec {
pname = "mqttmultimeter";
···
executables = [ "mqttMultimeter" ];
nativeBuildInputs = [
-
autoPatchelfHook
copyDesktopItems
];
buildInputs = [ stdenv.cc.cc.lib fontconfig ];
-
# don't care about musl and windows versions, as they fail autoPatchelfHook
postInstall = ''
rm -rf $out/lib/${lib.toLower pname}/runtimes/{*musl*,win*}
'';
+8
pkgs/tools/security/cryptomator/default.nix
···
# This is based on the instructins in https://github.com/cryptomator/cryptomator/blob/develop/dist/linux/appimage/build.sh
installPhase = ''
+
runHook preInstall
+
mkdir -p $out/bin/ $out/share/cryptomator/libs/ $out/share/cryptomator/mods/
cp target/libs/* $out/share/cryptomator/libs/
···
cp ${src}/dist/linux/common/org.cryptomator.Cryptomator256.png $out/share/icons/hicolor/256x256/apps/org.cryptomator.Cryptomator.png
cp ${src}/dist/linux/common/org.cryptomator.Cryptomator512.png $out/share/icons/hicolor/512x512/apps/org.cryptomator.Cryptomator.png
cp ${src}/dist/linux/common/org.cryptomator.Cryptomator.svg $out/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg
+
cp ${src}/dist/linux/common/org.cryptomator.Cryptomator.tray-unlocked.svg $out/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.tray-unlocked.svg
+
cp ${src}/dist/linux/common/org.cryptomator.Cryptomator.tray.svg $out/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.tray.svg
+
cp ${src}/dist/linux/common/org.cryptomator.Cryptomator.tray-unlocked.svg $out/share/icons/hicolor/symbolic/apps/org.cryptomator.Cryptomator.tray-unlocked-symbolic.svg
+
cp ${src}/dist/linux/common/org.cryptomator.Cryptomator.tray.svg $out/share/icons/hicolor/symbolic/apps/org.cryptomator.Cryptomator.tray-symbolic.svg
cp ${src}/dist/linux/common/org.cryptomator.Cryptomator.desktop $out/share/applications/org.cryptomator.Cryptomator.desktop
cp ${src}/dist/linux/common/org.cryptomator.Cryptomator.metainfo.xml $out/share/metainfo/org.cryptomator.Cryptomator.metainfo.xml
cp ${src}/dist/linux/common/application-vnd.cryptomator.vault.xml $out/share/mime/packages/application-vnd.cryptomator.vault.xml
+
+
runHook postInstall
'';
nativeBuildInputs = [
+3 -3
pkgs/tools/security/prs/default.nix
···
rustPlatform.buildRustPackage rec {
pname = "prs";
-
version = "0.5.0";
+
version = "0.5.1";
src = fetchFromGitLab {
owner = "timvisee";
repo = "prs";
rev = "refs/tags/v${version}";
-
hash = "sha256-9/XKz+yOCFEB1VI2EK0xF5ecyBPeGztpGPo/aXQ6v5E=";
+
hash = "sha256-MvQ0B35NF/AuGHBMa201FkFlU/UX0WXMcBRxTJwpUFw=";
};
-
cargoHash = "sha256-kxIgToqhJhUgJcxnGRGG6I+YqM2diFgQDyn1jBxWAw8=";
+
cargoHash = "sha256-YDcAjBIdUboOKvGSnGW6b1JVbhQaB3ccXcSmK78M7DI=";
postPatch = ''
# The GPGME backend is recommended
+1 -19
pkgs/top-level/all-packages.nix
···
catatonit = callPackage ../applications/virtualization/catatonit { };
-
catppuccin = callPackage ../data/themes/catppuccin { };
-
catppuccin-catwalk = callPackage ../development/tools/misc/catppuccin-catwalk { };
catppuccin-gtk = callPackage ../data/themes/catppuccin-gtk { };
···
catppuccin-papirus-folders = callPackage ../data/icons/catppuccin-papirus-folders { };
catppuccin-plymouth = callPackage ../data/themes/catppuccin-plymouth { };
-
-
catppuccin-sddm-corners = callPackage ../data/themes/catppuccin-sddm-corners { };
btdu = callPackage ../tools/misc/btdu { };
···
dwarfs = callPackage ../tools/filesystems/dwarfs { };
dysk = callPackage ../tools/filesystems/dysk { };
-
-
fastfetch = callPackage ../tools/misc/fastfetch {
-
stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
-
};
fscan = callPackage ../tools/security/fscan { };
···
botamusique = callPackage ../tools/audio/botamusique { };
boulder = callPackage ../tools/admin/boulder { };
-
-
btrfs-assistant = qt6.callPackage ../tools/misc/btrfs-assistant { };
btrfs-heatmap = callPackage ../tools/filesystems/btrfs-heatmap { };
···
dpt-rp1-py = callPackage ../tools/misc/dpt-rp1-py { };
-
dooit = callPackage ../tools/misc/dooit { };
-
doona = callPackage ../tools/security/doona { };
dotter = callPackage ../tools/misc/dotter {
···
inherit (darwin.apple_sdk_11_0.frameworks) AppKit Carbon CoreAudio CoreWLAN CoreVideo DisplayServices IOKit MediaRemote SkyLight;
-
sketchybar-app-font = callPackage ../data/fonts/sketchybar-app-font { };
-
skippy-xd = callPackage ../tools/X11/skippy-xd { };
sks = callPackage ../servers/sks {
···
inherit (beam.interpreters)
-
erlang erlang_27-rc2 erlang_26 erlang_25 erlang_24
+
erlang erlang_27-rc3 erlang_26 erlang_25 erlang_24
erlang_odbc erlang_javac erlang_odbc_javac
elixir elixir_1_16 elixir_1_15 elixir_1_14 elixir_1_13 elixir_1_12 elixir_1_11 elixir_1_10
elixir-ls;
···
rootbar = callPackage ../applications/misc/rootbar { };
-
waybar = callPackage ../applications/misc/waybar { };
-
waycorner = callPackage ../applications/misc/waycorner { };
waylock = callPackage ../applications/misc/waylock { };
···
dict-cc-py = callPackage ../applications/misc/dict-cc-py { };
sirikali = libsForQt5.callPackage ../tools/security/sirikali { };
-
-
wttrbar = callPackage ../applications/misc/wttrbar { };
wpm = callPackage ../applications/misc/wpm { };
+1 -1
pkgs/top-level/beam-packages.nix
···
# Standard Erlang versions, using the generic builder.
-
erlang_27-rc2 = self.beamLib.callErlang ../development/interpreters/erlang/27-rc2.nix {
+
erlang_27-rc3 = self.beamLib.callErlang ../development/interpreters/erlang/27-rc3.nix {
wxGTK = wxGTK32;
parallelBuild = true;
autoconf = buildPackages.autoconf269;
+2
pkgs/top-level/linux-kernels.nix
···
rtl8852au = callPackage ../os-specific/linux/rtl8852au { };
+
rtl8852bu = callPackage ../os-specific/linux/rtl8852bu { };
+
rtl88xxau-aircrack = callPackage ../os-specific/linux/rtl88xxau-aircrack {};
rtl8821au = callPackage ../os-specific/linux/rtl8821au { };
+2 -2
pkgs/top-level/python-packages.nix
···
dask-awkward = callPackage ../development/python-modules/dask-awkward { };
+
dask-expr = callPackage ../development/python-modules/dask-expr { };
+
dask-gateway = callPackage ../development/python-modules/dask-gateway { };
dask-gateway-server = callPackage ../development/python-modules/dask-gateway-server { };
···
unifiled = callPackage ../development/python-modules/unifiled { };
unique-log-filter = callPackage ../development/python-modules/unique-log-filter { };
-
-
units = callPackage ../development/python-modules/units { };
unittest-data-provider = callPackage ../development/python-modules/unittest-data-provider { };