Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-08-31 18:01:26 +00:00 committed by GitHub
commit cfbf9d795e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
63 changed files with 15222 additions and 508 deletions

View File

@ -54,3 +54,65 @@ for your specific card(s).
Library maintainers should consult [NVCC Docs](https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/) Library maintainers should consult [NVCC Docs](https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/)
and release notes for their software package. and release notes for their software package.
## Adding a new CUDA release {#adding-a-new-cuda-release}
> **WARNING**
>
> This section of the docs is still very much in progress. Feedback is welcome in GitHub Issues tagging @NixOS/cuda-maintainers or on [Matrix](https://matrix.to/#/#cuda:nixos.org).
The CUDA Toolkit is a suite of CUDA libraries and software meant to provide a development environment for CUDA-accelerated applications. Until the release of CUDA 11.4, NVIDIA had only made the CUDA Toolkit available as a multi-gigabyte runfile installer, which we provide through the [`cudaPackages.cudatoolkit`](https://search.nixos.org/packages?channel=unstable&type=packages&query=cudaPackages.cudatoolkit) attribute. From CUDA 11.4 and onwards, NVIDIA has also provided CUDA redistributables (“CUDA-redist”): individually packaged CUDA Toolkit components meant to facilitate redistribution and inclusion in downstream projects. These packages are available in the [`cudaPackages`](https://search.nixos.org/packages?channel=unstable&type=packages&query=cudaPackages) package set.
All new projects should use the CUDA redistributables available in [`cudaPackages`](https://search.nixos.org/packages?channel=unstable&type=packages&query=cudaPackages) in place of [`cudaPackages.cudatoolkit`](https://search.nixos.org/packages?channel=unstable&type=packages&query=cudaPackages.cudatoolkit), as they are much easier to maintain and update.
### Updating CUDA redistributables {#updating-cuda-redistributables}
1. Go to NVIDIA's index of CUDA redistributables: <https://developer.download.nvidia.com/compute/cuda/redist/>
2. Copy the `redistrib_*.json` corresponding to the release to `pkgs/development/compilers/cudatoolkit/redist/manifests`.
3. Generate the `redistrib_features_*.json` file by running:
```bash
nix run github:ConnorBaker/cuda-redist-find-features -- <path to manifest>
```
That command will generate the `redistrib_features_*.json` file in the same directory as the manifest.
4. Include the path to the new manifest in `pkgs/development/compilers/cudatoolkit/redist/extension.nix`.
### Updating the CUDA Toolkit runfile installer {#updating-the-cuda-toolkit}
> **WARNING**
>
> While the CUDA Toolkit runfile installer is still available in Nixpkgs as the [`cudaPackages.cudatoolkit`](https://search.nixos.org/packages?channel=unstable&type=packages&query=cudaPackages.cudatoolkit) attribute, its use is not recommended and should it be considered deprecated. Please migrate to the CUDA redistributables provided by the [`cudaPackages`](https://search.nixos.org/packages?channel=unstable&type=packages&query=cudaPackages) package set.
>
> To ensure packages relying on the CUDA Toolkit runfile installer continue to build, it will continue to be updated until a migration path is available.
1. Go to NVIDIA's CUDA Toolkit runfile installer download page: <https://developer.nvidia.com/cuda-downloads>
2. Select the appropriate OS, architecture, distribution, and version, and installer type.
- For example: Linux, x86_64, Ubuntu, 22.04, runfile (local)
- NOTE: Typically, we use the Ubuntu runfile. It is unclear if the runfile for other distributions will work.
3. Take the link provided by the installer instructions on the webpage after selecting the installer type and get its hash by running:
```bash
nix store prefetch-file --hash-type sha256 <link>
```
4. Update `pkgs/development/compilers/cudatoolkit/versions.toml` to include the release.
### Updating the CUDA package set {#updating-the-cuda-package-set}
1. Include a new `cudaPackages_<major>_<minor>` package set in `pkgs/top-level/all-packages.nix`.
- NOTE: Changing the default CUDA package set should occur in a separate PR, allowing time for additional testing.
2. Successfully build the closure of the new package set, updating `pkgs/development/compilers/cudatoolkit/redist/overrides.nix` as needed. Below are some common failures:
| Unable to ... | During ... | Reason | Solution | Note |
| --- | --- | --- | --- | --- |
| Find headers | `configurePhase` or `buildPhase` | Missing dependency on a `dev` output | Add the missing dependency | The `dev` output typically contain the headers |
| Find libraries | `configurePhase` | Missing dependency on a `dev` output | Add the missing dependency | The `dev` output typically contain CMake configuration files |
| Find libraries | `buildPhase` or `patchelf` | Missing dependency on a `lib` or `static` output | Add the missing dependency | The `lib` or `static` output typically contain the libraries |
In the scenario you are unable to run the resulting binary: this is arguably the most complicated as it could be any combination of the previous reasons. This type of failure typically occurs when a library attempts to load or open a library it depends on that it does not declare in its `DT_NEEDED` section. As a first step, ensure that dependencies are patched with [`cudaPackages.autoAddOpenGLRunpath`](https://search.nixos.org/packages?channel=unstable&type=packages&query=cudaPackages.autoAddOpenGLRunpath). Failing that, try running the application with [`nixGL`](https://github.com/guibou/nixGL) or a similar wrapper tool. If that works, it likely means that the application is attempting to load a library that is not in the `RPATH` or `RUNPATH` of the binary.

View File

@ -6318,6 +6318,12 @@
githubId = 1447245; githubId = 1447245;
name = "Robin Gloster"; name = "Robin Gloster";
}; };
gmemstr = {
email = "git@gmem.ca";
github = "gmemstr";
githubId = 1878840;
name = "Gabriel Simmer";
};
gnxlxnxx = { gnxlxnxx = {
email = "gnxlxnxx@web.de"; email = "gnxlxnxx@web.de";
github = "gnxlxnxx"; github = "gnxlxnxx";

View File

@ -137,7 +137,7 @@ in
default = { }; default = { };
description = lib.mdDoc '' description = lib.mdDoc ''
Settings for Kanidm, see Settings for Kanidm, see
[the documentation](https://github.com/kanidm/kanidm/blob/master/kanidm_book/src/server_configuration.md) [the documentation](https://kanidm.github.io/kanidm/stable/server_configuration.html)
and [example configuration](https://github.com/kanidm/kanidm/blob/master/examples/server.toml) and [example configuration](https://github.com/kanidm/kanidm/blob/master/examples/server.toml)
for possible values. for possible values.
''; '';
@ -155,7 +155,7 @@ in
}; };
description = lib.mdDoc '' description = lib.mdDoc ''
Configure Kanidm clients, needed for the PAM daemon. See Configure Kanidm clients, needed for the PAM daemon. See
[the documentation](https://github.com/kanidm/kanidm/blob/master/kanidm_book/src/client_tools.md#kanidm-configuration) [the documentation](https://kanidm.github.io/kanidm/stable/client_tools.html#kanidm-configuration)
and [example configuration](https://github.com/kanidm/kanidm/blob/master/examples/config) and [example configuration](https://github.com/kanidm/kanidm/blob/master/examples/config)
for possible values. for possible values.
''; '';
@ -173,7 +173,7 @@ in
}; };
description = lib.mdDoc '' description = lib.mdDoc ''
Configure Kanidm unix daemon. Configure Kanidm unix daemon.
See [the documentation](https://github.com/kanidm/kanidm/blob/master/kanidm_book/src/pam_and_nsswitch.md#the-unix-daemon) See [the documentation](https://kanidm.github.io/kanidm/stable/integrations/pam_and_nsswitch.html#the-unix-daemon)
and [example configuration](https://github.com/kanidm/kanidm/blob/master/examples/unixd) and [example configuration](https://github.com/kanidm/kanidm/blob/master/examples/unixd)
for possible values. for possible values.
''; '';

View File

@ -8,9 +8,9 @@ lib.makeScope pkgs.newScope (self:
inherit gconf; inherit gconf;
inherit (pkgs.darwin) sigtool; inherit (pkgs.darwin) sigtool;
inherit (pkgs.darwin.apple_sdk.frameworks) inherit (pkgs.darwin.apple_sdk_11_0.frameworks)
AppKit Carbon Cocoa GSS ImageCaptureCore ImageIO IOKit OSAKit Quartz Accelerate AppKit Carbon Cocoa GSS ImageCaptureCore ImageIO IOKit OSAKit
QuartzCore WebKit; Quartz QuartzCore UniformTypeIdentifiers WebKit;
}; };
in { in {
sources = import ./sources.nix { sources = import ./sources.nix {

View File

@ -42,7 +42,7 @@
, libtiff , libtiff
, libwebp , libwebp
, libxml2 , libxml2
, llvmPackages_6 , llvmPackages_14
, m17n_lib , m17n_lib
, makeWrapper , makeWrapper
, motif , motif
@ -99,6 +99,7 @@
else "lucid") else "lucid")
# macOS dependencies for NS and macPort # macOS dependencies for NS and macPort
, Accelerate
, AppKit , AppKit
, Carbon , Carbon
, Cocoa , Cocoa
@ -109,6 +110,7 @@
, OSAKit , OSAKit
, Quartz , Quartz
, QuartzCore , QuartzCore
, UniformTypeIdentifiers
, WebKit , WebKit
}: }:
@ -135,7 +137,7 @@ let
]; ];
inherit (if variant == "macport" inherit (if variant == "macport"
then llvmPackages_6.stdenv then llvmPackages_14.stdenv
else stdenv) mkDerivation; else stdenv) mkDerivation;
in in
mkDerivation (finalAttrs: (lib.optionalAttrs withNativeCompilation { mkDerivation (finalAttrs: (lib.optionalAttrs withNativeCompilation {
@ -287,6 +289,7 @@ mkDerivation (finalAttrs: (lib.optionalAttrs withNativeCompilation {
GSS GSS
ImageIO ImageIO
] ++ lib.optionals (variant == "macport") [ ] ++ lib.optionals (variant == "macport") [
Accelerate
AppKit AppKit
Carbon Carbon
Cocoa Cocoa
@ -294,6 +297,7 @@ mkDerivation (finalAttrs: (lib.optionalAttrs withNativeCompilation {
OSAKit OSAKit
Quartz Quartz
QuartzCore QuartzCore
UniformTypeIdentifiers
WebKit WebKit
# TODO are these optional? # TODO are these optional?
GSS GSS
@ -337,6 +341,11 @@ mkDerivation (finalAttrs: (lib.optionalAttrs withNativeCompilation {
++ lib.optional withXwidgets "--with-xwidgets" ++ lib.optional withXwidgets "--with-xwidgets"
; ;
# Fixes intermittent segfaults when compiled with LLVM >= 7.0.
# See https://github.com/NixOS/nixpkgs/issues/127902
env.NIX_CFLAGS_COMPILE = lib.optionalString (variant == "macport")
"-include ${./macport_noescape_noop.h}";
enableParallelBuilding = true; enableParallelBuilding = true;
installTargets = [ "tags" "install" ]; installTargets = [ "tags" "install" ];

View File

@ -0,0 +1,31 @@
#ifndef NOESCAPE_NOOP_H_
#define NOESCAPE_NOOP_H_
// First, do some work to get definitions for *_WIDTH. Normally, Emacs would
// have these defined by headers in-tree, but clang's headers clash with those.
// Due to how include paths work, we have to include clang headers if we want to
// mess with CoreFoundation definitions.
#pragma push_macro("__STDC_VERSION__")
// Make the preprocessor think that we're on C2x. The macros we want are gated
// on it.
#undef __STDC_VERSION__
#define __STDC_VERSION__ 202000L
// Include limits.h first, as stdint.h includes it.
#include <limits.h>
// XX: clang's stdint.h is shy and won't give us its defs unless it thinks it's
// in freestanding mode.
#undef __STDC_HOSTED__
#include <stdint.h>
#define __STDC_HOSTED__ 1
#pragma pop_macro("__STDC_VERSION__")
// Now, pull in the header that defines CF_NOESCAPE.
#include <CoreFoundation/CFBase.h>
// Redefine CF_NOESCAPE as empty.
#undef CF_NOESCAPE
#define CF_NOESCAPE
#endif // NOESCAPE_NOOP_H_

View File

@ -20,13 +20,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "openmsx"; pname = "openmsx";
version = "19.0"; version = "19.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "openMSX"; owner = "openMSX";
repo = "openMSX"; repo = "openMSX";
rev = "RELEASE_${builtins.replaceStrings ["."] ["_"] finalAttrs.version}"; rev = "RELEASE_${builtins.replaceStrings ["."] ["_"] finalAttrs.version}";
sha256 = "sha256-NR0+vOUkbyuVWdHLmKEewDDmR1ibi3dtbSq+6RaxrGo="; sha256 = "sha256-5ULljLmEDGFp32rnrXKLfL6P3ad2STJUNngBuWlRCbc=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -2,13 +2,13 @@
mkDerivation rec { mkDerivation rec {
pname = "corekeyboard"; pname = "corekeyboard";
version = "4.4.0"; version = "4.5.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "cubocore/coreapps"; owner = "cubocore/coreapps";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-zOH/w4QroMaVjWnFuWAJQ11RYlpXwIXRG9QYGDkfLVY="; sha256 = "sha256-Hylz1x9Wsk0iVhpNBFZJChsl3gIvJDICgpITjIXDZAg=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -22,14 +22,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "valent"; pname = "valent";
version = "unstable-2023-07-31"; version = "unstable-2023-08-26";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "andyholmes"; owner = "andyholmes";
repo = "valent"; repo = "valent";
rev = "698f39b496957d50c68437f16e74a7ac41eb5147"; rev = "89d1e5a0312a0371bfcd9a95486805917c3729c0";
fetchSubmodules = true; fetchSubmodules = true;
hash = "sha256-AdW6oMRVIgat8XlH342PEwe6BfkzKVLSadGOTLGwzwo="; hash = "sha256-28l+SkjVQkOA/5f5nT5BbqIV2BrMLmSK/YtDGYl1xjQ=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -10,16 +10,16 @@
buildGoModule rec { buildGoModule rec {
pname = "werf"; pname = "werf";
version = "1.2.252"; version = "1.2.253";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "werf"; owner = "werf";
repo = "werf"; repo = "werf";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-dKbdEkC0+HFRWsOIteNDlKc1FHB24ECWyOqrVW9MITY="; hash = "sha256-cHMMLV2NdYueL3qV0wpB4n0+2XZTvg4mfKTSgGZHqqY=";
}; };
vendorHash = "sha256-0PQDMncERGrPI5sSx76jE7MAz49CYvSORMa/Gc19agA="; vendorHash = "sha256-vuEqimNRWQGwybzOkGVoevpyVpU8XyXqhAIa7I66ajs=";
proxyVendor = true; proxyVendor = true;

View File

@ -1,7 +1,7 @@
{ branch ? "stable", callPackage, fetchurl, lib, stdenv }: { branch ? "stable", callPackage, fetchurl, lib, stdenv }:
let let
versions = if stdenv.isLinux then { versions = if stdenv.isLinux then {
stable = "0.0.28"; stable = "0.0.29";
ptb = "0.0.45"; ptb = "0.0.45";
canary = "0.0.166"; canary = "0.0.166";
development = "0.0.217"; development = "0.0.217";
@ -16,7 +16,7 @@ let
x86_64-linux = { x86_64-linux = {
stable = fetchurl { stable = fetchurl {
url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz"; url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
sha256 = "sha256-JwxVVm/QIBLoVyQ2Ff/MX06UNgZ+dAsD960GsCg1M+U="; sha256 = "sha256-3vjOvkqMD7qKX2zRUbKrw5gHtE/v8WfH557rtagWIWc=";
}; };
ptb = fetchurl { ptb = fetchurl {
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz"; url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";

View File

@ -34,7 +34,7 @@ let
}; };
xrdp = stdenv.mkDerivation rec { xrdp = stdenv.mkDerivation rec {
version = "0.9.22.1"; version = "0.9.23";
pname = "xrdp"; pname = "xrdp";
src = fetchFromGitHub { src = fetchFromGitHub {
@ -42,7 +42,7 @@ let
repo = "xrdp"; repo = "xrdp";
rev = "v${version}"; rev = "v${version}";
fetchSubmodules = true; fetchSubmodules = true;
hash = "sha256-8gAP4wOqSmar8JhKRt4qRRwh23coIn0Q8Tt9ClHQSt8="; hash = "sha256-14qsRfLn+26rm+vyMmOtaBEs8mWfSTIsIVseSC2FjXc=";
}; };
nativeBuildInputs = [ pkg-config autoconf automake which libtool nasm perl ]; nativeBuildInputs = [ pkg-config autoconf automake which libtool nasm perl ];

View File

@ -4,12 +4,12 @@
}: }:
let let
version = "1.6.1"; version = "1.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tamarin-prover"; owner = "tamarin-prover";
repo = "tamarin-prover"; repo = "tamarin-prover";
rev = version; rev = version;
sha256 = "sha256:0cz1v7k4d0im749ag632nc34n91b51b0pq4z05rzw1p59a5lza92"; sha256 = "sha256-ujnaUdbjqajmkphOS4Fs4QBCRGX4JZkQ2p1X2jripww=";
}; };
# tamarin has its own dependencies, but they're kept inside the repo, # tamarin has its own dependencies, but they're kept inside the repo,
@ -51,6 +51,7 @@ let
doHaddock = false; # broken doHaddock = false; # broken
libraryHaskellDepends = (with haskellPackages; [ libraryHaskellDepends = (with haskellPackages; [
aeson aeson-pretty parallel uniplate aeson aeson-pretty parallel uniplate
regex-pcre-builtin regex-posix split
]) ++ [ tamarin-prover-utils tamarin-prover-term ]; ]) ++ [ tamarin-prover-utils tamarin-prover-term ];
}); });
@ -62,31 +63,37 @@ let
]) ++ [ tamarin-prover-theory ]; ]) ++ [ tamarin-prover-theory ];
}); });
tamarin-prover-accountability = mkDerivation (common "tamarin-prover-accountability" (src + "/lib/accountability") // {
postPatch = "cp --remove-destination ${src}/LICENSE .";
doHaddock = false; # broken
libraryHaskellDepends = (with haskellPackages; [
raw-strings-qq
]) ++ [
tamarin-prover-utils
tamarin-prover-term
tamarin-prover-theory
];
});
tamarin-prover-export = mkDerivation (common "tamarin-prover-export" (src + "/lib/export") // {
postPatch = "cp --remove-destination ${src}/LICENSE .";
doHaddock = false; # broken
libraryHaskellDepends = (with haskellPackages; [
HStringTemplate
]) ++ [
tamarin-prover-utils
tamarin-prover-term
tamarin-prover-theory
tamarin-prover-sapic
];
});
in in
mkDerivation (common "tamarin-prover" src // { mkDerivation (common "tamarin-prover" src // {
isLibrary = false; isLibrary = false;
isExecutable = true; isExecutable = true;
patches = [ patches = [ ];
# Backport unreleased patch allowing maude 3.2.1
(fetchpatch {
name = "tamarin-prover-allow-maude-3.2.1.patch";
url = "https://github.com/tamarin-prover/tamarin-prover/commit/bfcf56909479e154a203f0eeefa767f4d91b600d.patch";
sha256 = "1zjqzyxwnfp7z3h3li8jrxn9732dx6lyq9q3w2dsphmxbzrs64dg";
})
# Backport unreleased patch allowing maude 3.2.2
(fetchpatch {
name = "tamarin-prover-allow-maude-3.2.2.patch";
url = "https://github.com/tamarin-prover/tamarin-prover/commit/df1aa9fc4fcc72b6cf0bed0f71844efe3d8ad238.patch";
sha256 = "1bkwvyyz5d660jjh08z8wq9c3l40s0rxd2nsbn20xnl2nynyvqpy";
})
# Backport proposed patch allowing maude 3.3 and 3.3.1
(fetchpatch {
name = "tamarin-prover-allow-maude-3.3.patch";
url = "https://github.com/tamarin-prover/tamarin-prover/pull/544/commits/d0313b1a1bac7c92130773f7ccdd890f8aec286d.patch";
sha256 = "1jhlz8vp9a3aahyhj24yjcv4l1389y9kg878yfnq0rkkgvk0m681";
})
];
# strip out unneeded deps manually # strip out unneeded deps manually
doHaddock = false; doHaddock = false;
@ -118,6 +125,8 @@ mkDerivation (common "tamarin-prover" src // {
resourcet shakespeare threads wai warp yesod-core yesod-static resourcet shakespeare threads wai warp yesod-core yesod-static
]) ++ [ tamarin-prover-utils ]) ++ [ tamarin-prover-utils
tamarin-prover-sapic tamarin-prover-sapic
tamarin-prover-accountability
tamarin-prover-export
tamarin-prover-term tamarin-prover-term
tamarin-prover-theory tamarin-prover-theory
]; ];

View File

@ -35,13 +35,13 @@
mkDerivation rec { mkDerivation rec {
pname = "maui-shell"; pname = "maui-shell";
version = "0.5.6"; version = "0.6.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Nitrux"; owner = "Nitrux";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
sha256 = "sha256-lhTtIHE+FUgZFaPYoIRgLPrBUPISeXHCg3rn0FlQg7w="; sha256 = "sha256-8D3rlYrqLfyDZQFRSaVlxLaEblbv8w787v8Np2aW3yc=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -105,6 +105,7 @@ let
# Force compilers and other tools to look in default search paths # Force compilers and other tools to look in default search paths
unset NIX_ENFORCE_PURITY unset NIX_ENFORCE_PURITY
export NIX_BINTOOLS_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}=1
export NIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}=1 export NIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}=1
export NIX_CFLAGS_COMPILE='-idirafter /usr/include' export NIX_CFLAGS_COMPILE='-idirafter /usr/include'
export NIX_CFLAGS_LINK='-L/usr/lib -L/usr/lib32' export NIX_CFLAGS_LINK='-L/usr/lib -L/usr/lib32'

View File

@ -78,6 +78,7 @@ let
# Force compilers and other tools to look in default search paths # Force compilers and other tools to look in default search paths
unset NIX_ENFORCE_PURITY unset NIX_ENFORCE_PURITY
export NIX_BINTOOLS_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}=1
export NIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}=1 export NIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}=1
export NIX_CFLAGS_COMPILE='-idirafter /usr/include' export NIX_CFLAGS_COMPILE='-idirafter /usr/include'
export NIX_CFLAGS_LINK='-L/usr/lib -L/usr/lib32' export NIX_CFLAGS_LINK='-L/usr/lib -L/usr/lib32'

View File

@ -4,6 +4,7 @@
, fetchpatch , fetchpatch
, scfbuild , scfbuild
, fontforge , fontforge
, node-glob
, libuninameslist , libuninameslist
, nodejs , nodejs
, nodePackages , nodePackages
@ -59,7 +60,7 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ nativeBuildInputs = [
scfbuild-with-fontforge-20201107 scfbuild-with-fontforge-20201107
nodejs nodejs
nodePackages.glob node-glob
nodePackages.lodash nodePackages.lodash
]; ];

View File

@ -2,4 +2,4 @@
# CMake's enable_language(CUDA) runs a compiler test and it doesn't account for # CMake's enable_language(CUDA) runs a compiler test and it doesn't account for
# CUDAToolkit_ROOT. We have to help it locate libcudart # CUDAToolkit_ROOT. We have to help it locate libcudart
export NVCC_APPEND_FLAGS+=" -L@cudartRoot@/lib -I@cudartRoot@/include" export NVCC_APPEND_FLAGS+=" -L@cudartLib@/lib -L@cudartStatic@/lib -I@cudartInclude@/include"

View File

@ -56,7 +56,7 @@ setupCUDAToolkitCompilers() {
# CMake's enable_language(CUDA) runs a compiler test and it doesn't account for # CMake's enable_language(CUDA) runs a compiler test and it doesn't account for
# CUDAToolkit_ROOT. We have to help it locate libcudart # CUDAToolkit_ROOT. We have to help it locate libcudart
if [[ -z "${nvccDontPrependCudartFlags-}" ]] ; then if [[ -z "${nvccDontPrependCudartFlags-}" ]] ; then
export NVCC_APPEND_FLAGS+=" -L@cudartRoot@/lib -I@cudartRoot@/include" export NVCC_APPEND_FLAGS+=" -L@cudartLib@/lib -L@cudartStatic@/lib -I@cudartInclude@/include"
fi fi
} }

View File

@ -1,3 +1,10 @@
# Type Aliases
#
# See ./extension.nix:
# - ReleaseAttrs
# - ReleaseFeaturesAttrs
#
# General callPackage-supplied arguments
{ lib { lib
, stdenv , stdenv
, backendStdenv , backendStdenv
@ -5,23 +12,58 @@
, autoPatchelfHook , autoPatchelfHook
, autoAddOpenGLRunpathHook , autoAddOpenGLRunpathHook
, markForCudatoolkitRootHook , markForCudatoolkitRootHook
, lndir
, symlinkJoin
}:
# Function arguments
{
# Short package name (e.g., "cuda_cccl")
# pname : String
pname
, # Long package name (e.g., "CXX Core Compute Libraries")
# description : String
description
, # platforms : List System
platforms
, # version : Version
version
, # releaseAttrs : ReleaseAttrs
releaseAttrs
, # releaseFeaturesAttrs : ReleaseFeaturesAttrs
releaseFeaturesAttrs
,
}: }:
pname:
attrs:
let let
arch = "linux-x86_64"; # Useful imports
inherit (lib.lists) optionals;
inherit (lib.meta) getExe;
inherit (lib.strings) optionalString;
in in
backendStdenv.mkDerivation { backendStdenv.mkDerivation {
inherit pname; # NOTE: Even though there's no actual buildPhase going on here, the derivations of the
inherit (attrs) version; # redistributables are sensitive to the compiler flags provided to stdenv. The patchelf package
# is sensitive to the compiler flags provided to stdenv, and we depend on it. As such, we are
# also sensitive to the compiler flags provided to stdenv.
inherit pname version;
strictDeps = true;
src = assert (lib.hasAttr arch attrs); fetchurl { outputs = with releaseFeaturesAttrs;
url = "https://developer.download.nvidia.com/compute/cuda/redist/${attrs.${arch}.relative_path}"; [ "out" ]
inherit (attrs.${arch}) sha256; ++ optionals hasBin [ "bin" ]
++ optionals hasLib [ "lib" ]
++ optionals hasStatic [ "static" ]
++ optionals hasDev [ "dev" ]
++ optionals hasDoc [ "doc" ]
++ optionals hasSample [ "sample" ];
src = fetchurl {
url = "https://developer.download.nvidia.com/compute/cuda/redist/${releaseAttrs.relative_path}";
inherit (releaseAttrs) sha256;
}; };
# We do need some other phases, like configurePhase, so the multiple-output setup hook works.
dontBuild = true;
nativeBuildInputs = [ nativeBuildInputs = [
autoPatchelfHook autoPatchelfHook
# This hook will make sure libcuda can be found # This hook will make sure libcuda can be found
@ -46,23 +88,87 @@ backendStdenv.mkDerivation {
"$ORIGIN" "$ORIGIN"
]; ];
dontBuild = true; installPhase = with releaseFeaturesAttrs;
# Pre-install hook
''
runHook preInstall
''
# doc and dev have special output handling. Other outputs need to be moved to their own
# output.
# Note that moveToOutput operates on all outputs:
# https://github.com/NixOS/nixpkgs/blob/2920b6fc16a9ed5d51429e94238b28306ceda79e/pkgs/build-support/setup-hooks/multiple-outputs.sh#L105-L107
+ ''
mkdir -p "$out"
rm LICENSE
mv * "$out"
''
# Handle bin, which defaults to out
+ optionalString hasBin ''
moveToOutput "bin" "$bin"
''
# Handle lib, which defaults to out
+ optionalString hasLib ''
moveToOutput "lib" "$lib"
''
# Handle static libs, which isn't handled by the setup hook
+ optionalString hasStatic ''
moveToOutput "**/*.a" "$static"
''
# Handle samples, which isn't handled by the setup hook
+ optionalString hasSample ''
moveToOutput "samples" "$sample"
''
# Post-install hook
+ ''
runHook postInstall
'';
# TODO: choose whether to install static/dynamic libs # The out output leverages the same functionality which backs the `symlinkJoin` function in
installPhase = '' # Nixpkgs:
runHook preInstall # https://github.com/NixOS/nixpkgs/blob/d8b2a92df48f9b08d68b0132ce7adfbdbc1fbfac/pkgs/build-support/trivial-builders/default.nix#L510
rm LICENSE #
mkdir -p $out # That should allow us to emulate "fat" default outputs without having to actually create them.
mv * $out #
runHook postInstall # It is important that this run after the autoPatchelfHook, otherwise the symlinks in out will reference libraries in lib, creating a circular dependency.
postPhases = [ "postPatchelf" ];
# For each output, create a symlink to it in the out output.
# NOTE: We must recreate the out output here, because the setup hook will have deleted it
# if it was empty.
# NOTE: Do not use optionalString based on whether `outputs` contains only `out` -- phases
# which are empty strings are skipped/unset and result in errors of the form "command not
# found: <customPhaseName>".
postPatchelf = ''
mkdir -p "$out"
for output in $outputs; do
if [ "$output" = "out" ]; then
continue
fi
${getExe lndir} "''${!output}" "$out"
done
''; '';
# Make the CUDA-patched stdenv available
passthru.stdenv = backendStdenv; passthru.stdenv = backendStdenv;
# Setting propagatedBuildInputs to false will prevent outputs known to the multiple-outputs
# from depending on `out` by default.
# https://github.com/NixOS/nixpkgs/blob/2920b6fc16a9ed5d51429e94238b28306ceda79e/pkgs/build-support/setup-hooks/multiple-outputs.sh#L196
# Indeed, we want to do the opposite -- fat "out" outputs that contain all the other outputs.
propagatedBuildOutputs = false;
# By default, if the dev output exists it just uses that.
# However, because we disabled propagatedBuildOutputs, dev doesn't contain libraries or
# anything of the sort. To remedy this, we set outputSpecified to true, and use
# outputsToInstall, which tells Nix which outputs to use when the package name is used
# unqualified (that is, without an explicit output).
outputSpecified = true;
meta = { meta = {
description = attrs.name; inherit description platforms;
license = lib.licenses.unfree; license = lib.licenses.unfree;
maintainers = lib.teams.cuda.members; maintainers = lib.teams.cuda.members;
platforms = lib.optionals (lib.hasAttr arch attrs) [ "x86_64-linux" ]; # Force the use of the default, fat output by default (even though `dev` exists, which
# causes Nix to prefer that output over the others if outputSpecified isn't set).
outputsToInstall = [ "out" ];
}; };
} }

View File

@ -1,33 +1,139 @@
final: prev: let # Type Aliases
#
# ReleaseAttrs : {
# "relative_path" : String,
# "sha256" : String,
# "md5" : String,
# "size" : String,
# }
#
# NOTE: PackageAttrs must have at least one of the arches.
# PackageAttrs : {
# "name" : String,
# "license" : String,
# "version" : String,
# "license_path" : None | String,
# "linux-aarch64" : None | ReleaseAttrs,
# "linux-ppc64le" : None | ReleaseAttrs,
# "linux-sbsa" : None | ReleaseAttrs,
# "linux-x86_64" : None | ReleaseAttrs,
# "windows-x86_64" : None | ReleaseAttrs,
# }
#
# ReleaseFeaturesAttrs : {
# "hasBin" : Boolean,
# "hasDev" : Boolean,
# "hasDoc" : Boolean,
# "hasLib" : Boolean,
# "hasOut" : Boolean,
# "hasSample" : Boolean,
# "hasStatic" : Boolean,
# "rootDirs" : List String,
# }
#
# NOTE: PackageFeatureAttrs must have at least one of the arches.
# PackageFeatureAttrs : {
# "linux-aarch64" : None | ReleaseFeaturesAttrs,
# "linux-ppc64le" : None | ReleaseFeaturesAttrs,
# "linux-sbsa" : None | ReleaseFeaturesAttrs,
# "linux-x86_64" : None | ReleaseFeaturesAttrs,
# "windows-x86_64" : None | ReleaseFeaturesAttrs,
# }
#
final: prev:
let
# NOTE: We use hasAttr throughout instead of the (?) operator because hasAttr does not require
# us to interpolate our variables into strings (like ${attrName}).
inherit (builtins) attrNames concatMap hasAttr listToAttrs removeAttrs;
inherit (final) callPackage; inherit (final) callPackage;
inherit (prev) cudaVersion lib; inherit (prev) cudaVersion;
inherit (prev.lib.attrsets) nameValuePair optionalAttrs;
inherit (prev.lib.lists) optionals;
inherit (prev.lib.trivial) flip importJSON pipe;
### Cuda Toolkit Redist # Manifest files for CUDA redistributables (aka redist). These can be found at
# Manifest files for redist cudatoolkit. These can be found at
# https://developer.download.nvidia.com/compute/cuda/redist/ # https://developer.download.nvidia.com/compute/cuda/redist/
cudaToolkitRedistManifests = { # Maps a cuda version to the specific version of the manifest.
"11.4" = ./manifests/redistrib_11.4.4.json; cudaVersionMap = {
"11.5" = ./manifests/redistrib_11.5.2.json; "11.4" = "11.4.4";
"11.6" = ./manifests/redistrib_11.6.2.json; "11.5" = "11.5.2";
"11.7" = ./manifests/redistrib_11.7.0.json; "11.6" = "11.6.2";
"11.8" = ./manifests/redistrib_11.8.0.json; "11.7" = "11.7.0";
"12.0" = ./manifests/redistrib_12.0.1.json; "11.8" = "11.8.0";
"12.1" = ./manifests/redistrib_12.1.1.json; "12.0" = "12.0.1";
"12.2" = ./manifests/redistrib_12.2.0.json; "12.1" = "12.1.1";
"12.2" = "12.2.0";
}; };
# Function to build a single cudatoolkit redist package # Check if the current CUDA version is supported.
buildCudaToolkitRedistPackage = callPackage ./build-cuda-redist-package.nix { }; cudaVersionMappingExists = hasAttr cudaVersion cudaVersionMap;
# Function that builds all cudatoolkit redist packages given a cuda version and manifest file # Maps a cuda version to its manifest files.
buildCudaToolkitRedistPackages = { version, manifest }: let # The manifest itself is from NVIDIA, but the features manifest is generated
attrs = lib.filterAttrs (key: value: key != "release_date") (lib.importJSON manifest); # by us ahead of time and allows us to split pacakges into multiple outputs.
in lib.mapAttrs buildCudaToolkitRedistPackage attrs; # Package names (e.g., "cuda_cccl") are mapped to their attributes or features.
# Since we map each attribute to a package name, we need to make sure to get rid of meta
# attributes included in the manifest. Currently, these are any of the following:
# - release_date
# - release_label
# - release_product
redistManifests =
let
# Remove meta attributes from the manifest
# removeAttrs : AttrSet String b -> Attr String b
removeMetaAttrs = flip removeAttrs [ "release_date" "release_label" "release_product" ];
# processManifest : Path -> Attr Set (String PackageAttrs)
processManifest = flip pipe [ importJSON removeMetaAttrs ];
# fullCudaVersion : String
fullCudaVersion = cudaVersionMap.${cudaVersion};
in
{
# features : Attr Set (String PackageFeatureAttrs)
features = processManifest ./manifests/redistrib_features_${fullCudaVersion}.json;
# manifest : Attr Set (String PackageAttrs)
manifest = processManifest ./manifests/redistrib_${fullCudaVersion}.json;
};
# All cudatoolkit redist packages for the current cuda version # Function to build a single redist package
cudaToolkitRedistPackages = lib.optionalAttrs (lib.hasAttr cudaVersion cudaToolkitRedistManifests) buildRedistPackage = callPackage ./build-cuda-redist-package.nix { };
(buildCudaToolkitRedistPackages { version = cudaVersion; manifest = cudaToolkitRedistManifests.${cudaVersion}; });
in cudaToolkitRedistPackages # Function that builds all redist packages given manifests
buildRedistPackages = { features, manifest }:
let
wrapper = pname:
let
# Get the redist architectures the package provides distributables for
packageAttrs = manifest.${pname};
# Check if supported
# TODO(@connorbaker): Currently hardcoding x86_64-linux as the only supported platform.
isSupported = packageAttrs ? linux-x86_64;
# Build the derivation
drv = buildRedistPackage {
inherit pname;
# TODO(@connorbaker): We currently discard the license attribute.
inherit (manifest.${pname}) version;
description = manifest.${pname}.name;
platforms = [ "x86_64-linux" ];
releaseAttrs = manifest.${pname}.linux-x86_64;
releaseFeaturesAttrs = features.${pname}.linux-x86_64;
};
# Wrap in an optional so we can filter out the empty lists created by unsupported
# packages with concatMap.
wrapped = optionals isSupported [ (nameValuePair pname drv) ];
in
wrapped;
# concatMap provides us an easy way to filter out packages for unsupported platforms.
# We wrap the buildRedistPackage call in a list to prevent errors when the package is not
# supported (by returning an empty list).
redistPackages = listToAttrs (concatMap wrapper (attrNames manifest));
in
redistPackages;
# All redistributable packages for the current CUDA version
redistPackages = optionalAttrs cudaVersionMappingExists (buildRedistPackages redistManifests);
in
redistPackages

View File

@ -1,6 +1,8 @@
final: prev: final: prev:
let let
inherit (prev) lib pkgs; inherit (prev) lib pkgs;
cudaVersionOlder = lib.versionOlder final.cudaVersion;
cudaVersionAtLeast = lib.versionAtLeast final.cudaVersion;
in in
(lib.filterAttrs (attr: _: (prev ? "${attr}")) { (lib.filterAttrs (attr: _: (prev ? "${attr}")) {
### Overrides to fix the components of cudatoolkit-redist ### Overrides to fix the components of cudatoolkit-redist
@ -10,51 +12,83 @@ in
libcufile = prev.libcufile.overrideAttrs (oldAttrs: { libcufile = prev.libcufile.overrideAttrs (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ buildInputs = oldAttrs.buildInputs ++ [
prev.libcublas final.libcublas.lib
pkgs.numactl pkgs.numactl
pkgs.rdma-core pkgs.rdma-core
]; ];
# libcuda needs to be resolved during runtime # libcuda needs to be resolved during runtime
autoPatchelfIgnoreMissingDeps = true; autoPatchelfIgnoreMissingDeps =
["libcuda.so.1"]
# Before 12.0 libcufile depends on itself for some reason.
++ lib.optionals (cudaVersionOlder "12.0") [
"libcufile.so.0"
];
}); });
libcusolver = final.addBuildInputs prev.libcusolver [ libcusolver = final.addBuildInputs prev.libcusolver (
prev.libcublas # Always depends on this
]; [final.libcublas.lib]
# Dependency from 12.0 and on
++ lib.optionals (cudaVersionAtLeast "12.0") [
final.libnvjitlink.lib
]
# Dependency from 12.1 and on
++ lib.optionals (cudaVersionAtLeast "12.1") [
final.libcusparse.lib
]
);
cuda_nvcc = prev.cuda_nvcc.overrideAttrs (oldAttrs: libcusparse = final.addBuildInputs prev.libcusparse (
let lib.optionals (cudaVersionAtLeast "12.0") [
inherit (prev.backendStdenv) cc; final.libnvjitlink.lib
in ]
{ );
# Required by cmake's enable_language(CUDA) to build a test program
# When implementing cross-compilation support: this is
# final.pkgs.targetPackages.cudaPackages.cuda_cudart
env.cudartRoot = "${prev.lib.getDev final.cuda_cudart}";
# Point NVCC at a compatible compiler cuda_gdb = final.addBuildInputs prev.cuda_gdb (
# x86_64 only needs gmp from 12.0 and on
lib.optionals (cudaVersionAtLeast "12.0") [
pkgs.gmp
]
);
# Desiredata: whenever a package (e.g. magma) adds cuda_nvcc to cuda_nvcc = prev.cuda_nvcc.overrideAttrs (_: {
# nativeBuildInputs (offsets `(-1, 0)`), magma should also source the # Required by cmake's enable_language(CUDA) to build a test program
# setupCudaHook, i.e. we want it the hook to be propagated into the # When implementing cross-compilation support: this is
# same nativeBuildInputs. # final.pkgs.targetPackages.cudaPackages.cuda_cudart
# env = {
# Logically, cuda_nvcc should include the hook in depsHostHostPropagated, # Given the multiple-outputs each CUDA redist has, we can specify the exact components we
# so that the final offsets for the propagated hook would be `(-1, 0) + # need from the package. CMake requires:
# (0, 0) = (-1, 0)`. # - the cuda_runtime.h header, which is in the dev output
# # - the dynamic library, which is in the lib output
# In practice, TargetTarget appears to work: # - the static library, which is in the static output
# https://gist.github.com/fd80ff142cd25e64603618a3700e7f82 cudartInclude = "${final.cuda_cudart.dev}";
depsTargetTargetPropagated = [ cudartLib = "${final.cuda_cudart.lib}";
final.setupCudaHook cudartStatic = "${final.cuda_cudart.static}";
]; };
});
# Point NVCC at a compatible compiler
# Desiredata: whenever a package (e.g. magma) adds cuda_nvcc to
# nativeBuildInputs (offsets `(-1, 0)`), magma should also source the
# setupCudaHook, i.e. we want it the hook to be propagated into the
# same nativeBuildInputs.
#
# Logically, cuda_nvcc should include the hook in depsHostHostPropagated,
# so that the final offsets for the propagated hook would be `(-1, 0) +
# (0, 0) = (-1, 0)`.
#
# In practice, TargetTarget appears to work:
# https://gist.github.com/fd80ff142cd25e64603618a3700e7f82
depsTargetTargetPropagated = [
final.setupCudaHook
];
});
cuda_nvprof = prev.cuda_nvprof.overrideAttrs (oldAttrs: { cuda_nvprof = prev.cuda_nvprof.overrideAttrs (oldAttrs: {
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ pkgs.addOpenGLRunpath ]; nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ pkgs.addOpenGLRunpath ];
buildInputs = oldAttrs.buildInputs ++ [ prev.cuda_cupti ]; buildInputs = oldAttrs.buildInputs ++ [ final.cuda_cupti.lib ];
# libcuda needs to be resolved during runtime # libcuda needs to be resolved during runtime
autoPatchelfIgnoreMissingDeps = true; autoPatchelfIgnoreMissingDeps = ["libcuda.so.1"];
}); });
cuda_demo_suite = final.addBuildInputs prev.cuda_demo_suite [ cuda_demo_suite = final.addBuildInputs prev.cuda_demo_suite [
@ -62,8 +96,8 @@ in
pkgs.libGLU pkgs.libGLU
pkgs.libglvnd pkgs.libglvnd
pkgs.mesa pkgs.mesa
prev.libcufft final.libcufft.lib
prev.libcurand final.libcurand.lib
]; ];
nsight_compute = prev.nsight_compute.overrideAttrs (oldAttrs: { nsight_compute = prev.nsight_compute.overrideAttrs (oldAttrs: {
@ -100,7 +134,7 @@ in
nvidia_driver = prev.nvidia_driver.overrideAttrs (oldAttrs: { nvidia_driver = prev.nvidia_driver.overrideAttrs (oldAttrs: {
# libcuda needs to be resolved during runtime # libcuda needs to be resolved during runtime
autoPatchelfIgnoreMissingDeps = true; autoPatchelfIgnoreMissingDeps = ["libcuda.so.1"];
# No need to support this package as we have drivers already # No need to support this package as we have drivers already
# in linuxPackages. # in linuxPackages.
meta.broken = true; meta.broken = true;

View File

@ -2,12 +2,12 @@
let let
base = (callPackage ./generic.nix (_args // { base = (callPackage ./generic.nix (_args // {
version = "8.3.0beta3"; version = "8.3.0RC1";
hash = null; hash = null;
})).overrideAttrs (oldAttrs: { })).overrideAttrs (oldAttrs: {
src = fetchurl { src = fetchurl {
url = "https://downloads.php.net/~eric/php-8.3.0beta3.tar.xz"; url = "https://downloads.php.net/~jakub/php-8.3.0RC1.tar.xz";
hash = "sha256-XW3t9BOsBFvThYXF66faVl8VyMLFB+Oi7h45vWUmE6Y="; hash = "sha256-pWnkxSIhzKU8Cp+AiGzqhqRtWoJu+zBfCM45n2ugH7c=";
}; };
}); });
in in

View File

@ -7,18 +7,21 @@
buildGoModule rec { buildGoModule rec {
pname = "risor"; pname = "risor";
version = "0.15.0"; version = "0.17.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "risor-io"; owner = "risor-io";
repo = "risor"; repo = "risor";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-aBUM/+mAuQ+JUOqeMtRYpOwdKbD6An9/Nc2Q6YDnUmE="; hash = "sha256-/7jUz2180m+YVyE9z4UKOhVv0DSqrCWdkyAftluMHeo=";
}; };
sourceRoot = "${src.name}/cmd/risor"; proxyVendor = true;
vendorHash = "sha256-OUQY5yzsbMS81gRb1mIvkRHal4mvOE2Na2HAsqkeWG4=";
vendorHash = "sha256-vlrYmY70nEAI8FSsMzZtuLMt8+aVi0jDX7PGKRMw4r8="; subPackages = [
"cmd/risor"
];
ldflags = [ ldflags = [
"-s" "-s"
@ -41,3 +44,4 @@ buildGoModule rec {
maintainers = with maintainers; [ figsoda ]; maintainers = with maintainers; [ figsoda ];
}; };
} }

View File

@ -1,6 +1,7 @@
{ stdenv, { stdenv,
backendStdenv, backendStdenv,
lib, lib,
lndir,
zlib, zlib,
useCudatoolkitRunfile ? false, useCudatoolkitRunfile ? false,
cudaVersion, cudaVersion,
@ -10,14 +11,6 @@
autoPatchelfHook, autoPatchelfHook,
autoAddOpenGLRunpathHook, autoAddOpenGLRunpathHook,
fetchurl, fetchurl,
# The distributed version of CUDNN includes both dynamically liked .so files,
# as well as statically linked .a files. However, CUDNN is quite large
# (multiple gigabytes), so you can save some space in your nix store by
# removing the statically linked libraries if you are not using them.
#
# Setting this to true removes the statically linked .a files.
# Setting this to false keeps these statically linked .a files.
removeStatic ? false,
}: { }: {
version, version,
url, url,
@ -48,11 +41,16 @@ in
backendStdenv.mkDerivation { backendStdenv.mkDerivation {
pname = "cudatoolkit-${cudaMajorVersion}-cudnn"; pname = "cudatoolkit-${cudaMajorVersion}-cudnn";
version = versionTriple; version = versionTriple;
strictDeps = true;
outputs = ["out" "lib" "static" "dev"];
src = fetchurl { src = fetchurl {
inherit url hash; inherit url hash;
}; };
# We do need some other phases, like configurePhase, so the multiple-output setup hook works.
dontBuild = true;
# Check and normalize Runpath against DT_NEEDED using autoPatchelf. # Check and normalize Runpath against DT_NEEDED using autoPatchelf.
# Prepend /run/opengl-driver/lib using addOpenGLRunpath for dlopen("libcudacuda.so") # Prepend /run/opengl-driver/lib using addOpenGLRunpath for dlopen("libcudacuda.so")
nativeBuildInputs = [ nativeBuildInputs = [
@ -74,27 +72,49 @@ in
# #
# Note also that version <=8.3.0 contained a subdirectory "lib64/" but in # Note also that version <=8.3.0 contained a subdirectory "lib64/" but in
# version 8.3.2 it seems to have been renamed to simply "lib/". # version 8.3.2 it seems to have been renamed to simply "lib/".
#
# doc and dev have special output handling. Other outputs need to be moved to their own
# output.
# Note that moveToOutput operates on all outputs:
# https://github.com/NixOS/nixpkgs/blob/2920b6fc16a9ed5d51429e94238b28306ceda79e/pkgs/build-support/setup-hooks/multiple-outputs.sh#L105-L107
installPhase = installPhase =
'' ''
runHook preInstall runHook preInstall
mkdir -p $out mkdir -p "$out"
cp -a include $out/include mv * "$out"
[ -d "lib/" ] && cp -a lib $out/lib moveToOutput "lib64" "$lib"
[ -d "lib64/" ] && cp -a lib64 $out/lib64 moveToOutput "lib" "$lib"
'' moveToOutput "**/*.a" "$static"
+ strings.optionalString removeStatic ''
rm -f $out/lib/*.a
rm -f $out/lib64/*.a
''
+ ''
runHook postInstall runHook postInstall
''; '';
# Without --add-needed autoPatchelf forgets $ORIGIN on cuda>=8.0.5. # Without --add-needed autoPatchelf forgets $ORIGIN on cuda>=8.0.5.
postFixup = strings.optionalString (strings.versionAtLeast versionTriple "8.0.5") '' postFixup = strings.optionalString (strings.versionAtLeast versionTriple "8.0.5") ''
patchelf $out/lib/libcudnn.so --add-needed libcudnn_cnn_infer.so patchelf $lib/lib/libcudnn.so --add-needed libcudnn_cnn_infer.so
patchelf $out/lib/libcudnn_ops_infer.so --add-needed libcublas.so --add-needed libcublasLt.so patchelf $lib/lib/libcudnn_ops_infer.so --add-needed libcublas.so --add-needed libcublasLt.so
'';
# The out output leverages the same functionality which backs the `symlinkJoin` function in
# Nixpkgs:
# https://github.com/NixOS/nixpkgs/blob/d8b2a92df48f9b08d68b0132ce7adfbdbc1fbfac/pkgs/build-support/trivial-builders/default.nix#L510
#
# That should allow us to emulate "fat" default outputs without having to actually create them.
#
# It is important that this run after the autoPatchelfHook, otherwise the symlinks in out will reference libraries in lib, creating a circular dependency.
postPhases = ["postPatchelf"];
# For each output, create a symlink to it in the out output.
# NOTE: We must recreate the out output here, because the setup hook will have deleted it
# if it was empty.
# NOTE: Do not use optionalString based on whether `outputs` contains only `out` -- phases
# which are empty strings are skipped/unset and result in errors of the form "command not
# found: <customPhaseName>".
postPatchelf = ''
mkdir -p "$out"
${lib.meta.getExe lndir} "$lib" "$out"
${lib.meta.getExe lndir} "$static" "$out"
${lib.meta.getExe lndir} "$dev" "$out"
''; '';
passthru = { passthru = {
@ -111,6 +131,19 @@ in
majorVersion = versions.major versionTriple; majorVersion = versions.major versionTriple;
}; };
# Setting propagatedBuildInputs to false will prevent outputs known to the multiple-outputs
# from depending on `out` by default.
# https://github.com/NixOS/nixpkgs/blob/2920b6fc16a9ed5d51429e94238b28306ceda79e/pkgs/build-support/setup-hooks/multiple-outputs.sh#L196
# Indeed, we want to do the opposite -- fat "out" outputs that contain all the other outputs.
propagatedBuildOutputs = false;
# By default, if the dev output exists it just uses that.
# However, because we disabled propagatedBuildOutputs, dev doesn't contain libraries or
# anything of the sort. To remedy this, we set outputSpecified to true, and use
# outputsToInstall, which tells Nix which outputs to use when the package name is used
# unqualified (that is, without an explicit output).
outputSpecified = true;
meta = with lib; { meta = with lib; {
# Check that the cudatoolkit version satisfies our min/max constraints (both # Check that the cudatoolkit version satisfies our min/max constraints (both
# inclusive). We mark the package as broken if it fails to satisfies the # inclusive). We mark the package as broken if it fails to satisfies the
@ -127,5 +160,8 @@ in
license = licenses.unfree; license = licenses.unfree;
platforms = ["x86_64-linux"]; platforms = ["x86_64-linux"];
maintainers = with maintainers; [mdaiter samuela]; maintainers = with maintainers; [mdaiter samuela];
# Force the use of the default, fat output by default (even though `dev` exists, which
# causes Nix to prefer that output over the others if outputSpecified isn't set).
outputsToInstall = ["out"];
}; };
} }

View File

@ -113,13 +113,17 @@ stdenv.mkDerivation {
lapack lapack
blas blas
] ++ lists.optionals cudaSupport (with cudaPackages; [ ] ++ lists.optionals cudaSupport (with cudaPackages; [
cuda_cudart cuda_cudart.dev # cuda_runtime.h
libcublas # cublas_v2.h cuda_cudart.lib # cudart
libcusparse # cusparse.h cuda_cudart.static # cudart_static
libcublas.dev # cublas_v2.h
libcublas.lib # cublas
libcusparse.dev # cusparse.h
libcusparse.lib # cusparse
] ++ lists.optionals (strings.versionOlder cudaVersion "11.8") [ ] ++ lists.optionals (strings.versionOlder cudaVersion "11.8") [
cuda_nvprof # <cuda_profiler_api.h> cuda_nvprof.dev # <cuda_profiler_api.h>
] ++ lists.optionals (strings.versionAtLeast cudaVersion "11.8") [ ] ++ lists.optionals (strings.versionAtLeast cudaVersion "11.8") [
cuda_profiler_api # <cuda_profiler_api.h> cuda_profiler_api.dev # <cuda_profiler_api.h>
]) ++ lists.optionals rocmSupport [ ]) ++ lists.optionals rocmSupport [
hip hip
hipblas hipblas

View File

@ -66,6 +66,7 @@ mapAliases {
inherit (pkgs) firebase-tools; # added 2023-08-18 inherit (pkgs) firebase-tools; # added 2023-08-18
flood = pkgs.flood; # Added 2023-07-25 flood = pkgs.flood; # Added 2023-07-25
git-ssb = throw "git-ssb was removed because it was broken"; # added 2023-08-21 git-ssb = throw "git-ssb was removed because it was broken"; # added 2023-08-21
glob = pkgs.node-glob; # added 2023-08-18
inherit (pkgs) graphqurl; # added 2023-08-19 inherit (pkgs) graphqurl; # added 2023-08-19
gtop = pkgs.gtop; # added 2023-07-31 gtop = pkgs.gtop; # added 2023-07-31
inherit (pkgs) html-minifier; # added 2023-08-19 inherit (pkgs) html-minifier; # added 2023-08-19

View File

@ -133,7 +133,6 @@
, "git-standup" , "git-standup"
, "@gitbeaker/cli" , "@gitbeaker/cli"
, "gitmoji-cli" , "gitmoji-cli"
, "glob"
, "gramma" , "gramma"
, "grammarly-languageserver" , "grammarly-languageserver"
, "graphql" , "graphql"

View File

@ -88688,71 +88688,6 @@ in
bypassCache = true; bypassCache = true;
reconstructLock = true; reconstructLock = true;
}; };
glob = nodeEnv.buildNodePackage {
name = "glob";
packageName = "glob";
version = "10.3.3";
src = fetchurl {
url = "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz";
sha512 = "92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==";
};
dependencies = [
sources."@isaacs/cliui-8.0.2"
sources."ansi-regex-5.0.1"
sources."ansi-styles-6.2.1"
sources."balanced-match-1.0.2"
sources."brace-expansion-2.0.1"
sources."color-convert-2.0.1"
sources."color-name-1.1.4"
sources."cross-spawn-7.0.3"
sources."eastasianwidth-0.2.0"
sources."emoji-regex-9.2.2"
sources."foreground-child-3.1.1"
sources."is-fullwidth-code-point-3.0.0"
sources."isexe-2.0.0"
sources."jackspeak-2.3.0"
sources."lru-cache-10.0.1"
sources."minimatch-9.0.3"
sources."minipass-7.0.3"
sources."path-key-3.1.1"
sources."path-scurry-1.10.1"
sources."shebang-command-2.0.0"
sources."shebang-regex-3.0.0"
sources."signal-exit-4.1.0"
sources."string-width-5.1.2"
(sources."string-width-cjs-4.2.3" // {
dependencies = [
sources."emoji-regex-8.0.0"
sources."strip-ansi-6.0.1"
];
})
(sources."strip-ansi-7.1.0" // {
dependencies = [
sources."ansi-regex-6.0.1"
];
})
sources."strip-ansi-cjs-6.0.1"
sources."which-2.0.2"
sources."wrap-ansi-8.1.0"
(sources."wrap-ansi-cjs-7.0.0" // {
dependencies = [
sources."ansi-styles-4.3.0"
sources."emoji-regex-8.0.0"
sources."string-width-4.2.3"
sources."strip-ansi-6.0.1"
];
})
];
buildInputs = globalBuildInputs;
meta = {
description = "the most correct and second fastest glob implementation in JavaScript";
homepage = "https://github.com/isaacs/node-glob#readme";
license = "ISC";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
gramma = nodeEnv.buildNodePackage { gramma = nodeEnv.buildNodePackage {
name = "gramma"; name = "gramma";
packageName = "gramma"; packageName = "gramma";

View File

@ -18,7 +18,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aioridwell"; pname = "aioridwell";
version = "2023.07.0"; version = "2023.08.0";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "bachya"; owner = "bachya";
repo = pname; repo = pname;
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-8EPELXxSq+B9o9eMFeM5ZPVYTa1+kT/S6cO7hKtD18s="; hash = "sha256-AreQC5LOthnOEj0HnEww4zLob394XwCvqZBwjsT2Lcg=";
}; };
patches = [ patches = [

View File

@ -7,14 +7,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "django-admin-datta"; pname = "django-admin-datta";
version = "1.0.7"; version = "1.0.10";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-Onk9T+QKsl8y68eJ2ikrUEeMc9ljzzvSw7cjjP4D3sE="; hash = "sha256-VV7mb3501aZVuXUqzVqQYUttvkYa4pAECYWn7HksOmI=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -12,7 +12,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "grpc-interceptor"; pname = "grpc-interceptor";
version = "0.15.2"; version = "0.15.3";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "d5h-foss"; owner = "d5h-foss";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-zulK0SVehzHcrmgIyH0D5sUOiAN53eIg88IoVyF6/DA="; hash = "sha256-tTi1X1r7584ZXa12eLp2G/Am8G6Dnd18eE5wF/Lp/EY=";
}; };
patches = [ patches = [

View File

@ -17,7 +17,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "mashumaro"; pname = "mashumaro";
version = "3.9"; version = "3.9.1";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "Fatal1ty"; owner = "Fatal1ty";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-oH44poFVnoM831dJuA9KcHCsuW6gh5B2EHrnKwza6A4="; hash = "sha256-VDB6313lvKuLJFOnuzEaiiRLUBOvbdjfowgl3nvG8Y0=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -13,7 +13,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pytile"; pname = "pytile";
version = "2023.04.0"; version = "2023.08.0";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -21,8 +21,8 @@ buildPythonPackage rec {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bachya"; owner = "bachya";
repo = pname; repo = pname;
rev = version; rev = "refs/tags/${version}";
hash = "sha256-SFHWhXKC7PIqanJIQyGcpM8klwxOAJPVtzk9w0i2YYA="; hash = "sha256-wPtGofli3ZKBcAwjwjCbeYnLaSZ5lLshlBSz1/WlAcg=";
}; };
patches = [ patches = [

View File

@ -196,7 +196,8 @@ in buildPythonPackage rec {
export TORCH_CUDA_ARCH_LIST="${gpuTargetString}" export TORCH_CUDA_ARCH_LIST="${gpuTargetString}"
export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++ export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++
'' + lib.optionalString (cudaSupport && cudnn != null) '' '' + lib.optionalString (cudaSupport && cudnn != null) ''
export CUDNN_INCLUDE_DIR=${cudnn}/include export CUDNN_INCLUDE_DIR=${cudnn.dev}/include
export CUDNN_LIB_DIR=${cudnn.lib}/lib
'' + lib.optionalString rocmSupport '' '' + lib.optionalString rocmSupport ''
export ROCM_PATH=${rocmtoolkit_joined} export ROCM_PATH=${rocmtoolkit_joined}
export ROCM_SOURCE_DIR=${rocmtoolkit_joined} export ROCM_SOURCE_DIR=${rocmtoolkit_joined}
@ -290,7 +291,7 @@ in buildPythonPackage rec {
buildInputs = [ blas blas.provider pybind11 ] buildInputs = [ blas blas.provider pybind11 ]
++ lib.optionals stdenv.isLinux [ linuxHeaders_5_19 ] # TMP: avoid "flexible array member" errors for now ++ lib.optionals stdenv.isLinux [ linuxHeaders_5_19 ] # TMP: avoid "flexible array member" errors for now
++ lib.optionals cudaSupport [ cudnn nccl ] ++ lib.optionals cudaSupport [ cudnn.dev cudnn.lib nccl ]
++ lib.optionals rocmSupport [ openmp ] ++ lib.optionals rocmSupport [ openmp ]
++ lib.optionals (cudaSupport || rocmSupport) [ magma ] ++ lib.optionals (cudaSupport || rocmSupport) [ magma ]
++ lib.optionals stdenv.isLinux [ numactl ] ++ lib.optionals stdenv.isLinux [ numactl ]

View File

@ -1,22 +1,20 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, pythonOlder
, aiohttp , aiohttp
, eth-abi , eth-abi
, eth-account , eth-account
, eth-hash , eth-hash
, eth-typing , eth-typing
, eth-utils , eth-utils
, eth-rlp
, hexbytes , hexbytes
, ipfshttpclient , ipfshttpclient
, jsonschema , jsonschema
, lru-dict , lru-dict
, protobuf , protobuf
, requests , requests
, typing-extensions
, websockets , websockets
, pythonOlder
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -33,24 +31,25 @@ buildPythonPackage rec {
hash = "sha256-RNWCZQjcse415SSNkHhMWckDcBJGFZnjisckF7gbYY8="; hash = "sha256-RNWCZQjcse415SSNkHhMWckDcBJGFZnjisckF7gbYY8=";
}; };
# Note: to reflect the extra_requires in main/setup.py.
passthru.optional-dependencies = {
ipfs = [ ipfshttpclient ];
};
propagatedBuildInputs = [ propagatedBuildInputs = [
aiohttp aiohttp
eth-abi eth-abi
eth-account eth-account
eth-hash eth-hash ] ++ eth-hash.optional-dependencies.pycryptodome ++ [
eth-rlp
eth-typing eth-typing
eth-utils eth-utils
hexbytes hexbytes
ipfshttpclient
jsonschema jsonschema
lru-dict lru-dict
protobuf protobuf
requests requests
websockets websockets
] ++ lib.optionals (pythonOlder "3.8") [ ];
typing-extensions
] ++ eth-hash.optional-dependencies.pycryptodome;
# TODO: package eth-tester required for tests # TODO: package eth-tester required for tests
doCheck = false; doCheck = false;
@ -64,9 +63,9 @@ buildPythonPackage rec {
]; ];
meta = with lib; { meta = with lib; {
description = "Web3 library for interactions"; description = "A python interface for interacting with the Ethereum blockchain and ecosystem";
homepage = "https://github.com/ethereum/web3"; homepage = "https://web3py.readthedocs.io/";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ hellwolf ];
}; };
} }

View File

@ -4,9 +4,9 @@ version = 3
[[package]] [[package]]
name = "addr2line" name = "addr2line"
version = "0.20.0" version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
dependencies = [ dependencies = [
"gimli", "gimli",
] ]
@ -30,9 +30,9 @@ dependencies = [
[[package]] [[package]]
name = "aho-corasick" name = "aho-corasick"
version = "1.0.3" version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86b8f9420f797f2d9e935edf629310eb938a0d839f984e25327f3c7eed22300c" checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
@ -54,9 +54,9 @@ dependencies = [
[[package]] [[package]]
name = "anyhow" name = "anyhow"
version = "1.0.72" version = "1.0.75"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
[[package]] [[package]]
name = "arrayref" name = "arrayref"
@ -102,7 +102,7 @@ checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
] ]
[[package]] [[package]]
@ -131,9 +131,9 @@ checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973"
[[package]] [[package]]
name = "backtrace" name = "backtrace"
version = "0.3.68" version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
dependencies = [ dependencies = [
"addr2line", "addr2line",
"cc", "cc",
@ -202,23 +202,33 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]] [[package]]
name = "bitflags" name = "bitflags"
version = "2.3.3" version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
dependencies = [ dependencies = [
"serde", "serde",
] ]
[[package]] [[package]]
name = "bpaf" name = "bpaf"
version = "0.9.4" version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c359c5e742f51d3238e83af24b289903591fbce38990eb9fcc903c7f8d5d95f9" checksum = "1dc3b1bd654a8d16eea03586c3eee8ffd25c7f242b9eae9730cc442834fe56d9"
dependencies = [ dependencies = [
"owo-colors", "owo-colors",
"supports-color", "supports-color",
] ]
[[package]]
name = "bstr"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
dependencies = [
"memchr",
"serde",
]
[[package]] [[package]]
name = "bumpalo" name = "bumpalo"
version = "3.13.0" version = "3.13.0"
@ -251,9 +261,9 @@ checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6"
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.0.82" version = "1.0.83"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
dependencies = [ dependencies = [
"libc", "libc",
] ]
@ -313,7 +323,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28a097f142aeb5b03af73595536cd55f5d649fca4d656379aac86b3af133cf92" checksum = "28a097f142aeb5b03af73595536cd55f5d649fca4d656379aac86b3af133cf92"
dependencies = [ dependencies = [
"comemo-macros", "comemo-macros",
"siphasher", "siphasher 0.3.11",
] ]
[[package]] [[package]]
@ -463,9 +473,9 @@ dependencies = [
[[package]] [[package]]
name = "dashmap" name = "dashmap"
version = "5.5.0" version = "5.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6943ae99c34386c84a470c499d3414f66502a41340aa895406e0d2e4a207b91d" checksum = "9b101bb8960ab42ada6ae98eb82afcea4452294294c45b681295af26610d6d28"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"hashbrown 0.14.0", "hashbrown 0.14.0",
@ -482,9 +492,9 @@ checksum = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5"
[[package]] [[package]]
name = "deranged" name = "deranged"
version = "0.3.7" version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
[[package]] [[package]]
name = "dirs" name = "dirs"
@ -515,14 +525,14 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
] ]
[[package]] [[package]]
name = "ecow" name = "ecow"
version = "0.1.1" version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c5c5051925c54d9a42c8652313b5358a7432eed209466b443ed5220431243a14" checksum = "1d1990d053cf6edf3f030682dba3b0eb65ef01fabb2686072765d8a17d6728e8"
dependencies = [ dependencies = [
"serde", "serde",
] ]
@ -544,9 +554,9 @@ dependencies = [
[[package]] [[package]]
name = "encoding_rs" name = "encoding_rs"
version = "0.8.32" version = "0.8.33"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
] ]
@ -561,7 +571,7 @@ dependencies = [
"num-traits", "num-traits",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
] ]
[[package]] [[package]]
@ -661,9 +671,9 @@ dependencies = [
[[package]] [[package]]
name = "flate2" name = "flate2"
version = "1.0.26" version = "1.0.27"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
dependencies = [ dependencies = [
"crc32fast", "crc32fast",
"miniz_oxide", "miniz_oxide",
@ -801,7 +811,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
] ]
[[package]] [[package]]
@ -859,15 +869,39 @@ dependencies = [
[[package]] [[package]]
name = "gimli" name = "gimli"
version = "0.27.3" version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
[[package]]
name = "globmatch"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0e82f77d5e36ce0c3941a39a6d8fff8ed9553ae13586b31640d6885f7376097"
dependencies = [
"globset",
"log",
"walkdir",
]
[[package]]
name = "globset"
version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
dependencies = [
"aho-corasick",
"bstr",
"fnv",
"log",
"regex",
]
[[package]] [[package]]
name = "h2" name = "h2"
version = "0.3.20" version = "0.3.21"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
dependencies = [ dependencies = [
"bytes", "bytes",
"fnv", "fnv",
@ -969,9 +1003,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
[[package]] [[package]]
name = "httpdate" name = "httpdate"
version = "1.0.2" version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]] [[package]]
name = "hyper" name = "hyper"
@ -1309,6 +1343,15 @@ dependencies = [
"phf", "phf",
] ]
[[package]]
name = "itertools"
version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
dependencies = [
"either",
]
[[package]] [[package]]
name = "itertools" name = "itertools"
version = "0.11.0" version = "0.11.0"
@ -1436,9 +1479,9 @@ dependencies = [
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.19" version = "0.4.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]] [[package]]
name = "lsp-types" name = "lsp-types"
@ -1542,9 +1585,9 @@ dependencies = [
[[package]] [[package]]
name = "num-bigint" name = "num-bigint"
version = "0.4.3" version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"num-integer", "num-integer",
@ -1600,9 +1643,9 @@ checksum = "e25be21376a772d15f97ae789845340a9651d3c4246ff5ebb6a2b35f9c37bd31"
[[package]] [[package]]
name = "object" name = "object"
version = "0.31.1" version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" checksum = "77ac5bbd07aea88c60a577a1ce218075ffd59208b2d7ca97adf9bfc5aeb21ebe"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
@ -1645,7 +1688,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
] ]
[[package]] [[package]]
@ -1745,7 +1788,7 @@ dependencies = [
"futures-util", "futures-util",
"once_cell", "once_cell",
"opentelemetry_api", "opentelemetry_api",
"ordered-float 3.7.0", "ordered-float 3.9.1",
"percent-encoding", "percent-encoding",
"rand", "rand",
"regex", "regex",
@ -1771,9 +1814,9 @@ dependencies = [
[[package]] [[package]]
name = "ordered-float" name = "ordered-float"
version = "3.7.0" version = "3.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fc2dbde8f8a79f2102cc474ceb0ad68e3b80b85289ea62389b60e66777e4213" checksum = "2a54938017eacd63036332b4ae5c8a49fc8c0c1d6d629893057e4f13609edd06"
dependencies = [ dependencies = [
"num-traits", "num-traits",
] ]
@ -1851,7 +1894,7 @@ version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
dependencies = [ dependencies = [
"siphasher", "siphasher 0.3.11",
] ]
[[package]] [[package]]
@ -1877,14 +1920,14 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
] ]
[[package]] [[package]]
name = "pin-project-lite" name = "pin-project-lite"
version = "0.2.12" version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
[[package]] [[package]]
name = "pin-utils" name = "pin-utils"
@ -1923,9 +1966,9 @@ dependencies = [
[[package]] [[package]]
name = "png" name = "png"
version = "0.17.9" version = "0.17.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59871cc5b6cce7eaccca5a802b4173377a1c2ba90654246789a8fa2334426d11" checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"crc32fast", "crc32fast",
@ -2028,9 +2071,9 @@ dependencies = [
[[package]] [[package]]
name = "quote" name = "quote"
version = "1.0.32" version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
] ]
@ -2153,9 +2196,9 @@ checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
[[package]] [[package]]
name = "reqwest" name = "reqwest"
version = "0.11.18" version = "0.11.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1"
dependencies = [ dependencies = [
"base64", "base64",
"bytes", "bytes",
@ -2245,7 +2288,7 @@ dependencies = [
"log", "log",
"roxmltree", "roxmltree",
"simplecss", "simplecss",
"siphasher", "siphasher 0.3.11",
"svgtypes", "svgtypes",
] ]
@ -2270,7 +2313,7 @@ version = "0.38.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f" checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
dependencies = [ dependencies = [
"bitflags 2.3.3", "bitflags 2.4.0",
"errno", "errno",
"libc", "libc",
"linux-raw-sys", "linux-raw-sys",
@ -2300,9 +2343,9 @@ dependencies = [
[[package]] [[package]]
name = "rustls-webpki" name = "rustls-webpki"
version = "0.101.3" version = "0.101.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "261e9e0888cba427c3316e6322805653c9425240b6fd96cee7cb671ab70ab8d0" checksum = "7d93931baf2d282fff8d3a532bbfd7653f734643161b87e3e01e59a04439bf0d"
dependencies = [ dependencies = [
"ring", "ring",
"untrusted", "untrusted",
@ -2401,29 +2444,29 @@ dependencies = [
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.183" version = "1.0.187"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" checksum = "30a7fe14252655bd1e578af19f5fa00fe02fd0013b100ca6b49fde31c41bae4c"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.183" version = "1.0.187"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816" checksum = "e46b2a6ca578b3f1d4501b12f78ed4692006d79d82a1a7c561c12dbc3d625eb8"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
] ]
[[package]] [[package]]
name = "serde_json" name = "serde_json"
version = "1.0.104" version = "1.0.105"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
dependencies = [ dependencies = [
"itoa", "itoa",
"ryu", "ryu",
@ -2438,7 +2481,7 @@ checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
] ]
[[package]] [[package]]
@ -2500,15 +2543,21 @@ dependencies = [
[[package]] [[package]]
name = "siphasher" name = "siphasher"
version = "0.3.10" version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
[[package]]
name = "siphasher"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54ac45299ccbd390721be55b412d41931911f654fa99e2cb8bfb57184b2061fe"
[[package]] [[package]]
name = "slab" name = "slab"
version = "0.4.8" version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
dependencies = [ dependencies = [
"autocfg", "autocfg",
] ]
@ -2643,7 +2692,7 @@ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"rustversion", "rustversion",
"syn 2.0.28", "syn 2.0.29",
] ]
[[package]] [[package]]
@ -2681,7 +2730,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed4b0611e7f3277f68c0fa18e385d9e2d26923691379690039548f867cef02a7" checksum = "ed4b0611e7f3277f68c0fa18e385d9e2d26923691379690039548f867cef02a7"
dependencies = [ dependencies = [
"kurbo", "kurbo",
"siphasher", "siphasher 0.3.11",
] ]
[[package]] [[package]]
@ -2697,9 +2746,9 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.28" version = "2.0.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -2747,9 +2796,9 @@ checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab"
[[package]] [[package]]
name = "tempfile" name = "tempfile"
version = "3.7.1" version = "3.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651" checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"fastrand 2.0.0", "fastrand 2.0.0",
@ -2760,22 +2809,22 @@ dependencies = [
[[package]] [[package]]
name = "thiserror" name = "thiserror"
version = "1.0.44" version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f"
dependencies = [ dependencies = [
"thiserror-impl", "thiserror-impl",
] ]
[[package]] [[package]]
name = "thiserror-impl" name = "thiserror-impl"
version = "1.0.44" version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
] ]
[[package]] [[package]]
@ -2823,9 +2872,9 @@ dependencies = [
[[package]] [[package]]
name = "time" name = "time"
version = "0.3.25" version = "0.3.27"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" checksum = "0bb39ee79a6d8de55f48f2293a830e040392f1c5f16e336bdd1788cd0aadce07"
dependencies = [ dependencies = [
"deranged", "deranged",
"itoa", "itoa",
@ -2842,9 +2891,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
[[package]] [[package]]
name = "time-macros" name = "time-macros"
version = "0.2.11" version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" checksum = "733d258752e9303d392b94b75230d07b0b9c489350c69b851fc6c065fde3e8f9"
dependencies = [ dependencies = [
"time-core", "time-core",
] ]
@ -2903,9 +2952,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]] [[package]]
name = "tokio" name = "tokio"
version = "1.31.0" version = "1.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "40de3a2ba249dcb097e01be5e67a5ff53cf250397715a071a81543e8a832a920" checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
dependencies = [ dependencies = [
"backtrace", "backtrace",
"bytes", "bytes",
@ -2926,7 +2975,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
] ]
[[package]] [[package]]
@ -3074,7 +3123,7 @@ checksum = "84fd902d4e0b9a4b27f2f440108dc034e1758628a9b702f8ec61ad66355422fa"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
] ]
[[package]] [[package]]
@ -3104,7 +3153,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
] ]
[[package]] [[package]]
@ -3186,7 +3235,7 @@ name = "typst"
version = "0.7.0" version = "0.7.0"
source = "git+https://github.com/typst/typst.git?tag=v0.7.0#da8367e189b02918a8fe1a98fd3059fd11a82cd9" source = "git+https://github.com/typst/typst.git?tag=v0.7.0#da8367e189b02918a8fe1a98fd3059fd11a82cd9"
dependencies = [ dependencies = [
"bitflags 2.3.3", "bitflags 2.4.0",
"bytemuck", "bytemuck",
"comemo", "comemo",
"ecow", "ecow",
@ -3206,7 +3255,7 @@ dependencies = [
"roxmltree", "roxmltree",
"rustybuzz", "rustybuzz",
"serde", "serde",
"siphasher", "siphasher 0.3.11",
"stacker", "stacker",
"subsetter", "subsetter",
"svg2pdf", "svg2pdf",
@ -3267,7 +3316,7 @@ dependencies = [
[[package]] [[package]]
name = "typst-lsp" name = "typst-lsp"
version = "0.9.4" version = "0.9.5"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-compression", "async-compression",
@ -3281,7 +3330,7 @@ dependencies = [
"if_chain", "if_chain",
"indexmap 2.0.0", "indexmap 2.0.0",
"internment", "internment",
"itertools", "itertools 0.11.0",
"lazy_static", "lazy_static",
"memmap2 0.7.1", "memmap2 0.7.1",
"once_cell", "once_cell",
@ -3294,7 +3343,7 @@ dependencies = [
"same-file", "same-file",
"serde", "serde",
"serde_json", "serde_json",
"siphasher", "siphasher 1.0.0",
"strum 0.25.0", "strum 0.25.0",
"temp-dir", "temp-dir",
"thiserror", "thiserror",
@ -3307,6 +3356,7 @@ dependencies = [
"tracing-subscriber", "tracing-subscriber",
"typst", "typst",
"typst-library", "typst-library",
"typstfmt_lib",
"walkdir", "walkdir",
] ]
@ -3318,7 +3368,7 @@ dependencies = [
"heck", "heck",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
] ]
[[package]] [[package]]
@ -3337,6 +3387,21 @@ dependencies = [
"unscanny", "unscanny",
] ]
[[package]]
name = "typstfmt_lib"
version = "0.2.0"
source = "git+https://github.com/astrale-sharp/typstfmt?rev=45d1ebb6073312d21ce8b4f5dd59b76cfdbe0880#45d1ebb6073312d21ce8b4f5dd59b76cfdbe0880"
dependencies = [
"globmatch",
"itertools 0.10.5",
"regex",
"serde",
"toml",
"tracing",
"typst-syntax",
"unicode-segmentation",
]
[[package]] [[package]]
name = "unic-langid" name = "unic-langid"
version = "0.9.1" version = "0.9.1"
@ -3590,7 +3655,7 @@ dependencies = [
"once_cell", "once_cell",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
@ -3624,7 +3689,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.28", "syn 2.0.29",
"wasm-bindgen-backend", "wasm-bindgen-backend",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
@ -3637,9 +3702,9 @@ checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
[[package]] [[package]]
name = "wasm-streams" name = "wasm-streams"
version = "0.2.3" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6bbae3363c08332cadccd13b67db371814cd214c2524020932f0804b8cf7c078" checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7"
dependencies = [ dependencies = [
"futures-util", "futures-util",
"js-sys", "js-sys",
@ -3658,24 +3723,11 @@ dependencies = [
"wasm-bindgen", "wasm-bindgen",
] ]
[[package]]
name = "webpki"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
dependencies = [
"ring",
"untrusted",
]
[[package]] [[package]]
name = "webpki-roots" name = "webpki-roots"
version = "0.22.6" version = "0.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc"
dependencies = [
"webpki",
]
[[package]] [[package]]
name = "weezl" name = "weezl"
@ -3734,9 +3786,9 @@ dependencies = [
[[package]] [[package]]
name = "windows-targets" name = "windows-targets"
version = "0.48.1" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [ dependencies = [
"windows_aarch64_gnullvm", "windows_aarch64_gnullvm",
"windows_aarch64_msvc", "windows_aarch64_msvc",
@ -3749,62 +3801,63 @@ dependencies = [
[[package]] [[package]]
name = "windows_aarch64_gnullvm" name = "windows_aarch64_gnullvm"
version = "0.48.0" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]] [[package]]
name = "windows_aarch64_msvc" name = "windows_aarch64_msvc"
version = "0.48.0" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]] [[package]]
name = "windows_i686_gnu" name = "windows_i686_gnu"
version = "0.48.0" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]] [[package]]
name = "windows_i686_msvc" name = "windows_i686_msvc"
version = "0.48.0" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]] [[package]]
name = "windows_x86_64_gnu" name = "windows_x86_64_gnu"
version = "0.48.0" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]] [[package]]
name = "windows_x86_64_gnullvm" name = "windows_x86_64_gnullvm"
version = "0.48.0" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]] [[package]]
name = "windows_x86_64_msvc" name = "windows_x86_64_msvc"
version = "0.48.0" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]] [[package]]
name = "winnow" name = "winnow"
version = "0.5.6" version = "0.5.15"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50be2474cf85af7994b8ddd153dcde06fbcf847ced8f14d2e401ac3c33df143c" checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
[[package]] [[package]]
name = "winreg" name = "winreg"
version = "0.10.1" version = "0.50.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
dependencies = [ dependencies = [
"winapi", "cfg-if",
"windows-sys",
] ]
[[package]] [[package]]

View File

@ -7,22 +7,30 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "typst-lsp"; pname = "typst-lsp";
version = "0.9.4"; version = "0.9.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nvarner"; owner = "nvarner";
repo = "typst-lsp"; repo = "typst-lsp";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-qbmNZFXg+XaDkHdBA3dU0ICKovEQrl7AAcMkElMLbMA="; hash = "sha256-rV7vzI4PPyBJX/ofVCXnXd8eH6+UkGaAL7PwhP71t0k=";
}; };
cargoLock = { cargoLock = {
lockFile = ./Cargo.lock; lockFile = ./Cargo.lock;
outputHashes = { outputHashes = {
"typst-0.7.0" = "sha256-yrtOmlFAKOqAmhCP7n0HQCOQpU3DWyms5foCdUb9QTg="; "typst-0.7.0" = "sha256-yrtOmlFAKOqAmhCP7n0HQCOQpU3DWyms5foCdUb9QTg=";
"typstfmt_lib-0.2.0" = "sha256-DOh7WQowJXTxI9GDXfy73hvr3J+VcDqSDaClLlUpMsM=";
}; };
}; };
patches = [
# update typstfmt to symlink its README.md into the library crate
# without this patch, typst-lsp fails to build when dependencies are vendored
# https://github.com/astrale-sharp/typstfmt/pull/81
./update-typstfmt.patch
];
buildInputs = lib.optionals stdenv.isDarwin [ buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security darwin.apple_sdk.frameworks.Security
]; ];

View File

@ -0,0 +1,22 @@
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3390,7 +3390,7 @@ dependencies = [
[[package]]
name = "typstfmt_lib"
version = "0.2.0"
-source = "git+https://github.com/astrale-sharp/typstfmt?rev=cf0ac91#cf0ac9189a4a2d47f4bc833f2538dca032534455"
+source = "git+https://github.com/astrale-sharp/typstfmt?rev=45d1ebb6073312d21ce8b4f5dd59b76cfdbe0880#45d1ebb6073312d21ce8b4f5dd59b76cfdbe0880"
dependencies = [
"globmatch",
"itertools 0.10.5",
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -70,7 +70,7 @@ tracing-subscriber = { version = "0.3.17", default-features = false, features =
"fmt",
] }
walkdir = "2.3"
-typstfmt_lib = { git = "https://github.com/astrale-sharp/typstfmt", rev = "cf0ac91" }
+typstfmt_lib = { git = "https://github.com/astrale-sharp/typstfmt", rev = "45d1ebb6073312d21ce8b4f5dd59b76cfdbe0880" }
# jaeger
opentelemetry = { version = "0.20.0", optional = true }

View File

@ -5,16 +5,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "cargo-expand"; pname = "cargo-expand";
version = "1.0.64"; version = "1.0.65";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dtolnay"; owner = "dtolnay";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-8DBkF2JRrsrZTW6gNBiUyVpwFvOpoZnm2vsR4O/6c6c="; sha256 = "sha256-fPrke89Nlr9Yj0bkB6HTwMymQsjAQ+5+o7iVPGH7Tyc=";
}; };
cargoHash = "sha256-r5qRxc8Jt5OBWCiBhFs8zPoxbuercsQ7gw5FfOKH3ow="; cargoHash = "sha256-Q7nBKdwZlL/HleuiniuvErGF6Avf58xR++cJ7PP8RME=";
meta = with lib; { meta = with lib; {
description = "A utility and Cargo subcommand designed to let people expand macros in their Rust source code"; description = "A utility and Cargo subcommand designed to let people expand macros in their Rust source code";

View File

@ -6,22 +6,22 @@
, libGLU , libGLU
, libsndfile , libsndfile
, openal , openal
, zig_0_9 , zig_0_11
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "blackshades"; pname = "blackshades";
version = "2.4.9"; version = "2.5.1";
src = fetchFromSourcehut { src = fetchFromSourcehut {
owner = "~cnx"; owner = "~cnx";
repo = "blackshades"; repo = "blackshades";
rev = finalAttrs.version; rev = finalAttrs.version;
fetchSubmodules = true; fetchSubmodules = true;
hash = "sha256-Hg+VcWI28GzY/CPm1lUftP0RGztOnzizrKJQVTmeJ9I="; hash = "sha256-qdpXpuXHr9w2XMfgOVveWv3JoqdJHVB8TCqZdyaw/DM=";
}; };
nativeBuildInputs = [ zig_0_9.hook ]; nativeBuildInputs = [ zig_0_11.hook ];
buildInputs = [ buildInputs = [
glfw glfw
@ -34,6 +34,8 @@ stdenv.mkDerivation (finalAttrs: {
meta = { meta = {
homepage = "https://sr.ht/~cnx/blackshades"; homepage = "https://sr.ht/~cnx/blackshades";
description = "A psychic bodyguard FPS"; description = "A psychic bodyguard FPS";
changelog = "https://git.sr.ht/~cnx/blackshades/refs/${finalAttrs.version}";
mainProgram = "blackshades";
license = lib.licenses.gpl3Plus; license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ McSinyx viric ]; maintainers = with lib.maintainers; [ McSinyx viric ];
platforms = lib.platforms.linux; platforms = lib.platforms.linux;

View File

@ -25,6 +25,7 @@
, libbfd_2_38 , libbfd_2_38
, libopcodes , libopcodes
, libopcodes_2_38 , libopcodes_2_38
, libpfm
, libtraceevent , libtraceevent
, openssl , openssl
, systemtap , systemtap
@ -125,6 +126,7 @@ stdenv.mkDerivation {
++ lib.optional withGtk gtk2 ++ lib.optional withGtk gtk2
++ lib.optional withZstd zstd ++ lib.optional withZstd zstd
++ lib.optional withLibcap libcap ++ lib.optional withLibcap libcap
++ lib.optional (lib.versionAtLeast kernel.version "5.8") libpfm
++ lib.optional (lib.versionAtLeast kernel.version "6.0") python3.pkgs.setuptools; ++ lib.optional (lib.versionAtLeast kernel.version "6.0") python3.pkgs.setuptools;
env.NIX_CFLAGS_COMPILE = toString [ env.NIX_CFLAGS_COMPILE = toString [

View File

@ -15,13 +15,13 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "janus-gateway"; pname = "janus-gateway";
version = "1.1.4"; version = "1.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "meetecho"; owner = "meetecho";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-kvaO2g4QF6LYZcxv39yXkwY9iZVenJio8oOlRLLH2Kk="; sha256 = "sha256-YbY7wcd8YHcPo5w4n54gjOtepYLbboLsrLij7oYzhco=";
}; };
nativeBuildInputs = [ autoreconfHook pkg-config gengetopt ]; nativeBuildInputs = [ autoreconfHook pkg-config gengetopt ];

View File

@ -2,7 +2,6 @@
, fetchpatch , fetchpatch
, python3 , python3
, fetchPypi , fetchPypi
, docutils
, sphinx , sphinx
, postfix , postfix
, lynx , lynx
@ -41,7 +40,6 @@ buildPythonPackage rec {
]; ];
checkInputs = [ checkInputs = [
docutils
sphinx sphinx
]; ];

View File

@ -0,0 +1,44 @@
{ lib
, buildGoModule
, fetchFromGitHub
, olm
, nix-update-script
, testers
, mautrix-discord
}:
buildGoModule rec {
pname = "mautrix-discord";
version = "0.6.1";
src = fetchFromGitHub {
owner = "mautrix";
repo = "discord";
rev = "v${version}";
hash = "sha256-rs7wWlQMc79Vls+cqPPo+lRzYAGye4WcKKz+9EXlEBo=";
};
vendorSha256 = "sha256-ZI1+Tfru2OfnqLnaaiDL08OtSmbMBiRDvkL39+jhhmI=";
ldflags = [ "-s" "-w" ];
buildInputs = [ olm ];
doCheck = false;
passthru = {
updateScript = nix-update-script { };
tests.version = testers.testVersion {
package = mautrix-discord;
};
};
meta = with lib; {
description = "A Matrix-Discord puppeting bridge";
homepage = "https://github.com/mautrix/discord";
changelog = "https://github.com/mautrix/discord/blob/${src.rev}/CHANGELOG.md";
license = licenses.agpl3Only;
maintainers = with maintainers; [ MoritzBoehme ];
};
}

View File

@ -1,47 +1,49 @@
{ lib { lib
, stdenv , stdenv
, fetchzip , buildNpmPackage
, fetchFromGitHub
, testers , testers
, balena-cli
, nodePackages
, python3
, udev
, darwin
}: }:
let
inherit (stdenv.hostPlatform) system;
throwSystem = throw "Unsupported system: ${system}";
plat = { buildNpmPackage rec {
x86_64-linux = "linux-x64";
x86_64-darwin = "macOS-x64";
# Balena only packages for x86 so we rely on Rosetta for Apple Silicon
aarch64-darwin = "macOS-x64";
}.${system} or throwSystem;
sha256 = {
x86_64-linux = "sha256-USljQ/cnbSabzsZWXlZ0eeZSqkTr3wVP0ktXqZ7Fw4U=";
x86_64-darwin = "sha256-NWzJPB+HzlsB6yTcEMwTg8pioonGWPOU96jyIpiZiTY=";
aarch64-darwin = "sha256-NWzJPB+HzlsB6yTcEMwTg8pioonGWPOU96jyIpiZiTY=";
}.${system} or throwSystem;
version = "16.7.6";
src = fetchzip {
url = "https://github.com/balena-io/balena-cli/releases/download/v${version}/balena-cli-v${version}-${plat}-standalone.zip";
inherit sha256;
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "balena-cli"; pname = "balena-cli";
inherit version src; version = "17.0.0";
installPhase = '' src = fetchFromGitHub {
runHook preInstall owner = "balena-io";
repo = "balena-cli";
rev = "v${version}";
hash = "sha256-sNpxjSumiP+4fX6b3j+HEl/lr4pvudrhfTzr2TYastE=";
};
mkdir -p $out/bin npmDepsHash = "sha256-q2Yc6e5dEiP2Q4tFIeqj4mswM1/pX1pdGeoagyiupvs=";
cp -r ./* $out/
ln -s $out/balena $out/bin/balena
runHook postInstall postPatch = ''
ln -s npm-shrinkwrap.json package-lock.json
''; '';
makeCacheWritable = true;
nativeBuildInputs = [
nodePackages.node-gyp
python3
] ++ lib.optionals stdenv.isDarwin [
darwin.cctools
];
buildInputs = lib.optionals stdenv.isLinux [
udev
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Foundation
darwin.apple_sdk.frameworks.Cocoa
];
passthru.tests.version = testers.testVersion { passthru.tests.version = testers.testVersion {
package = finalAttrs.finalPackage; package = balena-cli;
command = '' command = ''
# Override default cache directory so Balena CLI's unavoidable update check does not fail due to write permissions # Override default cache directory so Balena CLI's unavoidable update check does not fail due to write permissions
BALENARC_DATA_DIRECTORY=./ balena --version BALENARC_DATA_DIRECTORY=./ balena --version
@ -49,46 +51,6 @@ stdenv.mkDerivation (finalAttrs: {
inherit version; inherit version;
}; };
# https://github.com/NixOS/nixpkgs/pull/48193/files#diff-b65952dbe5271c002fbc941b01c3586bf5050ad0e6aa6b2fcc74357680e103ea
preFixup =
if stdenv.isLinux then
let
libPath = lib.makeLibraryPath [ stdenv.cc.cc ];
in
''
orig_size=$(stat --printf=%s $out/balena)
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/balena
patchelf --set-rpath ${libPath} $out/balena
chmod +x $out/balena
new_size=$(stat --printf=%s $out/balena)
###### zeit-pkg fixing starts here.
# we're replacing plaintext js code that looks like
# PAYLOAD_POSITION = '1234 ' | 0
# [...]
# PRELUDE_POSITION = '1234 ' | 0
# ^-----20-chars-----^^------22-chars------^
# ^-- grep points here
#
# var_* are as described above
# shift_by seems to be safe so long as all patchelf adjustments occur
# before any locations pointed to by hardcoded offsets
var_skip=20
var_select=22
shift_by=$(expr $new_size - $orig_size)
function fix_offset {
# $1 = name of variable to adjust
location=$(grep -obUam1 "$1" $out/bin/balena | cut -d: -f1)
location=$(expr $location + $var_skip)
value=$(dd if=$out/balena iflag=count_bytes,skip_bytes skip=$location \
bs=1 count=$var_select status=none)
value=$(expr $shift_by + $value)
echo -n $value | dd of=$out/balena bs=1 seek=$location conv=notrunc
}
fix_offset PAYLOAD_POSITION
fix_offset PRELUDE_POSITION
'' else '''';
dontStrip = true;
meta = with lib; { meta = with lib; {
description = "A command line interface for balenaCloud or openBalena"; description = "A command line interface for balenaCloud or openBalena";
longDescription = '' longDescription = ''
@ -100,9 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/balena-io/balena-cli"; homepage = "https://github.com/balena-io/balena-cli";
changelog = "https://github.com/balena-io/balena-cli/blob/v${version}/CHANGELOG.md"; changelog = "https://github.com/balena-io/balena-cli/blob/v${version}/CHANGELOG.md";
license = licenses.asl20; license = licenses.asl20;
maintainers = [ maintainers.kalebpace ]; maintainers = [ maintainers.kalebpace maintainers.doronbehar ];
platforms = platforms.linux ++ platforms.darwin;
sourceProvenance = [ sourceTypes.binaryNativeCode ];
mainProgram = "balena"; mainProgram = "balena";
}; };
}) }

View File

@ -2,14 +2,14 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "faketty"; pname = "faketty";
version = "1.0.12"; version = "1.0.13";
src = fetchCrate { src = fetchCrate {
inherit pname version; inherit pname version;
sha256 = "sha256-1q1TOwKC2Tse/Ct/6Nw7YiOviJyBZAsOBEp3sT4N0ss="; hash = "sha256-jV5b6mB81Nz0Q+Toj5DTQq2QcM+EoQ7jRYV/OXgtemA=";
}; };
cargoSha256 = "sha256-x8+7sZJnA+kEwKAu8DBF8z7JhWjJ6ZFiLaQP8kFOt08="; cargoHash = "sha256-9t1Km/ZXzxyO72CaWM81fWGcFkri7F+wMAVom0GV/YM=";
postPatch = '' postPatch = ''
patchShebangs tests/test.sh patchShebangs tests/test.sh
@ -18,6 +18,7 @@ rustPlatform.buildRustPackage rec {
meta = with lib; { meta = with lib; {
description = "A wrapper to execute a command in a pty, even if redirecting the output"; description = "A wrapper to execute a command in a pty, even if redirecting the output";
homepage = "https://github.com/dtolnay/faketty"; homepage = "https://github.com/dtolnay/faketty";
changelog = "https://github.com/dtolnay/faketty/releases/tag/${version}";
license = with licenses; [ asl20 /* or */ mit ]; license = with licenses; [ asl20 /* or */ mit ];
maintainers = with maintainers; [ figsoda ]; maintainers = with maintainers; [ figsoda ];
}; };

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "fsearch"; pname = "fsearch";
version = "0.2.2"; version = "0.2.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cboxdoerfer"; owner = "cboxdoerfer";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-1nu6J5eHVpPHGXcFKHSnUhAJccxABBht5H2bpBx42og="; hash = "sha256-VBcoDxh4ip2zLBcXVHDe9s1lVRQF4bZJKsGUt6sPcos=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,27 +1,39 @@
{ lib, rustPlatform, fetchFromGitHub, ncurses, openssl, pkg-config, stdenv, Security }: { lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, openssl
, stdenv
, darwin
}:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "hoard"; pname = "hoard";
version = "1.3.1"; version = "1.4.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Hyde46"; owner = "Hyde46";
repo = pname; repo = "hoard";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-Gm3X6/g5JQJEl7wRvWcO4j5XpROhtfRJ72LNaUeZRGc="; hash = "sha256-c9iSbxkHwLOeATkO7kzTyLD0VAwZUzCvw5c4FyuR5/E=";
}; };
buildInputs = [ ncurses openssl ] cargoHash = "sha256-4EeeD1ySR4M1i2aaKJP/BNSn+t1l8ingiv2ZImFFn1A=";
++ lib.optional stdenv.isDarwin Security;
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
cargoHash = "sha256-ZNhUqnsme1rczl3FdFBGGs+vBDFcFEELkPp0/udTfR4="; buildInputs = [
openssl
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
];
meta = with lib; { meta = with lib; {
description = "CLI command organizer written in rust"; description = "CLI command organizer written in rust";
homepage = "https://github.com/hyde46/hoard"; homepage = "https://github.com/hyde46/hoard";
changelog = "https://github.com/Hyde46/hoard/blob/${src.rev}/CHANGES.md";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ builditluc ]; maintainers = with maintainers; [ builditluc figsoda ];
mainProgram = "hoard";
}; };
} }

View File

@ -0,0 +1,29 @@
{ lib
, buildNpmPackage
, fetchFromGitHub
}:
buildNpmPackage rec {
pname = "glob";
version = "10.3.3";
src = fetchFromGitHub {
owner = "isaacs";
repo = "node-glob";
rev = "v${version}";
hash = "sha256-oLlNhQOnu/hlKjNWa5vjqslz1EarZJOpUEXUB+vGQvc=";
};
npmDepsHash = "sha256-78oODw+CBCk5JRJbDqLqVmzTVImP7Z7o6jRIimDxZDQ=";
dontNpmBuild = true;
meta = {
changelog = "https://github.com/isaacs/node-glob/blob/${src.rev}/changelog.md";
description = "A little globber for Node.js";
homepage = "https://github.com/isaacs/node-glob";
license = lib.licenses.isc;
mainProgram = "glob";
maintainers = with lib.maintainers; [ ];
};
}

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "traceroute"; pname = "traceroute";
version = "2.1.2"; version = "2.1.3";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/traceroute/${pname}-${version}.tar.gz"; url = "mirror://sourceforge/traceroute/${pname}-${version}.tar.gz";
sha256 = "sha256-UHwmjyl3tOIYznPn6+1Fug2XCoykmV3Zy7H/6OmbWx8="; sha256 = "sha256-BevHq6KKkQD5u65Uzuy/dcgsz0a9/Oi11kgGRZp+BBI=";
}; };
makeFlags = [ makeFlags = [

View File

@ -28,11 +28,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "apt"; pname = "apt";
version = "2.7.2"; version = "2.7.3";
src = fetchurl { src = fetchurl {
url = "mirror://debian/pool/main/a/apt/apt_${version}.tar.xz"; url = "mirror://debian/pool/main/a/apt/apt_${version}.tar.xz";
hash = "sha256-CVySyC/O/0zALdrcJHeFm4JjyI0wFdZ5mqcuMwE1my8="; hash = "sha256-mtLrLE8lzjU12aXYBW4f6TLW27WMJkfNX8jfjJ+N71M=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -4,9 +4,9 @@ version = 3
[[package]] [[package]]
name = "aho-corasick" name = "aho-corasick"
version = "1.0.4" version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a" checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
@ -24,9 +24,9 @@ dependencies = [
[[package]] [[package]]
name = "bstr" name = "bstr"
version = "1.6.0" version = "1.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" checksum = "4c2f7349907b712260e64b0afe2f84692af14a454be26187d9df565c7f69266a"
dependencies = [ dependencies = [
"memchr", "memchr",
"serde", "serde",
@ -122,7 +122,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d" checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
dependencies = [ dependencies = [
"aho-corasick", "aho-corasick",
"bstr 1.6.0", "bstr 1.6.2",
"fnv", "fnv",
"log", "log",
"regex", "regex",
@ -198,9 +198,9 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]] [[package]]
name = "memchr" name = "memchr"
version = "2.6.0" version = "2.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76fc44e2588d5b436dbc3c6cf62aef290f90dab6235744a93dfe1cc18f451e2c" checksum = "5486aed0026218e61b8a01d5fbd5a0a134649abb71a0e53b7bc088529dced86e"
[[package]] [[package]]
name = "nu-ansi-term" name = "nu-ansi-term"
@ -504,7 +504,7 @@ dependencies = [
[[package]] [[package]]
name = "typstfmt" name = "typstfmt"
version = "0.2.0" version = "0.2.1"
dependencies = [ dependencies = [
"lexopt", "lexopt",
"typstfmt_lib", "typstfmt_lib",
@ -512,7 +512,7 @@ dependencies = [
[[package]] [[package]]
name = "typstfmt_lib" name = "typstfmt_lib"
version = "0.2.0" version = "0.2.1"
dependencies = [ dependencies = [
"globmatch", "globmatch",
"insta", "insta",

View File

@ -2,13 +2,13 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "typstfmt"; pname = "typstfmt";
version = "0.2.0"; version = "0.2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "astrale-sharp"; owner = "astrale-sharp";
repo = "typstfmt"; repo = "typstfmt";
rev = version; rev = version;
hash = "sha256-tLkb9KmjkevjGdqqlbcz0jRyBpB079VgqWI81qNPCUw="; hash = "sha256-cxiT8QVioZ7cGdkxsa8ampwNBWcdpAu4fO1ijfviHhI=";
}; };
cargoLock = { cargoLock = {
@ -21,6 +21,7 @@ rustPlatform.buildRustPackage rec {
meta = with lib; { meta = with lib; {
description = "A formatter for the Typst language"; description = "A formatter for the Typst language";
homepage = "https://github.com/astrale-sharp/typstfmt"; homepage = "https://github.com/astrale-sharp/typstfmt";
changelog = "https://github.com/astrale-sharp/typstfmt/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ figsoda geri1701 ]; maintainers = with maintainers; [ figsoda geri1701 ];
}; };

View File

@ -1903,6 +1903,8 @@ with pkgs;
systemd = pkgs.systemd; systemd = pkgs.systemd;
}; };
node-glob = callPackage ../tools/misc/node-glob { };
nominatim = callPackage ../servers/nominatim { }; nominatim = callPackage ../servers/nominatim { };
npm-check-updates = callPackage ../tools/package-management/npm-check-updates { }; npm-check-updates = callPackage ../tools/package-management/npm-check-updates { };
@ -9993,6 +9995,8 @@ with pkgs;
matrix-hookshot = callPackage ../servers/matrix-synapse/matrix-hookshot { }; matrix-hookshot = callPackage ../servers/matrix-synapse/matrix-hookshot { };
mautrix-discord = callPackage ../servers/mautrix-discord { };
mautrix-facebook = callPackage ../servers/mautrix-facebook { }; mautrix-facebook = callPackage ../servers/mautrix-facebook { };
mautrix-googlechat = callPackage ../servers/mautrix-googlechat { }; mautrix-googlechat = callPackage ../servers/mautrix-googlechat { };
@ -26651,7 +26655,7 @@ with pkgs;
hiraeth = callPackage ../servers/hiraeth { }; hiraeth = callPackage ../servers/hiraeth { };
hoard = callPackage ../tools/misc/hoard { inherit (darwin) Security; }; hoard = callPackage ../tools/misc/hoard { };
home-assistant = callPackage ../servers/home-assistant { }; home-assistant = callPackage ../servers/home-assistant { };
@ -31490,7 +31494,7 @@ with pkgs;
em = callPackage ../applications/editors/em { }; em = callPackage ../applications/editors/em { };
inherit (recurseIntoAttrs (callPackage ../applications/editors/emacs { })) inherit (recurseIntoAttrs (darwin.apple_sdk_11_0.callPackage ../applications/editors/emacs { }))
emacs28 emacs28
emacs28-gtk2 emacs28-gtk2
emacs28-gtk3 emacs28-gtk3