Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2026-09-27 12:13:16 +00:00
committed by GitHub
95 changed files with 1359 additions and 469 deletions

View File

@@ -1,6 +1,6 @@
Thanks for contributing to the documentation
Make sure you follow the [documentation styleguide](https://github.com/NixOS/nixpkgs/blob/master/doc/styleguide.md), most notably:
Make sure you follow the [documentation style guide](https://github.com/NixOS/nixpkgs/blob/master/doc/styleguide.md), most notably:
- Show, don't tell: lead with a minimal working example; explanation follows the code.
- No meta-commentary: don't write "This section explains how to…", just do it.

View File

@@ -7,19 +7,26 @@ This directory houses the source files for the Nixpkgs manual.
> We are actively restructuring our documentation to be more beginner friendly.
>
When writing new docs use **Progressive Disclosure**
When writing new docs use **Progressive Disclosure:**
Start simple, pick up beginners.
Use **examples** first to show how to get something done. Keep **Explanation** lean.
- Start simple, pick up beginners.
- Use **examples** first to show how to get something done.
- Keep **explanation** lean.
Use our [styleguide](./styleguide.md) for more in depth guidance on writing good documentation.
Use our [style guide](./styleguide.md) for more in depth guidance on writing good documentation.
Documentation about Nixpkgs belongs here, this includes 'getting-started'-guides and 'onboarding-guides' for *using* Nixpkgs and the language frameworks it ships.
Documentation about Nixpkgs belongs here.
This includes getting started guides and onboarding guides for *using* Nixpkgs and the language frameworks it ships.
Write **guides** task-first: lead with a working example, then explain in prose.
Write **reference** as the specification of functions and attributes.
We are actively working to generate reference documentation from the [doc-comments](https://github.com/NixOS/rfcs/blob/master/rfcs/0145-doc-strings.md) present in code, which also lets you view it locally with `:doc` in `nix repl`.
We are actively working to generate reference documentation from the [doc-comments](https://github.com/NixOS/rfcs/blob/master/rfcs/0145-doc-strings.md) present in code, which also lets you view it locally with the `:doc` command in `nix repl`, e.g.:
```
nix-repl> :l <nixpkgs>
nix-repl> :doc lib.mapAttrsToList
```
See [Document structure](#document-structure) for a structural template.
@@ -42,23 +49,23 @@ If the build succeeds, the manual will be in `./result/share/doc/nixpkgs/manual.
### Development environment
To reduce repetition, consider using tools from the provided development environment:
Load it from the Nixpkgs documentation directory with
To reduce repetition, consider using tools from the documentation development environment:
```ShellSession
$ cd /path/to/nixpkgs/doc
$ nix-shell
```
To load the development utilities automatically when entering that directory, [set up `nix-direnv`](https://nix.dev/guides/recipes/direnv).
To load the documentation development environment automatically when entering that directory:
Make sure that your local files aren't added to Git history by adding the following lines to `.git/info/exclude` at the root of the Nixpkgs repository:
1. Install [`nix-direnv`](https://search.nixos.org/packages?channel=unstable&query=nix-direnv#show=nix-direnv)
1. Set up direnv in the documentation directory:
```
/**/.envrc
/**/.direnv
```
```ShellSession
$ cd doc
$ echo "use nix" > .envrc
$ direnv allow
```
#### Live preview
@@ -215,7 +222,7 @@ When needed, each convention explains why it exists, so you can make a decision
Note that these conventions are about the **structure** of the manual (and its source files), not about the content that goes in it.
You, as the writer of documentation, are still in charge of its content.
**For prose style, see the [documentation styleguide](./styleguide.md).**
**For prose style, see the [documentation style guide](./styleguide.md).**
### Document structure
@@ -285,7 +292,7 @@ When changing existing content, update formatting if possible, but avoid excessi
### Examples first
Put examples before detailed explanations (see the [styleguide](./styleguide.md) for the rationale).
Put examples before detailed explanations (see the [style guide](./styleguide.md) for the rationale).
Use this structure for each documented item:

View File

@@ -5,7 +5,7 @@ Create a `shell.nix` with the following:
```nix
# shell.nix
let
nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz";
nixpkgs = fetchTarball "https://channels.nixos.org/nixos-unstable/nixexprs.tar.zst";
pkgs = import nixpkgs { };
in
pkgs.mkShell {
@@ -25,7 +25,7 @@ nix-shell
This activates your `shell.nix` and you should see:
```sh
unpacking 'https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz' into the Git cache...
unpacking 'https://channels.nixos.org/nixos-unstable/nixexprs.tar.zst' into the Git cache...
Welcome in your nix shell
```

View File

@@ -53,7 +53,7 @@ Pin Nixpkgs and call the package from `default.nix`:
```nix
# default.nix
let
nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz";
nixpkgs = fetchTarball "https://channels.nixos.org/nixos-unstable/nixexprs.tar.zst";
pkgs = import nixpkgs { };
in
pkgs.callPackage ./package.nix { }

View File

@@ -3,7 +3,7 @@
This hook defaults a variety of environment variables known
to control thread counts to 1. Many of these otherwise default
to `$(nproc)`, which causes massive overloads on build machines
if nix build jobs and build cores are already tuned to fully utilize
if nix build jobs and build cores are already tuned to fully use
compute capacity of a builder without additional parallelism.
Currently sets the following environment variables:

View File

@@ -5,7 +5,7 @@
COSMIC (Computer Operating System Main Interface Components) is a desktop environment developed by
System76, primarily for the Pop!_OS Linux distribution. Applications in the COSMIC ecosystem are
written in Rust and use libcosmic, which builds on the Iced GUI framework. This section explains
how to properly package and integrate COSMIC applications within Nix.
how to package and integrate COSMIC applications within Nix.
### libcosmicAppHook {#ssec-cosmic-libcosmic-app-hook}
@@ -17,7 +17,7 @@ and wrapping applications based on libcosmic. It handles many common requirement
- Managing Vergen environment variables for build-time information
- Setting up Rust linker flags for specific libraries
To use the hook, simply add it to your package's `nativeBuildInputs`:
Add the hook to your package's `nativeBuildInputs`:
```nix
{
@@ -61,8 +61,9 @@ rustPlatform.buildRustPackage {
}
```
Note that `cosmic-settings` is a separate application and not a part of the libcosmic settings
system itself. It's included by default in `libcosmicAppHook` only to provide these fallback theme
> [!Note]
> `cosmic-settings` is a separate application and not a part of the libcosmic settings
> system itself. It's included by default in `libcosmicAppHook` only to provide these fallback theme
settings.
### Icons {#ssec-cosmic-icons}

View File

@@ -63,7 +63,7 @@ For instance, `sqlite-lua` needs `g:sqlite_clib_path` to be set to work. Nixpkgs
- `wrapperArgs`: Extra arguments forwarded to the `makeWrapper` call.
- `wrapRc`: Nix, not being able to write in your `$HOME`, loads the
generated Neovim configuration via the `$VIMINIT` environment variable, i.e. : `export VIMINIT='lua dofile("/nix/store/…-init.lua")'`. This has side effects like preventing Neovim from sourcing your `init.lua` in `$XDG_CONFIG_HOME/nvim` (see bullet 7 of [`:help startup`](https://neovim.io/doc/user/starting.html#startup) in Neovim). Disable it if you want to generate your own wrapper. You can still reuse the generated vimscript init code via `neovim.passthru.initRc`.
- `plugins`: A list of plugins to add to the wrapper.
- `plugins`: A list of plugins to add to the wrapper. If a plugin is not available in nixpkgs, you can [package it yourself](#what-if-your-favourite-vim-plugin-isnt-already-packaged).
- `extraLuaPackages`: A function passed on to `lua.withPackages`.
- `extraPython3Packages`: A function passed on to `python3.withPackages`.
- `withPython3`, `withNodeJs`, `withRuby`, `withPerl` control when to enable neovim

View File

@@ -1,4 +1,4 @@
# Styleguide
# Style guide
Use this page as a reference and style guide for our internal and external documentation.
@@ -90,11 +90,13 @@ Don't describe what the documentation does. Just do it.
**Don't:**
> This section explains how to configure networking.
> The following guide walks you through setting up a web server.
**Do:**
> Configure networking by setting:
> Set up a web server:
### Code Examples

View File

@@ -22,7 +22,7 @@ import <nixpkgs> {
}
```
Note that we set `linker` to `lld`. This is because LLVM has its own linker, called "lld". By setting it, we utilize Clang and lld within this new instance of Nixpkgs. There is a shorthand method for building everything with LLVM: `pkgsLLVM`. This is easier to use with `nix-build` (or `nix build`):
Note that we set `linker` to `lld`. This is because LLVM has its own linker, called "lld". By setting it, we use Clang and lld within this new instance of Nixpkgs. There is a shorthand method for building everything with LLVM: `pkgsLLVM`. This is easier to use with `nix-build` (or `nix build`):
```bash
nix-build -A pkgsLLVM.hello

View File

@@ -105,27 +105,48 @@ There are several ways to tweak how Nix handles a package which has been marked
$ export NIXPKGS_ALLOW_UNFREE=1
```
- It is possible to permanently allow individual unfree packages, while still blocking unfree packages by default using the `allowUnfreePredicate` configuration option in the user configuration file.
This option is a function which accepts a package as a parameter, and returns a boolean. The following example configuration accepts a package and always returns false:
```nix
{ allowUnfreePredicate = (pkg: false); }
```
For a more useful example, try the following. This configuration only allows unfree packages named roon-server and Visual Studio Code:
- To allow specific unfree packages, add their names to your Nixpkgs configuration file:
```nix
{
allowUnfreePredicate =
pkg:
builtins.elem (lib.getName pkg) [
"roon-server"
"vscode"
];
allowUnfreePackages = [
"fence"
"roon-server"
"vscode"
];
}
```
`allowUnfreePackages` permits the listed unfree packages.
In NixOS modules, lists set through `nixpkgs.config.allowUnfreePackages` merge additively across modules. This allows you to declare your unfree exceptions in the same modules that triggered them.
To allow unfree packages programmatically:
```nix
{ lib, ... }:
{
allowUnfreePredicate = pkg: lib.hasPrefix "roon" (lib.getName pkg);
}
```
This permits packages such as `roon-bridge` and `roon-server`.
To combine the list and predicate, set both options:
```nix
{ lib, ... }:
{
allowUnfreePackages = [
"fence"
"vscode"
];
allowUnfreePredicate = pkg: lib.hasPrefix "roon" (lib.getName pkg);
}
```
This permits unfree packages that match either option.
- It is also possible to allow and block licenses that are specifically acceptable or not acceptable, using `allowlistedLicenses` and `blocklistedLicenses`, respectively.
The following example configuration allowlists the licenses `amd` and `wtfpl`:

View File

@@ -1595,17 +1595,76 @@ let
*/
mkDefinition = args@{ file, value, ... }: args // { _type = "definition"; };
/**
Labels a definition with a priority.
See the documentation of `filterOverrides` for the interpretation of the priority value.
Nesting this function usually leads to an invalid definition.
`mkDefault`, `mkOptionDefault`, and `mkForce` partially apply `mkOverride` with common priorities used in the NixOS module system.
# Inputs
`priority`
: A numeric value representing the precedence.
See the documentation of `filterOverrides` for the interpretation of this value.
`content`
: The definition to be labeled with a given priority.
# Examples
:::{.example}
## `lib.modules.mkOverride` usage example
```nix
mkOverride 1000 "hello, world!"
=> { _type = "override"; content = "hello, world!"; priority = 1000; }
```
```nix
(lib.evalModules {
modules = [
{ options.foo = lib.mkOption { }; }
{ config.foo = lib.mkOverride 20 1; }
{ config.foo = lib.mkOverride 10 2; }
];
}).config
=> { foo = 2; }
```
:::
*/
mkOverride = priority: content: {
_type = "override";
inherit priority content;
};
mkOptionDefault = mkOverride 1500; # priority of option defaults
mkDefault = mkOverride 1000; # used in config sections of non-user modules to set a default
/**
Labels a definition with the priority of option declaration defaults.
*/
mkOptionDefault = mkOverride 1500;
/**
Labels a definition with the priority used in config sections of non-user modules to set a default.
*/
mkDefault = mkOverride 1000;
defaultOverridePriority = 100;
mkImageMediaOverride = mkOverride 60; # image media profiles can be derived by inclusion into host config, hence needing to override host config, but do allow user to mkForce
/**
Labels a definition with the priority used in image media profiles.
Image media profiles can be derived by inclusion into host config, hence needing to override host config, but do allow users to `mkForce`.
*/
mkImageMediaOverride = mkOverride 60;
/**
Labels a definition with a high priority (low value).
*/
mkForce = mkOverride 50;
mkVMOverride = mkOverride 10; # used by ‘nixos-rebuild build-vm’
/**
Labels a definition with used by {command}`nixos-rebuild build-vm`.
*/
mkVMOverride = mkOverride 10;
mkFixStrictness = warn "lib.mkFixStrictness has no effect and will be removed. It returns its argument unmodified, so you can just remove any calls." id;

View File

@@ -460,6 +460,7 @@
name = "aaravrav";
github = "aaravrav";
githubId = 37036762;
matrix = "@hepara:matrix.org";
};
aarnphm = {
email = "contact@aarnphm.xyz";
@@ -11513,6 +11514,13 @@
githubId = 58676303;
name = "hhydraa";
};
hideyosh1 = {
email = "penelope.zhong@proton.me";
keys = [ { fingerprint = "01E9 0D3E 815F 84CA 1003 E7D7 2F75 2D18 C2C1 7AF8"; } ];
name = "Penelope Zhong";
github = "hideyosh1";
githubId = 64223175;
};
higebu = {
name = "Yuya Kusakabe";
email = "yuya.kusakabe@gmail.com";
@@ -20094,6 +20102,12 @@
githubId = 52401682;
name = "myul";
};
Myxogastria0808 = {
email = "r.rstudio.c@gmail.com";
github = "Myxogastria0808";
githubId = 78744619;
name = "Yuki Osada";
};
myypo = {
email = "nikirsmcgl@gmail.com";
github = "myypo";

View File

@@ -51,7 +51,10 @@ in
sockets.pwupdd.wantedBy = lib.optional config.users.mutableUsers "sockets.target"; # immutable users do not need password updating
sockets.newidmapd.wantedBy = [ "sockets.target" ];
services."pwupdd@".environment.PWUPDD_OPTS = lib.escapeShellArgs cfg.extraArgs;
services."pwaccessd".environment.PWACCESSD_OPTS = lib.escapeShellArgs cfg.extraArgs;
services."pwaccessd".environment = {
LD_LIBRARY_PATH = config.system.nssModules.path;
PWACCESSD_OPTS = lib.escapeShellArgs cfg.extraArgs;
};
};
environment.systemPackages = [ cfg.package ];

View File

@@ -48,6 +48,7 @@
# Accounts daemon looks for dbus interfaces in $XDG_DATA_DIRS/accountsservice
environment.XDG_DATA_DIRS = "${config.system.path}/share";
environment.LD_LIBRARY_PATH = config.system.nssModules.path;
}
(

View File

@@ -13,7 +13,6 @@ let
mkEnableOption
mkIf
mkOption
mkOverride
mkPackageOption
nameValuePair
recursiveUpdate
@@ -351,13 +350,11 @@ in
fedimintdName: cfg:
(nameValuePair cfg.nginx.fqdn (
lib.mkMerge [
cfg.nginx.config
(lib.mapAttrsRecursive (_: lib.mkDefault) cfg.nginx.config)
{
# Note: we want by default to enable OpenSSL, but it seems anything 100 and above is
# overridden by default value from vhost-options.nix
enableACME = mkOverride 99 true;
forceSSL = mkOverride 99 true;
enableACME = true;
forceSSL = true;
locations.${cfg.nginx.path_ws} = {
proxyPass = "http://127.0.0.1:${toString cfg.api_ws.port}/";
proxyWebsockets = true;

View File

@@ -22,6 +22,7 @@ let
wal_level = "logical";
max_replication_slots = "10";
max_wal_senders = "10";
output_plugin_libraries = "wal2json";
};
};
};

View File

@@ -151,9 +151,9 @@ rec {
unstable = fetchurl rec {
# NOTE: Don't forget to change the hash for staging as well.
version = "11.16";
version = "11.18";
url = "https://dl.winehq.org/wine/source/11.x/wine-${version}.tar.xz";
hash = "sha256-xm4gkDQ9zXJ/f3/S+H7gv7CxGHkMHXRat7ikw6QZfy8=";
hash = "sha256-xigvbU2uzxHzq5+aK2xZj2e+fijDY7osroo8RLYR56Q=";
patches = [
# Also look for root certificates at $NIX_SSL_CERT_FILE
@@ -163,7 +163,7 @@ rec {
# see https://gitlab.winehq.org/wine/wine-staging
staging = fetchFromGitLab {
inherit version;
hash = "sha256-14VEZMMlWCsStm2AJNO+wBPPO67EGDsQyNiFBBtIcUg=";
hash = "sha256-KZCkra0y3XFNrbD2lZ+YUCLyq1POC30Sd4sGCJZuwgQ=";
domain = "gitlab.winehq.org";
owner = "wine";
repo = "wine-staging";

View File

@@ -29,6 +29,10 @@ buildMozillaMach rec {
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
license = lib.licenses.mpl20;
mainProgram = binaryName;
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "mozilla" version // {
product = "firefox";
sw_edition = "beta";
};
};
tests = {
inherit (nixosTests) firefox-beta;

View File

@@ -42,6 +42,11 @@
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
license = lib.licenses.mpl20;
mainProgram = binaryName;
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "mozilla" version // {
product = "firefox";
sw_edition = "devedition";
};
};
tests = {
inherit (nixosTests) firefox-devedition;

View File

@@ -8,7 +8,7 @@ with ocamlPackages;
buildDunePackage {
pname = "jackline";
version = "unstable-2024-10-21";
version = "0.1.0-unstable-2024-10-21";
minimalOCamlVersion = "4.13";

View File

@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "aiken";
version = "1.1.23";
version = "1.1.24";
src = fetchFromGitHub {
owner = "aiken-lang";
repo = "aiken";
tag = "v${finalAttrs.version}";
hash = "sha256-9CPwIqUoOih4711vSEeV3AX1T1GGQ/AeYj7HnWI5UO8=";
hash = "sha256-yG96JwZ/H4/MrLkrmsResRg3HGUfh1Kz3kA6qv0Y62c=";
};
cargoHash = "sha256-98oyeVo3z49DGikhSBMB7QSiz6+I7GkvqJIpOusuEz4=";
cargoHash = "sha256-BDe1GQtKzE2fyKPDdOEriF4wUxONe/jLfnyHiF/dUh4=";
buildInputs = [ openssl ];

View File

@@ -2,7 +2,7 @@
lib,
buildNpmPackage,
copyDesktopItems,
electron_43,
electron_44,
fetchFromGitHub,
makeDesktopItem,
makeWrapper,
@@ -14,21 +14,21 @@
}:
let
electron = electron_43;
electron = electron_44;
in
buildNpmPackage (finalAttrs: {
pname = "appium-inspector";
version = "2026.7.1";
version = "2026.9.2";
src = fetchFromGitHub {
owner = "appium";
repo = "appium-inspector";
tag = "v${finalAttrs.version}";
hash = "sha256-7pxXlY/aifrg4cuGZSgxONF+RPL8P7JcZ6Gobqv2nz4=";
hash = "sha256-ePHLOHEXaigZwoCrZG18K7oYVeFEg3ZhZIKJJHyFQe8=";
};
npmDepsHash = "sha256-W9FWIHhtS2d9xBpIEGB8sWmDfcdyphL+0eCk1+8pu2s=";
npmDepsHash = "sha256-MvDKtSx/1w3s8NjQczEzvxSE6SmJrWb5CUpPYhSX7Ts=";
npmFlags = [ "--ignore-scripts" ];
nativeBuildInputs = [

View File

@@ -0,0 +1,76 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
nix-update-script,
copyDesktopItems,
icoutils,
makeWrapper,
makeDesktopItem,
electron,
}:
buildNpmPackage (finalAttrs: {
pname = "ariang-native";
version = "1.3.14";
strictDeps = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "mayswind";
repo = "AriaNg-Native";
tag = finalAttrs.version;
hash = "sha256-ByQPAZVQEqqjD7th0wq06NdOsAR7YchWpV3LHu4QzTk=";
};
dontNpmBuild = true;
npmDepsFetcherVersion = 2;
npmDepsHash = "sha256-mTu/QcsPq7YoUSuKtS34P+y38oIoB3zyuDL9ELQDoBQ=";
npmFlags = [ "--ignore-scripts" ];
nativeBuildInputs = [
copyDesktopItems
icoutils
makeWrapper
];
desktopItems = with finalAttrs; [
(makeDesktopItem {
name = pname;
desktopName = "AriaNg Native";
genericName = meta.description;
comment = meta.description;
icon = pname;
exec = "${pname} %U";
mimeTypes = [ "x-scheme-handler/magnet" ];
categories = [ "Network" ];
startupWMClass = pname;
})
];
postInstall = with finalAttrs; ''
# Create desktop icons
icotool -x assets/AriaNg.ico
ls *.png | sort -V | while read -r file; do
size=$(echo "$file" | awk -F '_' '{print $3}' | cut -d 'x' -f 1)
mkdir -p "$out/share/icons/hicolor/''${size}x''${size}/apps"
mv "$file" "$out/share/icons/hicolor/''${size}x''${size}/apps/${pname}.png"
done
makeWrapper ${lib.getExe electron} $out/bin/${pname} \
--inherit-argv0 \
--add-flags "$out/lib/node_modules/${pname}"
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Aria2 desktop frontend based on AriaNg with additional desktop features";
homepage = "https://github.com/mayswind/AriaNg-Native";
changelog = "https://github.com/mayswind/AriaNg-Native/releases/tag/${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ProxyVT ];
mainProgram = finalAttrs.pname;
platforms = lib.platforms.linux;
};
})

View File

@@ -12,16 +12,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-generate";
version = "0.23.9";
version = "0.25.0";
src = fetchFromGitHub {
owner = "cargo-generate";
repo = "cargo-generate";
tag = "v${finalAttrs.version}";
hash = "sha256-myakseKwLEjQa9GgcxdWZJWdjMFXh7Wi64CwrN2ZwSU=";
hash = "sha256-x0UkYgYJ1xe6ensm3yU5SEW+nnxHmnN+CbGCJXth8WQ=";
};
cargoHash = "sha256-IAUgpk3HD9znLORCQKNw+AO6NG9GEVWMU/cez3B+CKc=";
cargoHash = "sha256-cXPks2uTUVnVyBXP9JT5Xm87pFkCvPHQy86R7vd2/zU=";
nativeBuildInputs = [ pkg-config ];

View File

@@ -47,13 +47,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit";
version = "367";
version = "368";
src = fetchFromGitHub {
owner = "cockpit-project";
repo = "cockpit";
tag = finalAttrs.version;
hash = "sha256-TWB39cnhU9zgr/FP4FfXEzdMEnjXOs/HamYjSXLVadY=";
hash = "sha256-2bFQwK5L0S84nLSkUeHmbNgBkjBJIxR88t/21h5jmps=";
fetchSubmodules = true;
};

View File

@@ -66,5 +66,6 @@ stdenv.mkDerivation (finalAttrs: {
pkgConfigModules = [ "davs2" ];
maintainers = with lib.maintainers; [ jopejoe1 ];
platforms = lib.platforms.all;
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "davs2_project" finalAttrs.version;
};
})

View File

@@ -0,0 +1,6 @@
{
discord,
...
}@args:
discord.override ({ pname = "discord-canary"; } // removeAttrs args [ "discord" ])

View File

@@ -0,0 +1,6 @@
{
discord,
...
}@args:
discord.override ({ pname = "discord-development"; } // removeAttrs args [ "discord" ])

View File

@@ -0,0 +1,6 @@
{
discord,
...
}@args:
discord.override ({ pname = "discord-ptb"; } // removeAttrs args [ "discord" ])

View File

@@ -1,5 +1,4 @@
{
callPackage,
lib,
stdenv,
discord,
@@ -95,13 +94,11 @@ lib.genAttrs [ "discord" "discord-ptb" "discord-canary" "discord-development" ]
platformName = if stdenv.hostPlatform.isDarwin then "osx" else "linux";
source = sources."${platformName}-${args.branch}";
in
callPackage ./wrapper.nix (
args
// {
inherit pname source;
meta = meta // {
mainProgram = args.binaryName;
};
}
)
args
// {
inherit source;
meta = meta // {
mainProgram = args.binaryName;
};
}
)

View File

@@ -1,12 +1,6 @@
{
# Package metadata
pname,
source,
meta,
binaryName,
desktopName,
self,
branch,
pname ? "discord",
# Feature flags (cross-platform)
withOpenASAR ? false,
withVencord ? false,
@@ -46,7 +40,17 @@
let
inherit (stdenv.hostPlatform) isLinux;
pkgArgs = removeAttrs args [
metadata = (callPackage ./metadata.nix { }).${pname};
inherit (metadata)
source
meta
binaryName
desktopName
self
branch
;
pkgArgs = removeAttrs (args // metadata) [
"branch"
"self"
"unwrappedDiscord"

View File

@@ -15,13 +15,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "folo";
version = "1.13.0";
version = "1.14.0";
src = fetchFromGitHub {
owner = "RSSNext";
repo = "Folo";
tag = "desktop/v${finalAttrs.version}";
hash = "sha256-lK371YSqYcYzVjDJCfAbrl+wdAbDzmT6R4SlZXjiZLc=";
hash = "sha256-16hKEgTv2pWDsoxMG7Ct2xCvjCnmbPK2bymyutb1uW8=";
};
nativeBuildInputs = [
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
;
pnpm = pnpm_11;
fetcherVersion = 4;
hash = "sha256-bdqcY+ylviWHnbIvPxwRZimenXWFS5bJfDeFxMtOVM0=";
hash = "sha256-6ExELKJr6oAkywYSjsw+c24IHtipJ213N74aSzhEUTs=";
};
__structuredAttrs = true;

View File

@@ -215,6 +215,8 @@ freecad-utils.makeCustomizable (
];
platforms = lib.platforms.linux;
mainProgram = "freecad";
# repology claims `freecadweb` as vendor, but newer CVEs (e.g. CVE-2026-73235) are listed with freecad/freecad
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "freecad" finalAttrs.version;
};
})
)

View File

@@ -8,14 +8,14 @@
python3Packages.buildPythonApplication rec {
__structuredAttrs = true;
pname = "graphify";
version = "0.9.61";
version = "0.9.66";
pyproject = true;
src = fetchFromGitHub {
owner = "Graphify-Labs";
repo = "graphify";
tag = "v${version}";
hash = "sha256-9AEbHmqqZv/fBioUMNv60KAb/FpvWpwC6QhGSdBxISs=";
hash = "sha256-u6LCj74qI7x0TS972VOL2sYTyhRVBkFy7R+pIycCI4U=";
};
build-system = [

View File

@@ -2,8 +2,37 @@ Fix CMake install path
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1879,11 +1879,11 @@
@@ -212,12 +212,12 @@
CACHE STRING "wait time in nanosecond to acquire a lock.")
set(GRN_RELATIVE_PLUGINS_DIR
"${CMAKE_INSTALL_LIBDIR}/${GRN_PROJECT_NAME}/plugins")
-set(GRN_PLUGINS_DIR "${CMAKE_INSTALL_PREFIX}/${GRN_RELATIVE_PLUGINS_DIR}")
+set(GRN_PLUGINS_DIR "${CMAKE_INSTALL_FULL_LIBDIR}/${GRN_PROJECT_NAME}/plugins")
set(GRN_PLUGIN_SUFFIX "${CMAKE_SHARED_MODULE_SUFFIX}")
set(GRN_RELATIVE_GGML_BACKENDS_DIR
"${CMAKE_INSTALL_LIBDIR}/${GRN_PROJECT_NAME}/ggml")
set(GRN_GGML_BACKENDS_DIR
- "${CMAKE_INSTALL_PREFIX}/${GRN_RELATIVE_GGML_BACKENDS_DIR}")
+ "${CMAKE_INSTALL_FULL_LIBDIR}/${GRN_PROJECT_NAME}/ggml")
set(GRN_DLL_FILENAME "libgroonga${CMAKE_SHARED_LIBRARY_SUFFIX}")
set(GRN_QUERY_EXPANDER_TSV_RELATIVE_SYNONYMS_FILE
"${GRN_CONFIG_DIR}/synonyms.tsv")
@@ -225,11 +225,11 @@
set(GRN_RELATIVE_RUBY_SCRIPTS_DIR
"${CMAKE_INSTALL_LIBDIR}/${GRN_PROJECT_NAME}/scripts/ruby")
set(GRN_RUBY_SCRIPTS_DIR
- "${CMAKE_INSTALL_PREFIX}/${GRN_RELATIVE_RUBY_SCRIPTS_DIR}")
+ "${CMAKE_INSTALL_FULL_LIBDIR}/${GRN_PROJECT_NAME}/scripts/ruby")
set(GRN_RELATIVE_LANGUAGE_MODELS_DIR
"${CMAKE_INSTALL_DATADIR}/${GRN_PROJECT_NAME}/language_models")
set(GRN_LANGUAGE_MODELS_DIR
- "${CMAKE_INSTALL_PREFIX}/${GRN_RELATIVE_LANGUAGE_MODELS_DIR}")
+ "${CMAKE_INSTALL_FULL_DATADIR}/${GRN_PROJECT_NAME}/language_models")
if(GRN_C_COMPILER_GNU_LIKE)
set(GRN_C_COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS} $<$<CONFIG:Debug>:-g3 -O0>")
@@ -2407,11 +2407,11 @@
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
-set(bindir "\${exec_prefix}/${CMAKE_INSTALL_BINDIR}")

View File

@@ -4,6 +4,7 @@
cmake,
fetchurl,
kytea,
libstemmer,
msgpack-c,
mecab,
pkg-config,
@@ -11,6 +12,7 @@
testers,
xxhash,
zstd,
versionCheckHook,
postgresqlPackages,
suggestSupport ? false,
zeromq,
@@ -23,11 +25,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "groonga";
version = "16.1.0";
version = "16.1.1";
src = fetchurl {
url = "https://packages.groonga.org/source/groonga/groonga-${finalAttrs.version}.tar.gz";
hash = "sha256-4QNwMIYHvHtJnwq4gMT5fdKtifhe3PHStTTjAa4/t7M=";
hash = "sha256-94u5rLxaW0xued2W++xQ2YvYB/+bqV3JMfD43zDhzI8=";
};
patches = [
@@ -37,6 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cmake
mecab # mecab-config
pkg-config
];
@@ -46,6 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
zstd
mecab
kytea
libstemmer
msgpack-c
]
++ lib.optionals lz4Support [
@@ -61,11 +65,14 @@ stdenv.mkDerivation (finalAttrs: {
env.NIX_CFLAGS_COMPILE = lib.optionalString zlibSupport "-I${zlib.dev}/include";
strictDeps = true;
__structuredAttrs = true;
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
passthru.tests = {
inherit (postgresqlPackages) pgroonga;
version = testers.testVersion {
package = finalAttrs.finalPackage;
};
pkg-config = testers.hasPkgConfigModules {
package = finalAttrs.finalPackage;
moduleNames = [ "groonga" ];
@@ -74,10 +81,14 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
homepage = "https://groonga.org/";
changelog = "https://groonga.org/docs/news/${lib.versions.major finalAttrs.version}.html#release-${
lib.replaceStrings [ "." ] [ "-" ] finalAttrs.version
}";
description = "Open-source fulltext search engine and column store";
license = lib.licenses.lgpl21;
maintainers = [ ];
maintainers = with lib.maintainers; [ anish ];
platforms = lib.platforms.all;
mainProgram = "groonga";
longDescription = ''
Groonga is an open-source fulltext search engine and column store.
It lets you write high-performance applications that requires fulltext search.

View File

@@ -169,6 +169,8 @@ stdenv.mkDerivation (finalAttrs: {
env.ESBUILD_BINARY_PATH = lib.getExe esbuild';
# fix for node-gyp, see https://github.com/nodejs/node-gyp/issues/1191#issuecomment-301243919
env.npm_config_nodedir = nodejs;
# Prevent Python (via node-gyp) from writing bytecode to ensure build determinism
env.PYTHONDONTWRITEBYTECODE = "1";
buildPhase = ''
runHook preBuild

View File

@@ -20,14 +20,14 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "incus-ui-canonical";
version = "0.21.6";
version = "0.21.7";
src = fetchFromGitHub {
owner = "zabbly";
repo = "incus-ui-canonical";
# only use tags prefixed by incus- they are the tested fork versions
tag = "incus-${finalAttrs.version}";
hash = "sha256-emg02O8WUk9RWsA3Uz+bIfNXkE1IUa3ob1Xm14AAj98=";
hash = "sha256-8RxAgtcKHCOMPOebENSmDsf7K7BYSv965GU2/xxP8GY=";
};
offlineCache = fetchYarnDeps {

View File

@@ -151,13 +151,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "inspircd";
version = "4.12.0";
version = "4.12.1";
src = fetchFromGitHub {
owner = "inspircd";
repo = "inspircd";
rev = "v${finalAttrs.version}";
sha256 = "sha256-bzhh6fAAHahfVRgy+8HTqGVY+Rzk7MSmKTbaFZBILUY=";
sha256 = "sha256-crIxqqBMwu+lYnftlOdZ/jNvOh0vS7Zr0YDMAR8wlfs=";
};
outputs = [

View File

@@ -6,13 +6,13 @@
}:
maven.buildMavenPackage (finalAttrs: {
pname = "keycloak-magic-link";
version = "0.75";
version = "0.84";
src = fetchFromGitHub {
owner = "p2-inc";
repo = "keycloak-magic-link";
tag = "v${finalAttrs.version}";
hash = "sha256-k8+DRkMVhJyifXMdoxS3fPO7LPrfw2rUrZQ/zDBzLVo=";
hash = "sha256-t+OACAr9TJvJbjAQZzFbMf33CuhK9s/n+MESPRD4lUU=";
};
mvnHash = "sha256-nSJvNSgo1gftGYmx0lFXHIeIhpZ+Ph1KvOHz8jF3voE=";

View File

@@ -6,13 +6,13 @@
}:
maven.buildMavenPackage (finalAttrs: {
pname = "keycloak-orgs";
version = "0.180";
version = "0.182";
src = fetchFromGitHub {
owner = "p2-inc";
repo = "keycloak-orgs";
tag = "v${finalAttrs.version}";
hash = "sha256-M9adZ3oNf4ZcPgSVT++66ltznCc2vJM+eOrYrUk9qI4=";
hash = "sha256-X+PjAw7L6373Zp2hikxP9+KotqBziUDo/aRuw2gnias=";
};
mvnHash = "sha256-kU9nmiu/hWJaEfQzdVKC/IIWqZarRPpOqDP/bJQIIEY=";

View File

@@ -6,6 +6,7 @@
jre_headless,
nixosTests,
callPackage,
bash,
confFile ? null,
plugins ? [ ],
extraFeatures ? [ ],
@@ -36,6 +37,10 @@ stdenv.mkDerivation (finalAttrs: {
jre_headless
];
buildInputs = [
bash
];
patches = [
# Make home.dir and config.dir configurable through the
# KC_HOME_DIR and KC_CONF_DIR environment variables.
@@ -59,10 +64,9 @@ stdenv.mkDerivation (finalAttrs: {
${lib.concatMapStringsSep "\n" (pl: "install_plugin ${lib.escapeShellArg pl}") plugins}
''
+ ''
patchShebangs bin/kc.sh
export KC_HOME_DIR=$(pwd)
export KC_CONF_DIR=$(pwd)/conf
bin/kc.sh build ${featuresSubcommand}
bash bin/kc.sh build ${featuresSubcommand}
runHook postBuild
'';

View File

@@ -107,5 +107,8 @@ stdenv.mkDerivation (finalAttrs: {
];
maintainers = lib.teams.apparmor.members;
platforms = lib.platforms.linux;
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "canonical" finalAttrs.version // {
product = "apparmor";
};
};
})

View File

@@ -1,11 +1,11 @@
{
"packageVersion": "156.0-1",
"packageVersion": "156.0.1-1",
"source": {
"rev": "156.0-1",
"hash": "sha256-r5i+lFRxx5pcMcDotl9gIEuRytqyY0/opAYTcljUF4c="
"rev": "156.0.1-1",
"hash": "sha256-XPHluJoaPEerOw6FRhBCXd/B5Ndrr72MR3fjJaH7xsY="
},
"firefox": {
"version": "156.0",
"hash": "sha512-BGMwSgiYZw0kgRT2b3wjUWauI5fDmJp8h4yW8MWJ+7uh8ch0MtqiJjO5+t2UOUrfHcN/DmfSKwZsde/l7q11zg=="
"version": "156.0.1",
"hash": "sha512-gKMqeSaLZyIG9Ud8pr/eYgy3QZsnqsCQ4B8G3waZDuC72Bu1xKp4rB0O2yaxM7HG+hHLZSJEXszXDILnGaJNWw=="
}
}

View File

@@ -10,7 +10,7 @@
buildGoModule (finalAttrs: {
pname = "livekit-cli";
version = "2.18.6";
version = "2.18.8";
__structuredAttrs = true;
__darwinAllowLocalNetworking = true;
@@ -19,10 +19,10 @@ buildGoModule (finalAttrs: {
owner = "livekit";
repo = "livekit-cli";
tag = "v${finalAttrs.version}";
hash = "sha256-kdvlrRS9sKi84QL1DRsB0gTQoP+J4qYaIAtQUh61goY=";
hash = "sha256-IuqgAaaZZblAl8a/rs2xE+zhuY4s3UNND+kmQOq/yPg=";
};
vendorHash = "sha256-AF1764F5g7dfo26G0Veoo0D0xiMPDArARR3Osm8htEI=";
vendorHash = "sha256-B/woYmWYrdtL+qFDQzvBmyXLEo2HarOjRQlEX/GcPNQ=";
# Use nixpkgs portaudio package + pkg-config rather than relying on a vendored
# git submodule, similar to the homebrew solution

View File

@@ -7,12 +7,12 @@
let
pname = "lmstudio";
version_aarch64-linux = "0.4.23-1";
hash_aarch64-linux = "sha256-MzPygFB0StS8KTuZWq0AR+ZtiQIJ353QHlgpddOa19Y=";
version_aarch64-darwin = "0.4.23-1";
hash_aarch64-darwin = "sha256-9FD1ENl1YIpF+/VM2JKRXChQZswHy/NEHX3bC6Mynw4=";
version_x86_64-linux = "0.4.23-1";
hash_x86_64-linux = "sha256-wb3xlSgeJdySGvXJHrJQIDUkDc4SFxQMQwNtbPMDj9g=";
version_aarch64-linux = "0.4.25-1";
hash_aarch64-linux = "sha256-4+8yo3ZW5+Tlza31LnL6kp1fJutgB74WZsduT9uo4IQ=";
version_aarch64-darwin = "0.4.25-1";
hash_aarch64-darwin = "sha256-i6uFfD0pAOFKtGQ18NFHHeBo8WXnYbucF3CT6KJeF3Q=";
version_x86_64-linux = "0.4.25-1";
hash_x86_64-linux = "sha256-7KRnRGyDOCRpfovvqzAP5Saf35hOPuQ4X8uthQLwfFM=";
meta = {
description = "LM Studio is an easy to use desktop app for experimenting with local and open-source Large Language Models (LLMs)";

View File

@@ -13,11 +13,11 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "maven";
version = "4.0.0-rc-6";
version = "4.0.0-rc-7";
src = fetchurl {
url = "mirror://apache/maven/maven-4/${finalAttrs.version}/binaries/apache-maven-${finalAttrs.version}-bin.tar.gz";
hash = "sha256-/B0VCwGZnwlmKbuvSOiuQ00ATV3DbDOWK8i+ZXnT+R0=";
hash = "sha256-lRxjJnaH1Bi7nAbAjiVUQyhYNRmRm5Zheqci+BOxnm8=";
};
sourceRoot = ".";

View File

@@ -1,11 +1,13 @@
{
lib,
stdenvNoCC,
bintools,
fetchurl,
lib,
makeWrapper,
patchelf,
bintools,
stdenvNoCC,
testers,
dpkg,
# Linked dynamic libraries
alsa-lib,
at-spi2-atk,
@@ -46,15 +48,20 @@
pipewire,
vulkan-loader,
wayland, # ozone/wayland
# Command line programs
coreutils,
# command line arguments which are always set e.g "--disable-gpu"
commandLineArgs ? "",
# Will crash without.
systemd,
# Loaded at runtime.
libexif,
pciutils,
# Additional dependencies according to other distros
## Ubuntu
curl,
@@ -73,27 +80,38 @@
## Gentoo
bzip2,
libcap,
# Necessary for USB audio devices.
libpulseaudio,
pulseSupport ? true,
adwaita-icon-theme,
gsettings-desktop-schemas,
# For video acceleration via VA-API (--enable-features=VaapiVideoDecoder)
libva,
libvaSupport ? true,
# For Vulkan support (--enable-features=Vulkan)
addDriverRunpath,
# For QT support
undmg,
# Enables Edge's "Use QT" appearance to introspect the user's Plasma theme
plasmaSupport ? false,
qt6,
# Edge AAD sync
kdePackages,
# Edge Specific and AAD sync
cacert,
libsecret,
# Edge Specific
libuuid,
# Create a symlink at $out/bin/microsoft-edge-stable
withSymlink ? true,
}:
let
pname = "microsoft-edge";
opusWithCustomModes = libopus.override { withCustomModes = true; };
deps = [
@@ -115,15 +133,20 @@ let
gcc-unwrapped.lib
gdk-pixbuf
glib
gtk3
gtk4
harfbuzz
icu
libcap
libdrm
liberation_ttf
libexif
libgbm
libglvnd
libkrb5
libpng
libsecret
libuuid
libx11
libxcb
libxcomposite
@@ -138,7 +161,6 @@ let
libxscrnsaver
libxshmfence
libxtst
libgbm
nspr
nss
opusWithCustomModes
@@ -152,124 +174,178 @@ let
vulkan-loader
wayland
wget
libsecret
libuuid
gtk3
gtk4
]
++ lib.optional pulseSupport libpulseaudio
++ lib.optional libvaSupport libva
++ lib.optionals plasmaSupport [
qt6.qtbase
qt6.qtwayland
]
++ lib.optionals pulseSupport [ libpulseaudio ]
++ lib.optionals libvaSupport [ libva ];
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "microsoft-edge";
version = "154.0.4258.37";
src = fetchurl {
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-xvopdHM5kTIbRsQGS3hc3sWhTYzd0YK8X9oFfjfnYD0=";
};
# With strictDeps on, some shebangs were not being patched correctly
# ie, $out/share/microsoft/msedge/microsoft-edge
strictDeps = false;
nativeBuildInputs = [
makeWrapper
patchelf
dpkg
kdePackages.plasma-integration
kdePackages.breeze
];
buildInputs = [
# needed for XDG_ICON_DIRS
adwaita-icon-theme
glib
gtk3
gtk4
# needed for GSETTINGS_SCHEMAS_PATH
gsettings-desktop-schemas
];
linux = stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname meta;
version = "154.0.4258.37";
rpath = lib.makeLibraryPath deps + ":" + lib.makeSearchPathOutput "lib" "lib64" deps;
binpath = lib.makeBinPath deps;
src = fetchurl {
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-xvopdHM5kTIbRsQGS3hc3sWhTYzd0YK8X9oFfjfnYD0=";
};
installPhase = ''
runHook preInstall
# With strictDeps on, some shebangs were not being patched correctly
# ie, $out/share/microsoft/msedge/microsoft-edge
strictDeps = false;
appname=msedge
dist=stable
nativeBuildInputs = [
makeWrapper
patchelf
dpkg
];
exe=$out/bin/microsoft-edge
buildInputs = [
# needed for XDG_ICON_DIRS
adwaita-icon-theme
glib
gtk3
gtk4
# needed for GSETTINGS_SCHEMAS_PATH
gsettings-desktop-schemas
];
mkdir -p $out/bin
cp -v -a usr/share $out/share
cp -v -a opt/microsoft $out/share/microsoft
rpath = lib.makeLibraryPath deps + ":" + lib.makeSearchPathOutput "lib" "lib64" deps;
binpath = lib.makeBinPath deps;
# replace bundled vulkan-loader
rm -v $out/share/microsoft/$appname/libvulkan.so.1
ln -v -s -t "$out/share/microsoft/$appname" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1"
installPhase = ''
runHook preInstall
substituteInPlace $out/share/microsoft/$appname/microsoft-edge \
--replace-fail 'CHROME_WRAPPER' 'WRAPPER'
substituteInPlace $out/share/applications/microsoft-edge.desktop \
--replace-fail /usr/bin/microsoft-edge-$dist $exe
substituteInPlace $out/share/applications/com.microsoft.Edge.desktop \
--replace-fail /usr/bin/microsoft-edge-$dist $exe
substituteInPlace $out/share/gnome-control-center/default-apps/microsoft-edge.xml \
--replace-fail /opt/microsoft/msedge $exe
appname=msedge
dist=stable
for icon_file in $out/share/microsoft/msedge/product_logo_[0-9]*.png; do
num_and_suffix="''${icon_file##*logo_}"
if [ $dist = "stable" ]; then
icon_size="''${num_and_suffix%.*}"
else
icon_size="''${num_and_suffix%_*}"
fi
logo_output_prefix="$out/share/icons/hicolor"
logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps"
mkdir -p "$logo_output_path"
mv "$icon_file" "$logo_output_path/microsoft-edge.png"
done
exe=$out/bin/microsoft-edge-$dist
# "--simulate-outdated-no-au" disables auto updates and browser outdated popup
makeWrapper "$out/share/microsoft/$appname/microsoft-edge" "$exe" \
--prefix QT_PLUGIN_PATH : "${qt6.qtbase}/lib/qt-6/plugins" \
--prefix QT_PLUGIN_PATH : "${qt6.qtwayland}/lib/qt-6/plugins" \
--prefix NIXPKGS_QT6_QML_IMPORT_PATH : "${qt6.qtwayland}/lib/qt-6/qml" \
--prefix LD_LIBRARY_PATH : "$rpath" \
--prefix PATH : "$binpath" \
--suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addDriverRunpath.driverLink}/share" \
--set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" \
--set CHROME_WRAPPER "microsoft-edge-$dist" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}" \
--add-flags "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'" \
--add-flags ${lib.escapeShellArg commandLineArgs}
mkdir -p $out/bin $out/share
cp -v -a opt/* $out/share
cp -v -a usr/share/* $out/share
# Edge specific set liboneauth
patchelf --set-rpath $rpath $out/share/microsoft/$appname/liboneauth.so
# replace bundled vulkan-loader
rm -v $out/share/microsoft/$appname/libvulkan.so.1
ln -v -s -t "$out/share/microsoft/$appname" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1"
for elf in $out/share/microsoft/$appname/{msedge,msedge-sandbox,msedge_crashpad_handler}; do
patchelf --set-rpath $rpath $elf
patchelf --set-interpreter ${bintools.dynamicLinker} $elf
done
substituteInPlace $out/share/microsoft/$appname/microsoft-edge \
--replace-fail 'CHROME_WRAPPER' 'WRAPPER'
substituteInPlace $out/share/applications/microsoft-edge.desktop \
--replace-fail /usr/bin/microsoft-edge-$dist $exe
substituteInPlace $out/share/applications/com.microsoft.Edge.desktop \
--replace-fail /usr/bin/microsoft-edge-$dist $exe
substituteInPlace $out/share/gnome-control-center/default-apps/microsoft-edge.xml \
--replace-fail /opt/microsoft/$appname $exe
${lib.optionalString withSymlink ''
ln -s $out/bin/microsoft-edge $out/bin/microsoft-edge-stable
''}
for icon_file in $out/share/microsoft/msedge/product_logo_[0-9]*.png; do
num_and_suffix="''${icon_file##*logo_}"
if [ $dist = "stable" ]; then
icon_size="''${num_and_suffix%.*}"
else
icon_size="''${num_and_suffix%_*}"
fi
logo_output_prefix="$out/share/icons/hicolor"
logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps"
mkdir -p "$logo_output_path"
mv "$icon_file" "$logo_output_path/microsoft-edge.png"
done
runHook postInstall
'';
# "--simulate-outdated-no-au" disables auto updates and browser outdated popup
makeWrapper "$out/share/microsoft/$appname/microsoft-edge" "$exe" \
${lib.optionalString plasmaSupport ''
--prefix QT_PLUGIN_PATH : "${qt6.qtbase}/lib/qt-6/plugins" \
--prefix QT_PLUGIN_PATH : "${qt6.qtwayland}/lib/qt-6/plugins" \
--prefix QT_PLUGIN_PATH : "${kdePackages.plasma-integration}/lib/qt-6/plugins" \
--prefix QT_PLUGIN_PATH : "${kdePackages.breeze}/lib/qt-6/plugins" \
--prefix NIXPKGS_QT6_QML_IMPORT_PATH : "${qt6.qtwayland}/lib/qt-6/qml" \
''} \
--prefix LD_LIBRARY_PATH : "$rpath" \
--prefix PATH : "$binpath" \
--suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addDriverRunpath.driverLink}/share" \
--set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" \
--set CHROME_WRAPPER "microsoft-edge-$dist" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}" \
--add-flags "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'" \
--add-flags ${lib.escapeShellArg commandLineArgs}
passthru.updateScript = ./update.py;
# Edge specific set liboneauth
patchelf --set-rpath $rpath $out/share/microsoft/$appname/liboneauth.so
for elf in $out/share/microsoft/$appname/{msedge,msedge-sandbox,msedge_crashpad_handler}; do
patchelf --set-rpath $rpath $elf
patchelf --set-interpreter ${bintools.dynamicLinker} $elf
done
runHook postInstall
'';
postInstall = lib.optionalString withSymlink ''
ln -s $out/bin/microsoft-edge-stable $out/bin/microsoft-edge
'';
passthru = {
updateScript = ./update.sh;
tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
};
});
darwin = stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname meta;
version = "154.0.4258.37";
uuid = "f7dec597-801d-4c4b-ae51-c8a53c78925c";
src = fetchurl {
url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/${finalAttrs.uuid}/MicrosoftEdge-${finalAttrs.version}.dmg";
hash = "sha256-R385aGFby0WK64wxHGCbKnDymsUIG+lzTpQfVO2NBgA=";
};
dontPatch = true;
dontConfigure = true;
dontBuild = true;
dontFixup = true;
nativeBuildInputs = [
makeWrapper
undmg
];
sourceRoot = ".";
installPhase = ''
runHook preInstall
mkdir -p $out/Applications
cp -r *.app $out/Applications
mkdir -p $out/bin
# "--simulate-outdated-no-au" disables auto updates and browser outdated popup
makeWrapper $out/Applications/Microsoft\ Edge.app/Contents/MacOS/Microsoft\ Edge $out/bin/microsoft-edge-stable \
--add-flags "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'" \
--add-flags ${lib.escapeShellArg commandLineArgs}
runHook postInstall
'';
postInstall = lib.optionalString withSymlink ''
ln -s $out/bin/microsoft-edge-stable $out/bin/microsoft-edge
'';
passthru = {
updateScript = ./update.sh;
tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
};
});
meta = {
changelog = "https://learn.microsoft.com/en-us/deployedge/microsoft-edge-relnote-stable-channel";
description = "Web browser from Microsoft";
homepage = "https://www.microsoft.com/en-us/edge";
changelog = "https://learn.microsoft.com/en-us/deployedge/microsoft-edge-relnote-stable-channel";
license = lib.licenses.unfree;
mainProgram = "microsoft-edge";
maintainers = with lib.maintainers; [
cholli
ulrikstrid
@@ -278,7 +354,17 @@ stdenvNoCC.mkDerivation (finalAttrs: {
jonhermansen
iedame
];
platforms = [ "x86_64-linux" ];
platforms = lib.platforms.darwin ++ [
"x86_64-linux"
];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
mainProgram = "microsoft-edge-stable";
};
})
in
if stdenvNoCC.hostPlatform.isDarwin then
darwin
else if stdenvNoCC.hostPlatform.isLinux then
linux
else
throw "Unsupported platform ${stdenvNoCC.hostPlatform.system}"

View File

@@ -1,46 +0,0 @@
#! /usr/bin/env nix-shell
#! nix-shell -i python3 -p python3Packages.packaging python3Packages.python-debian common-updater-scripts
import subprocess
from collections import OrderedDict
from os.path import abspath, dirname
from urllib import request
from debian.deb822 import Packages
from debian.debian_support import Version
PIN_PATH = dirname(abspath(__file__)) + "/default.nix"
def packages():
packages_url = "https://packages.microsoft.com/repos/edge/dists/stable/main/binary-amd64/Packages"
handle = request.urlopen(packages_url)
return handle
def latest_packages(packages: bytes):
latest_packages: OrderedDict[str, Packages] = {}
for package in Packages.iter_paragraphs(packages, use_apt_pkg=False):
name: str = package["Package"]
if not name.startswith("microsoft-edge-stable"):
continue
channel = name.replace("microsoft-edge-", "")
if channel not in latest_packages:
latest_packages[channel] = package
else:
old_package = latest_packages[channel]
if old_package.get_version() < package.get_version(): # type: ignore
latest_packages[channel] = package
return OrderedDict(sorted(latest_packages.items(), key=lambda x: x[0]))
def write_expression():
latest = latest_packages(packages())
version = Version.re_valid_version.match(latest["stable"]["Version"]).group(
"upstream_version"
)
subprocess.run(["update-source-version", "microsoft-edge", version])
subprocess.run(["update-source-version", "msedgedriver", version])
write_expression()

View File

@@ -0,0 +1,257 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p curl gawk nix common-updater-scripts python3Packages.python-debian
# shellcheck shell=bash
set -euo pipefail
DEFAULT_NIX="$(realpath "./pkgs/by-name/mi/microsoft-edge/package.nix")"
DRIVER_NIX="$(realpath "./pkgs/by-name/ms/msedgedriver/package.nix")"
get_linux_version_info() {
local packages_url
local response
local version
local current_version
local download_url
packages_url="https://packages.microsoft.com/repos/edge/dists/stable/main/binary-amd64/Packages"
response="$(curl --silent --fail "$packages_url")"
read -r version download_url <<< "$(
python3 -c '
import sys
from debian.deb822 import Packages
from debian.debian_support import Version
latest = None
for package in Packages.iter_paragraphs(sys.stdin, use_apt_pkg=False):
if package["Package"] != "microsoft-edge-stable":
continue
if latest is None or latest.get_version() < package.get_version():
latest = package
if latest is None:
raise SystemExit("microsoft-edge-stable not found")
version = Version.re_valid_version.match(
latest["Version"]
).group("upstream_version")
url = (
"https://packages.microsoft.com/repos/edge/"
+ latest["Filename"]
)
print(version, url)
' <<< "$response"
)"
current_version="$(
awk '
/^ linux = stdenvNoCC.mkDerivation/ { in_block=1 }
in_block && /version = "/ {
match($0, /version = "([^"]+)"/, arr)
print arr[1]
exit
}
in_block && /^ \};/ { exit }
' "$DEFAULT_NIX"
)"
echo "$version" "$current_version" "$download_url"
}
get_darwin_version_info() {
local redirect_url
local final_url
local version
local current_version
local uuid
redirect_url="https://go.microsoft.com/fwlink/?linkid=2192091"
final_url="$(
curl \
--silent \
--show-error \
--fail \
--location \
--output /dev/null \
--write-out '%{url_effective}' \
"$redirect_url"
)"
if [[ "$final_url" =~ /files/([^/]+)/MicrosoftEdge-([0-9.]+)\.dmg$ ]]; then
uuid="${BASH_REMATCH[1]}"
version="${BASH_REMATCH[2]}"
else
echo "Could not parse Darwin URL: $final_url" >&2
exit 1
fi
current_version="$(
awk '
/^ darwin = stdenvNoCC.mkDerivation/ { in_block=1 }
in_block && /version = "/ {
match($0, /version = "([^"]+)"/, arr)
print arr[1]
exit
}
in_block && /^ \};/ { exit }
' "$DEFAULT_NIX"
)"
echo "$version" "$current_version" "$uuid" "$final_url"
}
update_linux() {
local version_info
local version
local current_version
local download_url
local new_hash
read -ra version_info <<< "$(get_linux_version_info)"
version="${version_info[0]}"
current_version="${version_info[1]}"
download_url="${version_info[2]}"
if [[ "$current_version" = "$version" ]]; then
echo "[Nix] Linux microsoft-edge: same version"
return 0
fi
new_hash="$(
nix --extra-experimental-features nix-command \
hash convert \
--hash-algo sha256 \
--to sri \
"$(nix-prefetch-url "$download_url" 2>/dev/null)"
)"
sed -i \
"/^ linux = stdenvNoCC.mkDerivation/,/^ });/s/version = \".*\"/version = \"$version\"/" \
"$DEFAULT_NIX"
sed -i \
"/^ linux = stdenvNoCC.mkDerivation/,/^ });/s|hash = \".*\"|hash = \"$new_hash\"|" \
"$DEFAULT_NIX"
echo "[Nix] Linux microsoft-edge: $current_version -> $version with hash $new_hash"
}
update_darwin() {
local version_info
local version
local current_version
local uuid
local url
local new_hash
read -ra version_info <<< "$(get_darwin_version_info)"
version="${version_info[0]}"
current_version="${version_info[1]}"
uuid="${version_info[2]}"
url="${version_info[3]}"
if [[ "$current_version" = "$version" ]]; then
echo "[Nix] Darwin microsoft-edge: same version"
return 0
fi
new_hash="$(
nix --extra-experimental-features nix-command \
hash convert \
--hash-algo sha256 \
--to sri \
"$(nix-prefetch-url "$url" 2>/dev/null)"
)"
sed -i \
"/^ darwin = stdenvNoCC.mkDerivation/,/^ });/s/version = \".*\"/version = \"$version\"/" \
"$DEFAULT_NIX"
sed -i \
"/^ darwin = stdenvNoCC.mkDerivation/,/^ });/s|uuid = \".*\"|uuid = \"$uuid\"|" \
"$DEFAULT_NIX"
sed -i \
"/^ darwin = stdenvNoCC.mkDerivation/,/^ });/s|hash = \".*\"|hash = \"$new_hash\"|" \
"$DEFAULT_NIX"
echo "[Nix] Darwin microsoft-edge: $current_version -> $version with hash $new_hash"
}
update_msedgedriver() {
local version="$1"
local current_version
local new_hash
local driver_arch
local url
current_version="$(
awk '
/pname = "msedgedriver";/ { in_block=1 }
in_block && /version = "/ {
match($0, /version = "([^"]+)"/, arr)
print arr[1]
exit
}
' "$DRIVER_NIX"
)"
if [[ "$current_version" = "$version" ]]; then
echo "[Nix] msedgedriver: same version"
return 0
fi
# All supported driver archives use the Linux Edge version.
# The archive names correspond to the driverArch mapping in
# msedgedriver/package.nix
declare -A hashes=(
[mac64_m1]=""
[linux64]=""
)
for driver_arch in mac64_m1 linux64; do
url="https://msedgedriver.microsoft.com/${version}/edgedriver_${driver_arch}.zip"
new_hash="$(
nix --extra-experimental-features nix-command \
hash convert \
--hash-algo sha256 \
--to sri \
"$(nix-prefetch-url --unpack "$url" 2>/dev/null)"
)"
hashes["$driver_arch"]="$new_hash"
echo "[Nix] msedgedriver ${driver_arch}: $new_hash"
done
sed -i \
"/pname = \"msedgedriver\";/,/^ meta = {/s/version = \".*\"/version = \"$version\"/" \
"$DRIVER_NIX"
for driver_arch in mac64_m1 linux64; do
sed -i \
"/pname = \"msedgedriver\";/,/^ meta = {/s|${driver_arch} = \".*\"|${driver_arch} = \"${hashes[$driver_arch]}\"|" \
"$DRIVER_NIX"
done
echo "[Nix] msedgedriver: $current_version -> $version"
}
update_linux
update_darwin
# Linux is the canonical platform for the shared msedgedriver version
linux_version_info="$(get_linux_version_info)"
read -r linux_version _ _ <<< "$linux_version_info"
update_msedgedriver "$linux_version"

View File

@@ -7,7 +7,7 @@
buildLua {
pname = "youtube-chat";
version = "unstable-2024-06-08";
version = "0-unstable-2024-06-08";
src = fetchFromGitHub {
owner = "BanchouBoo";

View File

@@ -14,39 +14,44 @@ stdenvNoCC.mkDerivation (finalAttrs: {
pname = "msedgedriver";
version = "154.0.4258.37";
src = fetchzip {
url = "https://msedgedriver.microsoft.com/${finalAttrs.version}/edgedriver_linux64.zip";
hash = "sha256-XbOQl9FyckF3Qybb+40474ImJDKahBkekPoydf/TxV0=";
stripRoot = false;
};
src =
let
driverArch =
{
aarch64-darwin = "mac64_m1";
x86_64-linux = "linux64";
}
.${stdenvNoCC.hostPlatform.system};
in
fetchzip {
url = "https://msedgedriver.microsoft.com/${finalAttrs.version}/edgedriver_${driverArch}.zip";
hash =
{
mac64_m1 = "sha256-6nwe/vRPh5MkQLTiZNXepfFsLtILwoK925mgLCUUVNg=";
linux64 = "sha256-XbOQl9FyckF3Qybb+40474ImJDKahBkekPoydf/TxV0=";
}
.${driverArch};
stripRoot = false;
};
buildInputs = [
buildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [
glib
libxcb
nspr
nss
];
nativeBuildInputs = [ autoPatchelfHook ];
nativeBuildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [
autoPatchelfHook
];
installPhase =
if stdenvNoCC.hostPlatform.isDarwin then
''
runHook preInstall
installPhase = ''
runHook preInstall
mkdir -p $out/{Applications/msedgedriver,bin}
cp -R . $out/Applications/msedgedriver
install -D msedgedriver $out/bin/msedgedriver
runHook postInstall
''
else
''
runHook preInstall
install -m777 -D "msedgedriver" $out/bin/msedgedriver
runHook postInstall
'';
runHook postInstall
'';
meta = {
homepage = "https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver";
@@ -54,7 +59,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
maintainers = microsoft-edge.meta.maintainers;
platforms = [
platforms = lib.platforms.darwin ++ [
"x86_64-linux"
];
mainProgram = "msedgedriver";

View File

@@ -0,0 +1,44 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
netbox,
python,
}:
buildPythonPackage (finalAttrs: {
pname = "netbox-cable-labels";
version = "0.1.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "jsenecal";
repo = "netbox-cable-labels";
tag = "v${finalAttrs.version}";
hash = "sha256-aTZXCHRyumfYk50bc0rFiDGscZt1n+fsW2uYZAkZwOQ=";
};
build-system = [ setuptools ];
nativeCheckInputs = [ netbox ];
preFixup = ''
export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH
'';
dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion;
pythonImportsCheck = [ "netbox_cable_labels" ];
passthru.pluginName = "netbox_cable_labels";
meta = {
description = "NetBox plugin for automated label generated based on a user defined template";
homepage = "https://github.com/jsenecal/netbox-cable-labels";
changelog = "https://github.com/jsenecal/netbox-cable-labels/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,47 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
icalendar,
netbox,
python,
}:
buildPythonPackage (finalAttrs: {
pname = "netbox-notices";
version = "1.3.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "jsenecal";
repo = "netbox-notices";
tag = "v${finalAttrs.version}";
hash = "sha256-He7F4DAkrrhjNorhJ8Aok8out0txvmtSbiZ4BzRVPWg=";
};
build-system = [ setuptools ];
dependencies = [ icalendar ];
nativeCheckInputs = [ netbox ];
preFixup = ''
export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH
'';
dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion;
pythonImportsCheck = [ "notices" ];
passthru.pluginName = "notices";
meta = {
description = "NetBox plugin to track maintenance and outage events against NetBox models";
homepage = "https://github.com/jsenecal/netbox-notices";
changelog = "https://github.com/jsenecal/netbox-notices/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,47 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
sqids,
netbox,
python,
}:
buildPythonPackage (finalAttrs: {
pname = "netbox-sqids";
version = "0.2.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "jsenecal";
repo = "netbox-sqids";
tag = "v${finalAttrs.version}";
hash = "sha256-B9BUjaKUqORlITbjiDYFetCaSx8lL0ECRU9yuPkoA0k=";
};
build-system = [ setuptools ];
dependencies = [ sqids ];
nativeCheckInputs = [ netbox ];
preFixup = ''
export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH
'';
dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion;
pythonImportsCheck = [ "netbox_sqids" ];
passthru.pluginName = "netbox_sqids";
meta = {
description = "NetBox plugin for short, URL-safe, globally unique identifiers";
homepage = "https://github.com/jsenecal/netbox-sqids";
changelog = "https://github.com/jsenecal/netbox-sqids/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
};
})

View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "e05bb884082da19a1a78e8a5f8a64417",
"content-hash": "1f220d5db23e158a3958000e9ad56f0d",
"packages": [
{
"name": "fidry/cpu-core-counter",
@@ -189,16 +189,16 @@
},
{
"name": "nikic/php-parser",
"version": "v5.8.0",
"version": "v5.9.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "044a6a392ff8ad0d61f14370a5fbbd0a0107152f"
"reference": "9e33da9553fe7786f0962b35f4e4ecf01be89def"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/044a6a392ff8ad0d61f14370a5fbbd0a0107152f",
"reference": "044a6a392ff8ad0d61f14370a5fbbd0a0107152f",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/9e33da9553fe7786f0962b35f4e4ecf01be89def",
"reference": "9e33da9553fe7786f0962b35f4e4ecf01be89def",
"shasum": ""
},
"require": {
@@ -240,9 +240,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v5.8.0"
"source": "https://github.com/nikic/PHP-Parser/tree/v5.9.0"
},
"time": "2026-07-04T14:30:18+00:00"
"time": "2026-09-13T18:51:52+00:00"
},
{
"name": "phar-io/manifest",
@@ -364,16 +364,16 @@
},
{
"name": "phpunit/php-code-coverage",
"version": "14.3.1",
"version": "14.3.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "6ce313bb110384148d1dc7695a99175f59529069"
"reference": "96af7aaa1e15561a67b2fa5b98906b063ebec9c2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6ce313bb110384148d1dc7695a99175f59529069",
"reference": "6ce313bb110384148d1dc7695a99175f59529069",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/96af7aaa1e15561a67b2fa5b98906b063ebec9c2",
"reference": "96af7aaa1e15561a67b2fa5b98906b063ebec9c2",
"shasum": ""
},
"require": {
@@ -381,7 +381,7 @@
"ext-libxml": "*",
"ext-mbstring": "*",
"ext-xmlwriter": "*",
"nikic/php-parser": "^5.8.0",
"nikic/php-parser": "^5.9.0",
"php": ">=8.4",
"phpunit/php-text-template": "^6.0",
"sebastian/complexity": "^6.0",
@@ -392,7 +392,7 @@
"theseer/tokenizer": "^2.0.1"
},
"require-dev": {
"phpunit/phpunit": "^13.3.1"
"phpunit/phpunit": "^13.3.4"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -430,7 +430,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/14.3.1"
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/14.3.5"
},
"funding": [
{
@@ -450,7 +450,7 @@
"type": "tidelift"
}
],
"time": "2026-08-16T05:23:47+00:00"
"time": "2026-09-25T08:28:49+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -747,16 +747,16 @@
},
{
"name": "phpunit/phpunit",
"version": "13.3.1",
"version": "13.3.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "fc024931d6ad047404e9d86536735923fe63a06b"
"reference": "1b482b9a77774705a5c4a47ab7d60819d2589e90"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fc024931d6ad047404e9d86536735923fe63a06b",
"reference": "fc024931d6ad047404e9d86536735923fe63a06b",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1b482b9a77774705a5c4a47ab7d60819d2589e90",
"reference": "1b482b9a77774705a5c4a47ab7d60819d2589e90",
"shasum": ""
},
"require": {
@@ -770,14 +770,14 @@
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
"php": ">=8.4.1",
"phpunit/php-code-coverage": "^14.3",
"phpunit/php-file-iterator": "^7.0.1",
"phpunit/php-code-coverage": "^14.3.5",
"phpunit/php-file-iterator": "^7.0.2",
"phpunit/php-invoker": "^7.0.0",
"phpunit/php-text-template": "^6.0.0",
"phpunit/php-timer": "^9.0.0",
"sebastian/cli-parser": "^5.0.1",
"sebastian/comparator": "^8.4",
"sebastian/diff": "^9.0",
"sebastian/diff": "^9.0.1",
"sebastian/environment": "^9.3.2",
"sebastian/exporter": "^8.2.1",
"sebastian/file-filter": "^1.0",
@@ -827,7 +827,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/13.3.1"
"source": "https://github.com/sebastianbergmann/phpunit/tree/13.3.5"
},
"funding": [
{
@@ -835,7 +835,7 @@
"type": "other"
}
],
"time": "2026-08-13T13:14:23+00:00"
"time": "2026-09-25T08:41:20+00:00"
},
{
"name": "psr/container",
@@ -2050,16 +2050,16 @@
},
{
"name": "symfony/console",
"version": "v8.1.5",
"version": "v8.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "d07c06839e33047e2c894a6793248f3fb66c8129"
"reference": "29afb89f4e941f68a6e90f28e3f52ff1f6793a7d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/d07c06839e33047e2c894a6793248f3fb66c8129",
"reference": "d07c06839e33047e2c894a6793248f3fb66c8129",
"url": "https://api.github.com/repos/symfony/console/zipball/29afb89f4e941f68a6e90f28e3f52ff1f6793a7d",
"reference": "29afb89f4e941f68a6e90f28e3f52ff1f6793a7d",
"shasum": ""
},
"require": {
@@ -2126,7 +2126,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v8.1.5"
"source": "https://github.com/symfony/console/tree/v8.1.7"
},
"funding": [
{
@@ -2146,7 +2146,7 @@
"type": "tidelift"
}
],
"time": "2026-08-21T14:29:57+00:00"
"time": "2026-09-13T10:55:57+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -2636,16 +2636,16 @@
},
{
"name": "symfony/process",
"version": "v8.1.5",
"version": "v8.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "d863f5e70d7c87abb906ac11b61f83036093000b"
"reference": "10823b09358e690df4ff943e24e8492bb1019fc3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/d863f5e70d7c87abb906ac11b61f83036093000b",
"reference": "d863f5e70d7c87abb906ac11b61f83036093000b",
"url": "https://api.github.com/repos/symfony/process/zipball/10823b09358e690df4ff943e24e8492bb1019fc3",
"reference": "10823b09358e690df4ff943e24e8492bb1019fc3",
"shasum": ""
},
"require": {
@@ -2677,7 +2677,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/process/tree/v8.1.5"
"source": "https://github.com/symfony/process/tree/v8.1.7"
},
"funding": [
{
@@ -2697,20 +2697,20 @@
"type": "tidelift"
}
],
"time": "2026-08-21T17:47:34+00:00"
"time": "2026-09-02T12:40:29+00:00"
},
{
"name": "symfony/service-contracts",
"version": "v3.7.1",
"version": "v3.7.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "c0a284bab1ed8aa0417e3d69250ab437739563a0"
"reference": "15e6a07ec2a2c75ceb1b21dd98105ee8456d2257"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/c0a284bab1ed8aa0417e3d69250ab437739563a0",
"reference": "c0a284bab1ed8aa0417e3d69250ab437739563a0",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/15e6a07ec2a2c75ceb1b21dd98105ee8456d2257",
"reference": "15e6a07ec2a2c75ceb1b21dd98105ee8456d2257",
"shasum": ""
},
"require": {
@@ -2764,7 +2764,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/v3.7.1"
"source": "https://github.com/symfony/service-contracts/tree/v3.7.3"
},
"funding": [
{
@@ -2784,20 +2784,20 @@
"type": "tidelift"
}
],
"time": "2026-06-16T09:55:08+00:00"
"time": "2026-07-27T15:39:01+00:00"
},
{
"name": "symfony/string",
"version": "v8.1.2",
"version": "v8.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "286a76b7255e5cc4bf0101a0bc5388ecf1c38ccc"
"reference": "d950140b5f56f31901e5b7a0c04ffc3a3deb943c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/286a76b7255e5cc4bf0101a0bc5388ecf1c38ccc",
"reference": "286a76b7255e5cc4bf0101a0bc5388ecf1c38ccc",
"url": "https://api.github.com/repos/symfony/string/zipball/d950140b5f56f31901e5b7a0c04ffc3a3deb943c",
"reference": "d950140b5f56f31901e5b7a0c04ffc3a3deb943c",
"shasum": ""
},
"require": {
@@ -2854,7 +2854,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v8.1.2"
"source": "https://github.com/symfony/string/tree/v8.1.7"
},
"funding": [
{
@@ -2874,7 +2874,7 @@
"type": "tidelift"
}
],
"time": "2026-07-28T07:35:25+00:00"
"time": "2026-09-11T14:51:16+00:00"
},
{
"name": "theseer/tokenizer",
@@ -3082,16 +3082,16 @@
},
{
"name": "phpstan/phpdoc-parser",
"version": "2.3.3",
"version": "2.3.5",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
"reference": "fb19eedd2bb67ff8cf7a5502ad329e701d6398a3"
"reference": "148cefffaf0233e4c08cc13db8a195a56dd6dfe9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fb19eedd2bb67ff8cf7a5502ad329e701d6398a3",
"reference": "fb19eedd2bb67ff8cf7a5502ad329e701d6398a3",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/148cefffaf0233e4c08cc13db8a195a56dd6dfe9",
"reference": "148cefffaf0233e4c08cc13db8a195a56dd6dfe9",
"shasum": ""
},
"require": {
@@ -3123,17 +3123,17 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.3"
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.5"
},
"time": "2026-07-08T07:01:06+00:00"
"time": "2026-08-31T16:05:28+00:00"
},
{
"name": "phpstan/phpstan",
"version": "2.2.9",
"version": "2.2.16",
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/13d6b4f347bad222da436580c8304fa6f83e6bd0",
"reference": "13d6b4f347bad222da436580c8304fa6f83e6bd0",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/46a6d9060e5a7763adfcc21ebcb8b504ebdbcb92",
"reference": "46a6d9060e5a7763adfcc21ebcb8b504ebdbcb92",
"shasum": ""
},
"require": {
@@ -3189,7 +3189,7 @@
"type": "github"
}
],
"time": "2026-08-22T07:38:16+00:00"
"time": "2026-09-25T09:31:51+00:00"
},
{
"name": "phpstan/phpstan-deprecation-rules",
@@ -3244,22 +3244,22 @@
},
{
"name": "phpstan/phpstan-phpunit",
"version": "2.0.18",
"version": "2.0.19",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-phpunit.git",
"reference": "f5dc20ff8082d02339b60cab68ec3eb0d859fb30"
"reference": "33a190a5e8e69fd18308443a80d4f43f42d43604"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/f5dc20ff8082d02339b60cab68ec3eb0d859fb30",
"reference": "f5dc20ff8082d02339b60cab68ec3eb0d859fb30",
"url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/33a190a5e8e69fd18308443a80d4f43f42d43604",
"reference": "33a190a5e8e69fd18308443a80d4f43f42d43604",
"shasum": ""
},
"require": {
"phar-io/version": "^3.2",
"php": "^7.4 || ^8.0",
"phpstan/phpstan": "^2.2.3"
"phpstan/phpstan": "^2.2.6"
},
"conflict": {
"phpunit/phpunit": "<7.0"
@@ -3296,9 +3296,9 @@
],
"support": {
"issues": "https://github.com/phpstan/phpstan-phpunit/issues",
"source": "https://github.com/phpstan/phpstan-phpunit/tree/2.0.18"
"source": "https://github.com/phpstan/phpstan-phpunit/tree/2.0.19"
},
"time": "2026-07-04T12:16:09+00:00"
"time": "2026-09-26T17:07:06+00:00"
},
{
"name": "phpstan/phpstan-strict-rules",
@@ -3503,16 +3503,16 @@
},
{
"name": "symfony/filesystem",
"version": "v8.1.5",
"version": "v8.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "6b2f4a0eeb28b5d74f90862592923a654bc629b3"
"reference": "7599ebb855fede59413ddb7f15198d67bfcae7ba"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/6b2f4a0eeb28b5d74f90862592923a654bc629b3",
"reference": "6b2f4a0eeb28b5d74f90862592923a654bc629b3",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/7599ebb855fede59413ddb7f15198d67bfcae7ba",
"reference": "7599ebb855fede59413ddb7f15198d67bfcae7ba",
"shasum": ""
},
"require": {
@@ -3550,7 +3550,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/filesystem/tree/v8.1.5"
"source": "https://github.com/symfony/filesystem/tree/v8.1.6"
},
"funding": [
{
@@ -3570,7 +3570,7 @@
"type": "tidelift"
}
],
"time": "2026-08-21T12:16:08+00:00"
"time": "2026-08-23T10:06:25+00:00"
}
],
"aliases": [],
@@ -3579,7 +3579,7 @@
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
"php": "~8.4.0 || ~8.5.0",
"php": "~8.4.0 || ~8.5.0 || ~8.6.0",
"ext-dom": "*",
"ext-pcre": "*",
"ext-reflection": "*",

View File

@@ -8,17 +8,17 @@
(php.withExtensions ({ enabled, all }: enabled ++ [ all.pcov ])).buildComposerProject2
(finalAttrs: {
pname = "paratest";
version = "7.24.1";
version = "7.25.0";
src = fetchFromGitHub {
owner = "paratestphp";
repo = "paratest";
tag = "v${finalAttrs.version}";
hash = "sha256-wNdZyZ7r9UpXCJwE4yucEg9FmWCy06HRr56s1XZQWB0=";
hash = "sha256-rvxDqtcZ6KbhjX5rBkiPn1FxqT1s+YtYfIwhMyTTTZU=";
};
composerLock = ./composer.lock;
vendorHash = "sha256-LomuNhr/g9Fa6du0xPcRHPSEXDLRcbqEOqha9wwtY7M=";
vendorHash = "sha256-bszTB7FcalfGLywtjn4qt2kBBDqyESUc/a20IfMpQ6Y=";
passthru.updateScript = ./update.sh;

View File

@@ -15,16 +15,16 @@ let
# update-script-start: urls
urls = {
x86_64-linux = {
url = "https://download.jetbrains.com/python/pycharm-2026.2.0.1.tar.gz";
hash = "sha256-SjfLLRVwNVPGHoFNjgFL+kcwhQhHDeX5aMTpZFt3FnU=";
url = "https://download.jetbrains.com/python/pycharm-2026.2.3.tar.gz";
hash = "sha256-6OT75Nq0Q5DQn2geBZoxbmksq9JLLhHOmP92yBIPoxM=";
};
aarch64-linux = {
url = "https://download.jetbrains.com/python/pycharm-2026.2.0.1-aarch64.tar.gz";
hash = "sha256-8ptqeCpY+rsjJxXbj++XZb/a68brWQ7UYsT5ZWIidCc=";
url = "https://download.jetbrains.com/python/pycharm-2026.2.3-aarch64.tar.gz";
hash = "sha256-waxrdED02JRiQdYCIg6dua+sdfQYMcoh3FFozfNonQ4=";
};
aarch64-darwin = {
url = "https://download.jetbrains.com/python/pycharm-2026.2.0.1-aarch64.dmg";
hash = "sha256-X3YP6mtKkBvBp2UoQWfwX5AjenwwwKTSmP9GUESVDdQ=";
url = "https://download.jetbrains.com/python/pycharm-2026.2.3-aarch64.dmg";
hash = "sha256-o4hXS1XSwywItdc7oDAsZpCBBgrCCYjbt2d+hD4s77A=";
};
};
# update-script-end: urls
@@ -38,8 +38,8 @@ jetbrains.mkJetBrainsProduct {
product = "PyCharm";
# update-script-start: version
version = "2026.2.0.1";
buildNumber = "262.8665.369";
version = "2026.2.3";
buildNumber = "262.10968.92";
# update-script-end: version
src = fetchurl (urls.${system} or (throw "Unsupported system: ${system}"));

View File

@@ -2,7 +2,6 @@
lib,
stdenv,
fetchzip,
gitUpdater,
bashNonInteractive,
tk,
tclPackages,
@@ -17,11 +16,11 @@
tcl.mkTclDerivation (finalAttrs: {
pname = "remind";
version = "06.02.10";
version = "06.03.04";
src = fetchzip {
url = "https://dianne.skoll.ca/projects/remind/download/remind-${finalAttrs.version}.tar.gz";
hash = "sha256-R6kceXLzg5CRMYAgMyhnmKxWT49ayXIFm/IpXuDgl8I=";
hash = "sha256-EIcnNTzBUreqAZK8pEUkwU9l+J07d24pvzFlOJ84Q1o=";
};
buildInputs = [
@@ -38,7 +37,7 @@ tcl.mkTclDerivation (finalAttrs: {
# as rem2pdf is currently not build since it requires the JSON::MaybeXS,
# Pango and Cairo Perl modules.
substituteInPlace scripts/tkremind.in \
--replace-fail "exec wish" "exec ${lib.getExe' tk "wish"}" \
--replace-fail '@TCLSH@' '${lib.getExe' tcl "tclsh"}' \
--replace-fail 'set Remind "remind"' "set Remind \"$out/bin/remind\"" \
--replace-fail 'set Rem2PDF "rem2pdf"' "set Rem2PDF \"$out/bin/rem2pdf\""
'';
@@ -51,9 +50,7 @@ tcl.mkTclDerivation (finalAttrs: {
];
};
passthru.updateScript = gitUpdater {
ignoredVersions = "-BETA";
};
passthru.updateScript = ./update.sh;
meta = {
homepage = "https://dianne.skoll.ca/projects/remind/";

View File

@@ -0,0 +1,7 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p coreutils gnused nix-update
updateUrl="https://dianne.skoll.ca/projects/remind/"
version=$(curl -sL "${updateUrl}" \
| sed -nEe '/(BETA|\.sig)/q;/>remind/s/.*>remind-([^<]*).tar.gz<.*/\1/p')
nix-update --version="$version" remind

View File

@@ -26,16 +26,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "restate";
version = "1.7.10";
version = "1.7.12";
src = fetchFromGitHub {
owner = "restatedev";
repo = "restate";
tag = "v${finalAttrs.version}";
hash = "sha256-LVzgyaY7v44tzzcRcAdWFEa7DZfzYnZvI8k4tiDHB3Q=";
hash = "sha256-UL6FVyydzqNAsHorqQXbcXRZCZcQ0DCZho1x23YM9+o=";
};
cargoHash = "sha256-b1xwzpqef9WHhcXIgzb/eIhNrsXuNskQAIRti8wdgMQ=";
cargoHash = "sha256-bKGJZ5gmp+sG3BuMoT0i62fDJFC1mNu9iOEQFEf7rRA=";
env = {
PROTOC = lib.getExe protobuf;

View File

@@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "sarasa-gothic";
version = "1.0.41";
version = "1.0.42";
src = fetchurl {
# Use the 'ttc' files here for a smaller closure size.
# (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${finalAttrs.version}/Sarasa-TTC-${finalAttrs.version}.zip";
hash = "sha256-XEi+/xE0ogGGmUknVlYgo8Zs4szj6+NP74yPh3T8kos=";
hash = "sha256-I9jrDiXC0qhiioKVMHYyl7j3ltlOLoZt9AE5dwr8uug=";
};
sourceRoot = ".";

View File

@@ -28,7 +28,7 @@
}:
let
version = "0.2.2";
version = "0.3";
in
stdenv.mkDerivation {
pname = "scopehal-apps";
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
owner = "ngscopeclient";
repo = "scopehal-apps";
tag = "v${version}";
hash = "sha256-LhkhSuoj6lHz3zB4U37qDkMxfV1UktIjwJvwbVGKDDM=";
hash = "sha256-zA1kRGEMM/71PAH0vfy7OdJHf80eSPXW9T9H8kb30n0=";
fetchSubmodules = true;
};

View File

@@ -48,13 +48,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "sdrangel";
version = "7.27.1";
version = "7.27.2";
src = fetchFromGitHub {
owner = "f4exb";
repo = "sdrangel";
tag = "v${finalAttrs.version}";
hash = "sha256-rdPXqA0ySnqh/rlMlfcDLyAd6egbggWHrRQRnXeQPFM=";
hash = "sha256-Hq43N6wK8qhGmVOWaslDcPMCLFznzdgziLZq0Ver/AI=";
};
__structuredAttrs = true;

View File

@@ -18,11 +18,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "sgt-puzzles";
version = "20260912.ea09098";
version = "20260923.616da16";
src = fetchurl {
url = "https://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${finalAttrs.version}.tar.gz";
hash = "sha256-UFgy+02CaCyWXISID9Qu3+1t7F8JMLVaSmR0v9iQRPQ=";
hash = "sha256-zEGcgGC04ivjmKoD4wZR+84Ubu5RBkXDA/tvXxt3t44=";
};
sgt-puzzles-menu = fetchurl {

View File

@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "simplebluez";
version = "0.11.0";
version = "1.1.0";
src = fetchFromGitHub {
owner = "simpleble";
repo = "SimpleBLE";
rev = "v${finalAttrs.version}";
hash = "sha256-SWZdVWBC8udwkn195FdvsXSniMtzd8+WfnMsARLYSQ4=";
hash = "sha256-GNLD62w5zTfW7CaknaZmU0jBro92HFw3gA29KJqOHGA=";
};
outputs = [

View File

@@ -7,13 +7,13 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "slint-tr-extractor";
version = "1.17.1";
version = "1.18.1";
src = fetchCrate {
inherit (finalAttrs) pname version;
hash = "sha256-ytJLH7CcfLjpzRXljTUZS1rzueBljGXwpDOpKKdBJ+k=";
hash = "sha256-QgVPJ607mEOSbKU/o+osZ4rgvKOaf5gBHYwW0TBi1sk=";
};
cargoHash = "sha256-D+wHG+e2gVt7I7h0KobY4bLkphZJXWaTCoSp2gpNctE=";
cargoHash = "sha256-/a39Jc29XdirQNWjt4Fu9sUGqAxlB0rtYEiU3Kv1rP0=";
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];

View File

@@ -7,16 +7,16 @@
}:
buildNpmPackage rec {
pname = "todoist-cli";
version = "5.3.6";
version = "5.4.2";
src = fetchFromGitHub {
owner = "Doist";
repo = "todoist-cli";
rev = "v${version}";
sha256 = "sha256-x1zoHqNXWCwv2wQS56H3Z5DUxWTXFbcaYlupOvm/lfs=";
sha256 = "sha256-1WoWzIrZQT8bQTUQl55e8E7oCqLKmjSbm6aJB7GWga8=";
};
npmDepsHash = "sha256-ll3UnmbJrvzv6F5LvhJRMkyA3FRxaiJvVCwk0Wy81Ks=";
npmDepsHash = "sha256-0GOgPDvNC/oaPA3ZV3SfFziyDLh/6aiw50k+ztJsvxw=";
doCheck = true;

View File

@@ -8,13 +8,13 @@
buildGo126Module (finalAttrs: {
pname = "tsgolint";
version = "7.0.2001";
version = "7.0.2003";
src = fetchFromGitHub {
owner = "oxc-project";
repo = "tsgolint";
tag = "v${finalAttrs.version}";
hash = "sha256-UU5tNa/rOxDWW7TwE1SrhzkVWvHRTe82YbK/o42+vuA=";
hash = "sha256-Bux2WAskdj0jRWJyhRzcSv+L0hITl0RJUbdnsg04aCc=";
fetchSubmodules = true;
};
@@ -34,6 +34,7 @@ buildGo126Module (finalAttrs: {
(finalAttrs.src + "/patches/0003-fix-early-return-from-invalid-tsconfig-for-better-er.patch")
(finalAttrs.src + "/patches/0004-fix-collections-avoid-internal-json-import-in-ordere.patch")
(finalAttrs.src + "/patches/0005-perf-vfs-cache-ReadFile-results-in-cachedvfs.patch")
(finalAttrs.src + "/patches/0006-perf-add-opt-in-node-count-checker-assignment.patch")
];
postPatch =
@@ -44,7 +45,7 @@ buildGo126Module (finalAttrs: {
'';
proxyVendor = true;
vendorHash = "sha256-YdoEXZ9M1sK/v5AlHjYS7aa8XPJXU4mFVUyVS6JFUlo=";
vendorHash = "sha256-X+JPv4SLJXyF938H34ldDgK2XsuORbDxbWhJ0svYTAs=";
subPackages = [ "cmd/tsgolint" ];

View File

@@ -13,13 +13,13 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "xwayland-satellite";
version = "0.8.2";
version = "0.8.3";
src = fetchFromGitHub {
owner = "Supreeeme";
repo = "xwayland-satellite";
tag = "v${finalAttrs.version}";
hash = "sha256-Mb7jpqnrcYCfNSItIkkHpuR3YxWFxPuIBfcwNKlRBkk=";
hash = "sha256-eFEjCCniMCKeWU0PcZNv+tDYe08SLFPjRplyPY8OFt4=";
};
postPatch = ''
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail '/usr/local/bin' "$out/bin"
'';
cargoHash = "sha256-Saa3SRsQuY6u6pfBGezaEExOt/ReblnrG7pAXjA6Dk8=";
cargoHash = "sha256-gMGFvnbxM3hD5fmkSimaFd87GEf6BXFe/MGjoS6VNVU=";
nativeBuildInputs = [
installShellFiles
@@ -78,6 +78,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
if-loop69420
sodiboo
getchoo
mithicspirit
];
mainProgram = "xwayland-satellite";
platforms = lib.platforms.linux;

View File

@@ -16,13 +16,13 @@
flutter344.buildFlutterApplication rec {
pname = "yubioath-flutter";
version = "7.4.1";
version = "7.4.2";
src = fetchFromGitHub {
owner = "Yubico";
repo = "yubioath-flutter";
tag = version;
hash = "sha256-7863P463ZOtYcrCN9KLQIj2YOTmKH62PFap5Ja7m5Ig=";
hash = "sha256-TtMWXJTWjIGoU980j2taPXvJudQLUf1Lbin+DgdXTpM=";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;

View File

@@ -44,6 +44,7 @@ stdenvNoCC.mkDerivation {
maintainers = with lib.maintainers; [
timbertson
tiramiseb
hideyosh1
];
homepage = "http://gfxmonk.net/dist/0install/gnome-shell-impatience.xml";
};

View File

@@ -61,6 +61,8 @@ lib.makeScope pkgs.newScope (
elm-verify-examples = callPackage ./packages/elm-verify-examples { };
elm-watch = callPackage ./packages/elm-watch { };
elm-xref = callPackage ./packages/elm-xref { };
lamdera = callPackage ./packages/lamdera { };

View File

@@ -0,0 +1,57 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
makeBinaryWrapper,
nodejs,
nix-update-script,
}:
buildNpmPackage (finalAttrs: {
pname = "elm-watch";
version = "1.2.6";
inherit nodejs;
src = fetchFromGitHub {
owner = "lydell";
repo = "elm-watch";
tag = "v${finalAttrs.version}";
hash = "sha256-qfKXbONIqlfv9joAMhAxGMinfHaZvKEz2FL6YFl7OSI=";
fetchSubmodules = true;
};
npmDepsHash = "sha256-ae4bUl5/GGAtYR7cc8om3C4/XjCUe8v3sWpIhIXBGV8=";
npmFlags = [ "--ignore-scripts" ];
dontNpmInstall = true;
nativeBuildInputs = [ makeBinaryWrapper ];
installPhase = ''
runHook preInstall
local moduleDir="$out/lib/node_modules/elm-watch"
mkdir -p "$moduleDir"
npm prune --omit=dev --ignore-scripts --no-save
cp -r build/. "$moduleDir/"
cp -r node_modules "$moduleDir/"
mkdir -p "$out/bin"
makeWrapper ${nodejs}/bin/node "$out/bin/elm-watch" \
--add-flags "$moduleDir/index.js"
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "`elm make` in watch mode. Fast and reliable";
homepage = "https://github.com/lydell/elm-watch";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ Myxogastria0808 ];
mainProgram = "elm-watch";
};
})

View File

@@ -3,6 +3,7 @@
buildNpmPackage,
fetchFromGitHub,
elmPackages,
fetchpatch,
}:
buildNpmPackage (finalAttrs: {
@@ -16,7 +17,16 @@ buildNpmPackage (finalAttrs: {
hash = "sha256-J58NTSMo2uxpWFnPX+AGHVAqQOiRfgBxYzis/PZp1MA=";
};
npmDepsHash = "sha256-LZynUf2M+g31mia41jw7vmGNugUUUAX/TehDxQ7j+YY=";
patches = [
# Upstream PR:
# https://github.com/zwilias/elm-xref/pull/17
(fetchpatch {
url = "https://github.com/turboMaCk/elm-xref/commit/55ad630c1afc110197a4785bd2a4cd2388a1d160.patch";
hash = "sha256-67s8gozhkWN8ci/S3OSwnNABdATY7gpBPy7zaZJPamw=";
})
];
npmDepsHash = "sha256-QH/F0vhva806AL5F3ySMAyfyrLLqCV32WMGTi715X5I=";
nativeBuildInputs = [
elmPackages.elm

View File

@@ -51,6 +51,16 @@ in
};
}) { }
);
julia_113-bin = wrapJulia (
callPackage (import ./generic-bin.nix {
version = "1.13.1";
sha256 = {
x86_64-linux = "0209grj6fn7yjs021rc99cwxza7p2abcv2fh263jq2m6vv41hbhg";
aarch64-linux = "1q2wxknfsh681qfsm9dbk4xc49r6qn1m2yd85wffld27w9i1hd3q";
aarch64-darwin = "0zqgkb294y2ih643z4fbil229hf6nvak98fbq9vbghkp8yfjbq53";
};
}) { }
);
julia_110 = wrapJulia (
callPackage
(import ./generic.nix {
@@ -103,4 +113,26 @@ in
{ }
)
);
julia_113 = wrapJulia (
callPackage
(import ./generic.nix {
version = "1.13.1";
hash = "sha256-HCAGvO16H4tsklmO9lt7JPx0rqrcU1NaReTGGXABBXw=";
patches = [
# Upstream only sets CMAKE_BUILD_RPATH on Darwin (JuliaLang/julia#63103).
# On Linux in the Nix sandbox, intermediate build tools like llvm-min-tblgen
# need build_shlibdir in RPATH to find bundled libz/libzstd during LLVM compilation.
./patches/1.13/0001-llvm-zlib-rpath.patch
];
})
(
if stdenv.cc.isGNU then
{
stdenv = gcc14Stdenv;
gfortran = gfortran14;
}
else
{ }
)
);
}

View File

@@ -66,6 +66,9 @@ stdenv.mkDerivation {
inherit version patches;
strictDeps = true;
__structuredAttrs = true;
src =
{
x86_64-linux = fetchurl {

View File

@@ -68,6 +68,7 @@ stdenv.mkDerivation rec {
};
strictDeps = true;
__structuredAttrs = true;
nativeBuildInputs = [
which

View File

@@ -0,0 +1,19 @@
From: Sergei Volkov <taranarmo@gmail.com>
Subject: [PATCH] llvm: add zlib and zstd build rpath
When building LLVM as part of Julia source build, intermediate build tools
like llvm-min-tblgen dynamically link against zlib/zstd located in build_shlibdir.
Upstream (JuliaLang/julia#63103) added CMAKE_BUILD_RPATH only for Darwin,
so on Linux in the Nix build sandbox these tools fail to load libz.so.1 unless
build_shlibdir is also added to CMAKE_BUILD_RPATH.
--- a/deps/llvm.mk
+++ b/deps/llvm.mk
@@ -108,6 +108,7 @@ LLVM_CMAKE += -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD:STRING="$(LLVM_EXPERIMENTAL_T
LLVM_CMAKE += -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_HOST_TRIPLE="$(or $(XC_HOST),$(BUILD_MACHINE))"
LLVM_CMAKE += -DLLVM_ENABLE_ZLIB=FORCE_ON -DZLIB_ROOT="$(build_prefix)"
LLVM_CMAKE += -DLLVM_ENABLE_ZSTD=FORCE_ON -DZSTD_ROOT="$(build_prefix)"
+LLVM_CMAKE += -DCMAKE_BUILD_RPATH="$(build_shlibdir)"
ifeq ($(USE_POLLY_ACC),1)
LLVM_CMAKE += -DPOLLY_ENABLE_GPGPU_CODEGEN=ON
endif

View File

@@ -66,19 +66,19 @@ let
in
{
php82 = mkPhp {
version = "8.2.33";
hash = "sha256-U2Lyp6DnFoznIv6gBIsaHSjg98wmXEF99nDGVnBpUBg=";
version = "8.2.34";
hash = "sha256-BGfWOoGQFoEdNf0U9zR2SBOrFJdQN5eQY0KUxyPNdWI=";
};
php83 = mkPhp {
version = "8.3.33";
hash = "sha256-+cn00M12ksbj2jY81MpyqCakmuGPXtQwtvyue8KIHhg=";
version = "8.3.35";
hash = "sha256-4nnZ7JDZvKuQDRRoFuWxHT6JJLgOK6NsfX2ufXHcvy0=";
};
php84 = mkPhp {
version = "8.4.25";
hash = "sha256-lSzMF4Uma5WPSh3PxYDgjqu7efRCItHv8ZK82Y2R9uM=";
version = "8.4.26";
hash = "sha256-QglpTXsPY8RaN3PgfNwrv8cSSSZaXZUbH/U+EUftxco=";
};
php85 = mkPhp {
version = "8.5.10";
hash = "sha256-15vU86kkjly1gzdmug1RzTXdAbhyfyPzC826b6vFHT4=";
version = "8.5.11";
hash = "sha256-3JQHFqjHPlMcAHjuy5VdWV0yHsLMnUcUnPAInqbhj2Q=";
};
}

View File

@@ -1112,6 +1112,9 @@ stdenv.mkDerivation (
emily
];
mainProgram = "ffmpeg";
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "ffmpeg" finalAttrs.version // {
product = "ffmpeg";
};
};
}
// lib.optionalAttrs withCudaLLVM {

View File

@@ -15,11 +15,11 @@
buildDunePackage rec {
pname = "unstrctrd";
version = "0.4";
version = "0.5";
src = fetchzip {
url = "https://github.com/dinosaure/unstrctrd/releases/download/v${version}/unstrctrd-${version}.tbz";
hash = "sha256-CGcDqEr+VDTbDYkjxeYB6IFWiTkOTLJJl/Y2bHtv19g=";
hash = "sha256-WmjFDxgFTkOmHwcy+9aXBz688DvBBqSeevl2K3/Sv9Y=";
};
propagatedBuildInputs = [

View File

@@ -2,8 +2,8 @@
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch2,
pytestCheckHook,
cattrs,
fontmath,
fonttools,
glyphslib,
@@ -15,7 +15,7 @@
ufolib2,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "fontmake";
version = "3.12.1";
pyproject = true;
@@ -23,7 +23,7 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "googlefonts";
repo = "fontmake";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-dgforezrilmD2d6MFY3Z5X/82yPRfSW/I/OxXcZ+xJw=";
};
@@ -46,20 +46,26 @@ buildPythonPackage rec {
optional-dependencies = {
pathops = [ skia-pathops ];
lxml = [ ];
mutatormath = [ ];
autohint = [ ttfautohint-py ];
json = ufolib2.optional-dependencies.json;
repacker = fonttools.optional-dependencies.repacker;
};
nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.autohint;
nativeCheckInputs = [
pytestCheckHook
cattrs
]
++ finalAttrs.passthru.optional-dependencies.autohint;
pythonImportsCheck = [ "fontmake" ];
meta = {
description = "Compiles fonts from various sources (.glyphs, .ufo, designspace) into binaries formats (.otf, .ttf)";
homepage = "https://github.com/googlefonts/fontmake";
changelog = "https://github.com/googlefonts/fontmake/releases/tag/${src.tag}";
changelog = "https://github.com/googlefonts/fontmake/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = [ ];
maintainers = with lib.maintainers; [ jopejoe1 ];
};
}
})

View File

@@ -43,7 +43,7 @@
buildPythonPackage (finalAttrs: {
pname = "orbax-checkpoint";
version = "0.12.5";
version = "0.12.6";
pyproject = true;
__structuredAttrs = true;
@@ -51,7 +51,7 @@ buildPythonPackage (finalAttrs: {
owner = "google";
repo = "orbax";
tag = "v${finalAttrs.version}";
hash = "sha256-Lw1GXim5N1DjRfcZQ1lnUTaQ98RdaftMyqCPuSIBd8E=";
hash = "sha256-Dyi3a+ecGCu0I1tDIvqmjuGsZcUjnXiKhxggS6jsE3c=";
};
sourceRoot = "${finalAttrs.src.name}/checkpoint";

View File

@@ -12,9 +12,6 @@ mkAppleDerivation {
meta = {
description = "Basic commands for Darwin";
license = [
lib.licenses.isc
lib.licenses.bsd3
];
license = lib.licenses.bsd3;
};
}

View File

@@ -63,9 +63,16 @@ mkAppleDerivation {
meta = {
description = "Darwin shell commands and the Almquist shell";
license = [
lib.licenses.bsd2
lib.licenses.bsd3
];
license =
with lib.licenses;
AND [
apple-psl20
bsd2
bsd2WithViews
bsd3
bsdOriginal
bsdOriginalUC
publicDomain
];
};
}

View File

@@ -6,16 +6,16 @@
buildNpmPackage (finalAttrs: {
pname = "light-entity-card";
version = "6.4.0";
version = "6.4.1";
src = fetchFromGitHub {
owner = "ljmerza";
repo = "light-entity-card";
tag = "v${finalAttrs.version}";
hash = "sha256-19P+X59S32kOo+qZ1sh9iFiVT7+jhuYsRrGp/6E0HD4=";
hash = "sha256-7nRONIGy7kOYJBx813f7luwMI1rDu9FR75OP5HBsDxY=";
};
npmDepsHash = "sha256-Sl2TgA73Wq1n//lqokLC7iHcE1Oqt+ZP6MT+Deidhn0=";
npmDepsHash = "sha256-askNG1clZXaJbRBJH7HG/JGhxejmBq38py+A6sSmM3w=";
installPhase = ''
runHook preInstall

View File

@@ -26,6 +26,7 @@ postgresqlBuildExtension (finalAttrs: {
postgresqlExtraSettings = ''
wal_level = logical
shared_preload_libraries = 'pg_squeeze'
output_plugin_libraries = 'pg_squeeze'
'';
sql = ''
CREATE EXTENSION pg_squeeze;

View File

@@ -2,37 +2,82 @@
fetchFromGitHub,
groonga,
lib,
meson,
msgpack-c,
ninja,
pkg-config,
postgresql,
postgresqlBuildExtension,
ruby,
stdenvNoCC,
xxhash,
}:
postgresqlBuildExtension (finalAttrs: {
pname = "pgroonga";
version = "4.0.5";
version = "4.0.9";
src = fetchFromGitHub {
owner = "pgroonga";
repo = "pgroonga";
tag = finalAttrs.version;
hash = "sha256-PwUnjwqnmoWQ9kKZuKsAVzVBRyKvT+aexrm5eeRiRIQ=";
hash = "sha256-ADHrHCUrpu5aCAU84QyLkmDDJ6QwICLsL6M8o/OMWxU=";
};
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = [
meson
ninja
pkg-config
];
buildInputs = [
msgpack-c
groonga
xxhash
];
makeFlags = [
"HAVE_XXHASH=1"
"HAVE_MSGPACK=1"
"MSGPACK_PACKAGE_NAME=msgpack-c"
mesonFlags = [
(lib.mesonEnable "message_pack" true)
# tests need pgroonga installed on a running server, run in passthru.tests.regression
(lib.mesonBool "test" false)
];
# postgresqlBuildExtension moves files out of DESTDIR in postInstall
mesonInstallFlags = [ "--destdir=${placeholder "out"}" ];
passthru.tests.regression = stdenvNoCC.mkDerivation {
pname = "${finalAttrs.pname}-regression";
inherit (finalAttrs) version src;
nativeBuildInputs = [ ruby ];
dontConfigure = true;
buildPhase = ''
runHook preBuild
patchShebangs test/short-pgappname
ruby test/prepare.rb schedule
# the expected parallel plan depends on the planner's index size estimate
sed -i '/declarative-partitioning\/builtin/d' schedule
# fails intermittently
sed -i '/function\/wal-apply\/delete$/d' schedule
${lib.getDev postgresql}/lib/pgxs/src/test/regress/pg_regress \
--bindir=${postgresql.withPackages (_: [ finalAttrs.finalPackage ])}/bin \
--inputdir=. \
--outputdir=. \
--temp-instance=./tmp_check \
--encoding=UTF8 \
--launcher=test/short-pgappname \
--load-extension=pgroonga \
--schedule=schedule
runHook postBuild
'';
installPhase = "touch $out";
};
meta = {
description = "PostgreSQL extension to use Groonga as the index";
longDescription = ''
@@ -45,6 +90,9 @@ postgresqlBuildExtension (finalAttrs: {
changelog = "https://github.com/pgroonga/pgroonga/releases/tag/${finalAttrs.version}";
license = lib.licenses.postgresql;
platforms = postgresql.meta.platforms;
maintainers = with lib.maintainers; [ DerTim1 ];
maintainers = with lib.maintainers; [
DerTim1
anish
];
};
})

View File

@@ -3791,17 +3791,19 @@ with pkgs;
julia_110-bin
julia_111-bin
julia_112-bin
julia_113-bin
julia_110
julia_111
julia_112
julia_113
;
julia-lts = julia_110-bin;
julia-stable = julia_112;
julia-stable = julia_113;
julia = julia-stable;
julia-lts-bin = julia_110-bin;
julia-stable-bin = julia_112-bin;
julia-stable-bin = julia_113-bin;
julia-bin = julia-stable-bin;
kotlin = callPackage ../development/compilers/kotlin { };
@@ -10673,13 +10675,6 @@ with pkgs;
dartHooks = recurseIntoAttrs (callPackage ../build-support/dart/build-dart-application/hooks { });
inherit (callPackage ../applications/networking/instant-messengers/discord { })
discord
discord-ptb
discord-canary
discord-development
;
torcs-without-data = callPackage ../by-name/to/torcs/without-data.nix { };
hy = with python3Packages; toPythonApplication hy;