Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2025-08-08 12:08:05 +00:00
committed by GitHub
46 changed files with 364 additions and 4313 deletions
@@ -7,9 +7,6 @@
let
cfg = config.services.desktopManager.lomiri;
nixos-gsettings-overrides = pkgs.lomiri.lomiri-gsettings-overrides.override {
inherit (cfg) extraGSettingsOverrides extraGSettingsOverridePackages;
};
in
{
options.services.desktopManager.lomiri = {
@@ -25,18 +22,6 @@ in
type = lib.types.bool;
default = config.services.xserver.displayManager.lightdm.greeters.lomiri.enable || cfg.enable;
};
extraGSettingsOverrides = lib.mkOption {
description = "Additional GSettings overrides.";
type = lib.types.lines;
default = "";
};
extraGSettingsOverridePackages = lib.mkOption {
description = "List of packages for which GSettings are overridden.";
type = lib.types.listOf lib.types.path;
default = [ ];
};
};
config = lib.mkMerge [
@@ -58,16 +43,26 @@ in
"/share/wallpapers"
];
# Override GSettings defaults
sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
systemPackages = [
nixos-gsettings-overrides # GSettings default overrides
]
++ (with pkgs.lomiri; [
systemPackages = with pkgs.lomiri; [
lomiri-wallpapers # default + additional wallpaper
suru-icon-theme # basic indicator icons
]);
];
};
# Override GSettings defaults
programs.dconf = {
enable = true;
profiles.user.databases = [
{
settings = {
"com/lomiri/shell/launcher" = {
logo-picture-uri = "file://${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg";
home-button-background-color = "#5277C3";
};
};
lockAll = true;
}
];
};
fonts.packages = with pkgs; [
@@ -156,7 +151,6 @@ in
# Copy-pasted basic stuff
hardware.graphics.enable = lib.mkDefault true;
fonts.enableDefaultPackages = lib.mkDefault true;
programs.dconf.enable = lib.mkDefault true;
services.accounts-daemon.enable = true;
@@ -76,6 +76,11 @@ Each Netbird client service by default:
peer-to-peer communication,
- can be additionally configured with environment variables,
- automatically determines whether `netbird-ui-<name>` should be available,
- does not enable [routing features](#opt-services.netbird.useRoutingFeatures) by default
If you plan to use routing features, you must explicitly enable them. By enabling them, the service will
configure the firewall and enable IP forwarding on the system.
When set to `client` or `both`, reverse path filtering will be set to loose instead of strict.
When set to `server` or `both`, IP forwarding will be enabled.
[autoStart](#opt-services.netbird.clients._name_.autoStart) allows you to start the client (an actual systemd service)
on demand, for example to connect to work-related or otherwise conflicting network only when required.
+55 -26
View File
@@ -24,6 +24,7 @@ let
mkMerge
mkOption
mkOptionDefault
mkOverride
mkPackageOption
nameValuePair
optional
@@ -83,7 +84,7 @@ in
type = bool;
default = false;
description = ''
Enables backwards compatible Netbird client service.
Enables backward-compatible NetBird client service.
This is strictly equivalent to:
@@ -112,6 +113,23 @@ in
};
ui.package = mkPackageOption pkgs "netbird-ui" { };
useRoutingFeatures = mkOption {
type = enum [
"none"
"client"
"server"
"both"
];
default = "none";
example = "server";
description = ''
Enables settings required for NetBird's routing features: Network Resources, Network Routes & Exit Nodes.
When set to `client` or `both`, reverse path filtering will be set to loose instead of strict.
When set to `server` or `both`, IP forwarding will be enabled.
'';
};
clients = mkOption {
type = attrsOf (
submodule (
@@ -125,7 +143,7 @@ in
type = port;
example = literalExpression "51820";
description = ''
Port the Netbird client listens on.
Port the NetBird client listens on.
'';
};
@@ -146,9 +164,9 @@ in
default = null;
example = "127.0.0.123";
description = ''
An explicit address that Netbird will serve `*.netbird.cloud.` (usually) entries on.
An explicit address that NetBird will serve `*.netbird.cloud.` (usually) entries on.
Netbird serves DNS on it's own (dynamic) client address by default.
NetBird serves DNS on it's own (dynamic) client address by default.
'';
};
@@ -200,7 +218,7 @@ in
description = ''
Start the service with the system.
As of 2024-02-13 it is not possible to start a Netbird client daemon without immediately
As of 2024-02-13 it is not possible to start a NetBird client daemon without immediately
connecting to the network, but it is [planned for a near future](https://github.com/netbirdio/netbird/projects/2#card-91718018).
'';
};
@@ -209,7 +227,7 @@ in
type = bool;
default = true;
description = ''
Opens up firewall `port` for communication between Netbird peers directly over LAN or public IP,
Opens up firewall `port` for communication between NetBird peers directly over LAN or public IP,
without using (internet-hosted) TURN servers as intermediaries.
'';
};
@@ -247,7 +265,7 @@ in
"trace"
];
default = "info";
description = "Log level of the Netbird daemon.";
description = "Log level of the NetBird daemon.";
};
ui.enable = mkOption {
@@ -255,7 +273,7 @@ in
default = nixosConfig.services.netbird.ui.enable;
defaultText = literalExpression ''client.ui.enable'';
description = ''
Controls presence of `netbird-ui` wrapper for this Netbird client.
Controls presence of `netbird-ui` wrapper for this NetBird client.
'';
};
@@ -292,7 +310,7 @@ in
mkdir -p "$out/share/applications"
substitute ${cfg.ui.package}/share/applications/netbird.desktop \
"$out/share/applications/${mkBin "netbird"}.desktop" \
--replace-fail 'Name=Netbird' "Name=Netbird @ ${client.service.name}" \
--replace-fail 'Name=NetBird' "Name=NetBird @ ${client.service.name}" \
--replace-fail '${lib.getExe cfg.ui.package}' "$out/bin/${mkBin "netbird-ui"}"
'')
];
@@ -348,14 +366,14 @@ in
type = path;
default = "/var/lib/${client.dir.baseName}";
description = ''
A state directory used by Netbird client to store `config.json`, `state.json` & `resolv.conf`.
A state directory used by NetBird client to store `config.json`, `state.json` & `resolv.conf`.
'';
};
dir.runtime = mkOption {
type = path;
default = "/var/run/${client.dir.baseName}";
description = ''
A runtime directory used by Netbird client.
A runtime directory used by NetBird client.
'';
};
service.name = mkOption {
@@ -415,11 +433,11 @@ in
);
default = { };
description = ''
Attribute set of Netbird client daemons, by default each one will:
Attribute set of NetBird client daemons, by default each one will:
1. be manageable using dedicated tooling:
- `netbird-<name>` script,
- `Netbird - netbird-<name>` graphical interface when appropriate (see `ui.enable`),
- `NetBird - netbird-<name>` graphical interface when appropriate (see `ui.enable`),
2. run as a `netbird-<name>.service`,
3. listen for incoming remote connections on the port `51820` (`openFirewall` by default),
4. manage the `netbird-<name>` wireguard interface,
@@ -467,19 +485,30 @@ in
networking.dhcpcd.denyInterfaces = toClientList (client: client.interface);
networking.networkmanager.unmanaged = toClientList (client: "interface-name:${client.interface}");
networking.firewall.allowedUDPPorts = concatLists (
toClientList (client: optional client.openFirewall client.port)
);
# Required for the routing ("Exit node") feature(s) to work
boot.kernel.sysctl = mkIf (cfg.useRoutingFeatures == "server" || cfg.useRoutingFeatures == "both") {
"net.ipv4.conf.all.forwarding" = mkOverride 97 true;
"net.ipv6.conf.all.forwarding" = mkOverride 97 true;
};
# Ports opened on a specific
networking.firewall.interfaces = listToAttrs (
toClientList (client: {
name = client.interface;
value.allowedUDPPorts = optionals client.openFirewall [
5353 # required for the DNS forwarding/routing to work
];
})
);
networking.firewall = {
allowedUDPPorts = concatLists (toClientList (client: optional client.openFirewall client.port));
# Required for the routing ("Exit node") feature(s) to work
checkReversePath = mkIf (
cfg.useRoutingFeatures == "client" || cfg.useRoutingFeatures == "both"
) "loose";
# Ports opened on a specific
interfaces = listToAttrs (
toClientList (client: {
name = client.interface;
value.allowedUDPPorts = optionals client.openFirewall [
5353 # required for the DNS forwarding/routing to work
];
})
);
};
systemd.network.networks = mkIf config.networking.useNetworkd (
toClientAttrs (
@@ -601,7 +630,7 @@ in
# see https://github.com/systemd/systemd/blob/17f3e91e8107b2b29fe25755651b230bbc81a514/src/resolve/org.freedesktop.resolve1.policy#L43-L43
# see all actions used at https://github.com/netbirdio/netbird/blob/13e7198046a0d73a9cd91bf8e063fafb3d41885c/client/internal/dns/systemd_linux.go#L29-L32
security.polkit.extraConfig = mkIf config.services.resolved.enable ''
// systemd-resolved access for Netbird clients
// systemd-resolved access for NetBird clients
polkit.addRule(function(action, subject) {
var actions = [
"org.freedesktop.resolve1.revert",
+22 -50
View File
@@ -64,52 +64,16 @@ let
];
}
''
magick -size 640x480 canvas:white -pointsize 30 -fill black -annotate +100+100 '${wallpaperText}' $out
magick -size 640x480 canvas:black -pointsize 30 -fill white -annotate +100+100 '${wallpaperText}' $out
'';
# gsettings tool with access to wallpaper schema
lomiri-gsettings =
pkgs:
pkgs.stdenv.mkDerivation {
name = "lomiri-gsettings";
dontUnpack = true;
nativeBuildInputs = with pkgs; [
glib
wrapGAppsHook3
];
buildInputs = with pkgs; [
# Not using the Lomiri-namespaced setting yet
# lomiri.lomiri-schemas
gsettings-desktop-schemas
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
ln -s ${pkgs.lib.getExe' pkgs.glib "gsettings"} $out/bin/lomiri-gsettings
runHook postInstall
'';
};
setLomiriWallpaperService =
pkgs:
let
lomiriServices = [
"lomiri.service"
"lomiri-full-greeter.service"
"lomiri-full-shell.service"
"lomiri-greeter.service"
"lomiri-shell.service"
];
in
rec {
description = "Set Lomiri wallpaper to something OCR-able";
wantedBy = lomiriServices;
before = lomiriServices;
serviceConfig = {
Type = "oneshot";
# Not using the Lomiri-namespaed settings yet
# ExecStart = "${lomiri-gsettings pkgs}/bin/lomiri-gsettings set com.lomiri.Shell background-picture-uri file://${wallpaperFile pkgs}";
ExecStart = "${lomiri-gsettings pkgs}/bin/lomiri-gsettings set org.gnome.desktop.background picture-uri file://${wallpaperFile pkgs}";
lomiriWallpaperDconfSettings = pkgs: {
settings = {
"org/gnome/desktop/background" = {
picture-uri = "file://${wallpaperFile pkgs}";
};
};
};
sharedTestFunctions = ''
def wait_for_text(text):
@@ -413,12 +377,14 @@ in
];
};
programs.dconf.profiles.user.databases = [
(lomiriWallpaperDconfSettings pkgs)
];
# Help with OCR
systemd.tmpfiles.settings = {
"10-lomiri-test-setup" = terminalOcrTmpfilesSetup { inherit pkgs lib config; };
};
systemd.user.services.set-lomiri-wallpaper = setLomiriWallpaperService pkgs;
};
enableOCR = true;
@@ -562,12 +528,14 @@ in
];
};
programs.dconf.profiles.user.databases = [
(lomiriWallpaperDconfSettings pkgs)
];
# Help with OCR
systemd.tmpfiles.settings = {
"10-lomiri-test-setup" = terminalOcrTmpfilesSetup { inherit pkgs lib config; };
};
systemd.user.services.set-lomiri-wallpaper = setLomiriWallpaperService pkgs;
};
enableOCR = true;
@@ -710,7 +678,9 @@ in
environment.etc."${wallpaperName}".source = wallpaperFile pkgs;
systemd.user.services.set-lomiri-wallpaper = setLomiriWallpaperService pkgs;
programs.dconf.profiles.user.databases = [
(lomiriWallpaperDconfSettings pkgs)
];
# Help with OCR
systemd.tmpfiles.settings = {
@@ -733,7 +703,8 @@ in
machine.wait_until_succeeds("pgrep -u lightdm -f 'lomiri --mode=greeter'")
# Start page shows current time
wait_for_text(r"(AM|PM)")
# And the greeter *actually* renders our wallpaper!
wait_for_text(r"(AM|PM|Lorem|ipsum)")
machine.screenshot("lomiri_greeter_launched")
# Advance to login part
@@ -747,6 +718,7 @@ in
# Output rendering from Lomiri has started when it starts printing performance diagnostics
machine.wait_for_console_text("Last frame took")
# And the desktop doesn't render the wallpaper anymore. Grumble grumble...
# Look for datetime's clock, one of the last elements to load
wait_for_text(r"(AM|PM)")
machine.screenshot("lomiri_launched")
@@ -849,7 +821,7 @@ in
ocr = [ "Log Out" ];
extraCheck = ''
# We should be able to log out and return to the greeter
mouse_click(600, 280) # "Log Out"
mouse_click(600, 250) # "Log Out"
mouse_click(340, 220) # confirm logout
machine.wait_until_fails("pgrep -u ${user} -f 'lomiri --mode=full-shell'")
'';
@@ -2752,7 +2752,13 @@ in
nvim-unception = super.nvim-unception.overrideAttrs {
# Attempt rpc socket connection
nvimSkipModules = "client.client";
nvimSkipModules = [
"client.client"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
"server.server"
"unception"
];
};
nvim-vtsls = super.nvim-vtsls.overrideAttrs {
@@ -97,6 +97,16 @@ stdenv.mkDerivation (finalAttrs: {
# Fix path to ps2pdf binary
inherit ghostscript;
})
(fetchpatch {
name = "fix-build-poppler-25.06.0.patch";
url = "https://gitlab.com/inkscape/inkscape/-/commit/97bd8f29a61e691ceea98ca2444b974cf4256ae0.patch";
hash = "sha256-bYRd/KUh/7qFb7x0EuUgQYA9P8abcTf5XS67gzaAiXA=";
})
(fetchpatch {
name = "fix-build-poppler-25.07.0.patch";
url = "https://gitlab.com/inkscape/inkscape/-/commit/ce52c5f96106ae5747171663a46831f21aa52d95.patch";
hash = "sha256-3Yj+neSRSSQPeeZkHJ0P6v3Sis/lg9xiygktI6Z+zDY=";
})
];
postPatch = ''
+14 -12
View File
@@ -33,7 +33,10 @@ Use the following command, use the current version of azure-cli in nixpkgs as `c
and the name of the extension you want to package as `extension`:
```sh
./query-extension-index.sh --cli-version=2.61.0 --extension=azure-devops --download
nix run .#azure-cli.extension-tool -- \
--cli-version=2.61.0 \
--extension=azure-devops \
--init
```
The output should look something like this:
@@ -41,14 +44,13 @@ The output should look something like this:
```json
{
"pname": "azure-devops",
"description": "Tools for managing Azure DevOps.",
"version": "1.0.1",
"url": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20240514.1/azure_devops-1.0.1-py2.py3-none-any.whl",
"sha256": "f300d0288f017148514ebe6f5912aef10c7a6f29bdc0c916b922edf1d75bc7db",
"version": "1.0.2",
"url": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20250624.2/azure_devops-1.0.2-py2.py3-none-any.whl",
"hash": "sha256-4rDeAqOnRRKMP26MJxG4u9vBuos6/SQIoVgfNbBpulk=",
"description": "Tools for managing Azure DevOps",
"license": "MIT",
"requires": [
"distro (==1.3.0)",
"distro==1.3.0"
"requirements": [
"distro (>=1.6.0)"
]
}
```
@@ -59,9 +61,9 @@ Based on this, you can add an attribute to `extensions-manual.nix`:
{
azure-devops = mkAzExtension {
pname = "azure-devops";
version = "1.0.0";
url = "https://github.com/Azure/azure-devops-cli-extension/releases/download/20240206.1/azure_devops-${version}-py2.py3-none-any.whl";
sha256 = "658a2854d8c80f874f9382d421fa45abf6a38d00334737dda006f8dec64cf70a";
version = "1.0.2";
url = "https://github.com/Azure/azure-devops-cli-extension/releases/download/20250624.2/azure_devops-${version}-py2.py3-none-any.whl";
hash = "sha256-4rDeAqOnRRKMP26MJxG4u9vBuos6/SQIoVgfNbBpulk=";
description = "Tools for managing Azure DevOps";
propagatedBuildInputs = with python3Packages; [ distro ];
meta.maintainers = with lib.maintainers; [ katexochen ];
@@ -71,7 +73,7 @@ Based on this, you can add an attribute to `extensions-manual.nix`:
* The attribute name should be the same as `pname`.
* Replace the version in `url` with `${version}`.
* The json output `requires` must be transformed into `propagetedBuildInputs`.
* The json output `requirements` must be transformed into package `requirements`.
* If `license` is `"MIT"`, it can be left out in the nix expression, as the builder defaults to that license.
* Add yourself as maintainer in `meta.maintainers`.
+55 -4
View File
@@ -174,12 +174,12 @@ def _get_latest_version(versions: dict) -> dict:
return max(versions, key=lambda e: parse(e["metadata"]["version"]), default=None)
def processExtension(
def find_extension_version(
extVersions: dict,
cli_version: Version,
ext_name: Optional[str] = None,
requirements: bool = False,
) -> Optional[Ext]:
) -> Optional[Dict[str, Any]]:
versions = filter(_filter_invalid, extVersions)
versions = filter(lambda v: _filter_compatible(v, cli_version), versions)
latest = _get_latest_version(versions)
@@ -189,6 +189,18 @@ def processExtension(
return None
if not requirements and "run_requires" in latest["metadata"]:
return None
return latest
def find_and_transform_extension_version(
extVersions: dict,
cli_version: Version,
ext_name: Optional[str] = None,
requirements: bool = False,
) -> Optional[Ext]:
latest = find_extension_version(extVersions, cli_version, ext_name, requirements)
if not latest:
return None
return _transform_dict_to_obj(latest)
@@ -335,6 +347,11 @@ def main() -> None:
action=argparse.BooleanOptionalAction,
help="whether to commit changes to git",
)
parser.add_argument(
"--init",
action=argparse.BooleanOptionalAction,
help="whether you want to init a new extension",
)
args = parser.parse_args()
cli_version = parse(args.cli_version)
@@ -348,12 +365,44 @@ def main() -> None:
assert index["formatVersion"] == "1" # only support formatVersion 1
extensions_remote = index["extensions"]
# init just prints the json of the extension version that matches the cli version.
if args.init:
if not args.extension:
logger.error("extension name is required for --init")
exit(1)
for ext_name, ext_versions in extensions_remote.items():
if ext_name != args.extension:
continue
ext = find_extension_version(
ext_versions,
cli_version,
args.extension,
requirements=True,
)
break
if not ext:
logger.error(f"Extension {args.extension} not found in index")
exit(1)
ext_translated = {
"pname": ext["metadata"]["name"],
"version": ext["metadata"]["version"],
"url": ext["downloadUrl"],
"hash": _convert_hash_digest_from_hex_to_b64_sri(ext["sha256Digest"]),
"description": ext["metadata"]["summary"].rstrip("."),
"license": ext["metadata"]["license"],
"requirements": ext["metadata"]["run_requires"][0]["requires"],
}
print(json.dumps(ext_translated, indent=2))
return
if args.extension:
logger.info(f"updating extension: {args.extension}")
ext = Optional[Ext]
for _ext_name, extension in extensions_remote.items():
extension = processExtension(
extension = find_and_transform_extension_version(
extension, cli_version, args.extension, requirements=True
)
if extension:
@@ -402,7 +451,9 @@ def main() -> None:
extensions_remote_filtered = set()
for _ext_name, extension in extensions_remote.items():
extension = processExtension(extension, cli_version, args.extension)
extension = find_and_transform_extension_version(
extension, cli_version, args.extension
)
if extension:
extensions_remote_filtered.add(extension)
+3 -3
View File
@@ -10,16 +10,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "biome";
version = "2.1.3";
version = "2.1.4";
src = fetchFromGitHub {
owner = "biomejs";
repo = "biome";
rev = "@biomejs/biome@${finalAttrs.version}";
hash = "sha256-+fuOPdjfebgtwzckEu/ADd+bNLYtiDFlDJ0aVMKxgMY=";
hash = "sha256-lRCSiNf2kMGkQyXvU1J/lvTH9nfq9otOBGWozFVNNLo=";
};
cargoHash = "sha256-4WrDWtNQkRUtYxGBl26meKLTn52/QWtn1bVOVFHpMz4=";
cargoHash = "sha256-6BGIyVWU2AnoQAArE5KsNJeorpZTpE13CwhHQermxdM=";
nativeBuildInputs = [ pkg-config ];
+9
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchurl,
fetchpatch2,
makeWrapper,
pkg-config,
kronosnet,
@@ -32,6 +33,14 @@ stdenv.mkDerivation rec {
sha256 = "sha256-IDNUu93uGpezxQoHbq6JxjX0Bt1nTMrvyUu5CSrNlTU=";
};
patches = [
(fetchpatch2 {
name = "CVE-2025-30472.patch";
url = "https://github.com/corosync/corosync/commit/7839990f9cdf34e55435ed90109e82709032466a.patch??full_index=1";
hash = "sha256-EgGTfOM9chjLnb1QWNGp6IQQKQGdetNkztdddXlN/uo=";
})
];
nativeBuildInputs = [
makeWrapper
pkg-config
+2 -2
View File
@@ -14,7 +14,7 @@
stdenv.mkDerivation rec {
pname = "djview";
version = "4.12";
version = "4.12.3";
outputs = [
"out"
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://sourceforge/djvu/${pname}-${version}.tar.gz";
hash = "sha256-VnPGqLfhlbkaFyCyQJGRW4FF3jSHnbEVi8k2sQDq8+M=";
hash = "sha256-F7+5cxq4Bw4BI1OB8I5XsSMf+19J6wMYc+v6GJza9H0=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -33,7 +33,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dnf5";
version = "5.2.15.0";
version = "5.2.16.0";
outputs = [
"out"
@@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "rpm-software-management";
repo = "dnf5";
tag = finalAttrs.version;
hash = "sha256-WlQfvWDd9Eay9TPq2EfFlQGljEskJqL3xyNIJDdaNps=";
hash = "sha256-k71UKcKF5IdK96Q3TnAwFGoTRYmTlSO2kkPD54Bd9s8=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -31,13 +31,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dunst";
version = "1.12.2";
version = "1.13.0";
src = fetchFromGitHub {
owner = "dunst-project";
repo = "dunst";
tag = "v${finalAttrs.version}";
hash = "sha256-i5/rRlxs+voEXL3udY+55l2mU54yep8RpmLOZpGtDeM=";
hash = "sha256-HPmIcOLoYDD1GEgTh1elA9xiZGFKt1In4vsAtRsOukE=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -6,7 +6,7 @@
buildGoModule rec {
pname = "gauge";
version = "1.6.19";
version = "1.6.20";
patches = [
# adds a check which adds an error message when trying to
@@ -18,10 +18,10 @@ buildGoModule rec {
owner = "getgauge";
repo = "gauge";
tag = "v${version}";
hash = "sha256-bfmzRZliLU6p/pbKhdXrwukwp0ApsPeOMRUWvovIZ3Q=";
hash = "sha256-Ynyi2ph1L9SfxDwgXqw55nieP5o9LyHxKw4HYQEhXEo=";
};
vendorHash = "sha256-c9uYVxlC2YEgSsNkte3yJpX8HmTnTMjw2PJAe5IROmY=";
vendorHash = "sha256-vv77sD+H2PI06iaJWNGoT4Oe53Shc7QxlSL1nX4i4+Y=";
excludedPackages = [
"build"
+14 -16
View File
@@ -2,31 +2,31 @@
buildGoModule,
fetchFromGitHub,
lib,
testers,
github-release,
nix-update-script,
versionCheckHook,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "github-release";
version = "0.10.1-unstable-2024-06-25";
version = "0.11.0";
src = fetchFromGitHub {
owner = "github-release";
repo = "github-release";
rev = "d250e89a7bf00d54e823b169c3a4722a55ac67b0";
hash = "sha256-QDImy9VNJ3hfGVCpMoJ72Za3CiM3SVNH1D9RFHVM+4I=";
tag = "v${finalAttrs.version}";
hash = "sha256-foQZsYfYM/Cqtck+xfdup6WUeoBiqBTP7USCyPMv5q0=";
};
vendorHash = null;
ldflags = [ "-s" ];
passthru.tests.version = testers.testVersion {
package = github-release;
version = "v${version}";
};
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
meta = with lib; {
passthru.updateScript = nix-update-script { };
meta = {
description = "Commandline app to create and edit releases on Github (and upload artifacts)";
mainProgram = "github-release";
longDescription = ''
@@ -34,13 +34,11 @@ buildGoModule rec {
delete releases of your projects on Github.
In addition it allows you to attach files to those releases.
'';
license = licenses.mit;
license = lib.licenses.mit;
homepage = "https://github.com/github-release/github-release";
maintainers = with maintainers; [
maintainers = with lib.maintainers; [
ardumont
j03
];
platforms = with platforms; unix;
};
}
})
@@ -12,13 +12,13 @@
stdenv.mkDerivation rec {
pname = "intel-compute-runtime";
version = "25.22.33944.8";
version = "25.27.34303.6";
src = fetchFromGitHub {
owner = "intel";
repo = "compute-runtime";
tag = version;
hash = "sha256-Sz9ELQkSq6CQOfoTlzJoUzj/GuHwQMgtUjmC0P2uzro=";
hash = "sha256-AgdPhEAg9N15lNfcX/zQLxBUDTzEEvph+y0FYbB6iCs=";
};
nativeBuildInputs = [
@@ -22,8 +22,8 @@ let
vc_intrinsics_src = fetchFromGitHub {
owner = "intel";
repo = "vc-intrinsics";
rev = "v0.22.1";
hash = "sha256-dSK+kNEZoF4bBx24S0No9aZLZiHK0U9TR1jRyEBL+2U=";
rev = "v0.23.1";
hash = "sha256-7coQegLcgIKiqnonZmgrKlw6FCB3ltSh6oMMvdopeQc=";
};
inherit (llvmPackages_15) lld llvm;
@@ -42,13 +42,13 @@ let
in
stdenv.mkDerivation rec {
pname = "intel-graphics-compiler";
version = "2.12.5";
version = "2.14.1";
src = fetchFromGitHub {
owner = "intel";
repo = "intel-graphics-compiler";
tag = "v${version}";
hash = "sha256-1no41/YUr63OwPEaFFP/7n5GxfZqprCLk37zq60O2eM=";
hash = "sha256-PBUKLvP9h7AhYbaxjAC749sQqYJLAjNpWfME8t84D0k=";
};
postPatch = ''
+3 -3
View File
@@ -85,16 +85,16 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "matrix-tuwunel";
version = "1.2.0";
version = "1.3.0";
src = fetchFromGitHub {
owner = "matrix-construct";
repo = "tuwunel";
tag = "v${finalAttrs.version}";
hash = "sha256-YiZuCdSs3f4Hlfdzhz/B/u8GLf8VPgaLN8KMPLjFoVk=";
hash = "sha256-RuvGoXe/O48mQ4/rN+fh2N1NZ4uhvdtI1q4tRM/bRSE=";
};
cargoHash = "sha256-y3JXG/5a9x/KM1PxGW1qmpCeRFvWXWHHplCi+MdjhQ8=";
cargoHash = "sha256-LwVJe9EqBT7x7eBTzvo4Lu1geNI7CWpsIDNWL8AAg+U=";
nativeBuildInputs = [
pkg-config
+3 -3
View File
@@ -21,16 +21,16 @@
rustPlatform.buildRustPackage rec {
pname = "mise";
version = "2025.7.29";
version = "2025.8.6";
src = fetchFromGitHub {
owner = "jdx";
repo = "mise";
rev = "v${version}";
hash = "sha256-rL1A6yMBJCgfbsFiSKZ/smxxSntOPYeobH04BXzyzhI=";
hash = "sha256-MxWWq292tXGqKbBYq4vALc/2HLdY9ERO/RWc8WC4Enk=";
};
cargoHash = "sha256-WIxB8PO5Ia8u7xEoUJasdQ+5MJr/zgL1jA4suxTaaKI=";
cargoHash = "sha256-/UODmKVRiRg03kQ7VD8BaXGtWRf44s6AoKUm+vmC6b4=";
nativeBuildInputs = [
installShellFiles
+7 -7
View File
@@ -9,20 +9,20 @@
let
models-dev-node-modules-hash = {
"aarch64-darwin" = "sha256-099Y+7cLtSQ0s71vxUGEochQSpCv1hbkwYbWx/eOvhY=";
"aarch64-linux" = "sha256-fOmp7UyszqpR04f5TW0pU96IO7euaxX9fBMtwoqIMY4=";
"x86_64-darwin" = "sha256-OsJDPCsEAAcXzgI/QrtfXXb2jc82pp6ldHuA4Ps8OpM=";
"x86_64-linux" = "sha256-Enx27ag7D0Qeb/ss/7zTQ1XSukyPzOMMK7pTYHqQUMs=";
"aarch64-darwin" = "sha256-VkqxZF2LkNBoIkbQGz98O+y7LgLqQ+FofV2WyMOOUEs=";
"aarch64-linux" = "sha256-P7Dik1bXWdipzs4orPff53bDwEXYFHSC05RV789mrTI=";
"x86_64-darwin" = "sha256-/VdwzrV+srDrexvXHLKtN2Od24XlXVDWu6pEk1zLtjM=";
"x86_64-linux" = "sha256-hMiCOMskK9kwGKaixsvodUVsOuuageiUAwxp/AvzR44=";
};
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "models-dev";
version = "0-unstable-2025-08-01";
version = "0-unstable-2025-08-07";
src = fetchFromGitHub {
owner = "sst";
repo = "models.dev";
rev = "2e3f718c40e8868c2487b7275131b2e054feb462";
hash = "sha256-P7Q03I68ih2eKNfPkpzkIuvKcHLsrk8yxWbFCw74Pjg=";
rev = "f7d8b3932adea23b2cb4d0be615e7dff7870b8bc";
hash = "sha256-4bzXnZhILxtVMKtj54gXXtuTvh6KY9bLNCLnB1INy/E=";
};
node_modules = stdenvNoCC.mkDerivation {
+2 -2
View File
@@ -27,11 +27,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mysql";
version = "8.4.5";
version = "8.4.6";
src = fetchurl {
url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor finalAttrs.version}/mysql-${finalAttrs.version}.tar.gz";
hash = "sha256-U2OVkqcgpxn9+t8skhuUfqyGwG4zMgLkdmeFKleBvRo=";
hash = "sha256-oeUj3IvpbRilreEGmYZhKFygG29bRsCLJlQRDkDfL7c=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -28,13 +28,13 @@ let
in
buildGoModule rec {
pname = "opencloud";
version = "3.2.0";
version = "3.2.1";
src = fetchFromGitHub {
owner = "opencloud-eu";
repo = "opencloud";
tag = "v${version}";
hash = "sha256-/kQH7a+ddKnHAF/ra2oGbX15lcaEknS5hwLWFWCeLeI=";
hash = "sha256-8bVBkLzqQpSnNqCZzNxqglyd14FtaJvbrwCQDbwrn2Q=";
};
postPatch = ''
+9 -9
View File
@@ -12,10 +12,10 @@
let
opencode-node-modules-hash = {
"aarch64-darwin" = "sha256-AM+4jX1lroqBxslGK1by2q8MRsox4xrtlN95qPj0x2Y=";
"aarch64-linux" = "sha256-iQIqv6r6uo9zj8kiQDJuPyFdySNHIj+F4C286K6icv0=";
"x86_64-darwin" = "sha256-L6ae0C8AVzwMVfob38wdwNZoK02FMokzPGC2209r7NU=";
"x86_64-linux" = "sha256-oZa8O0iK5uSJjl6fOdnjqjIuG//ihrj4six3FUdfob8=";
"aarch64-darwin" = "sha256-LNp9sLhNUUC4ujLYPvfPx423GlXuIS0Z2H512H5oY8s=";
"aarch64-linux" = "sha256-xeKZwNV4ScF9p1vAcVR+vk4BiEpUH+AOGb7DQ2vLl1I=";
"x86_64-darwin" = "sha256-4NaHXeWf57dGVV+KP3mBSIUkbIApT19BuADT0E4X+rg=";
"x86_64-linux" = "sha256-7Hc3FJcg2dA8AvGQlS082fO1ehGBMPXWPF8N+sAHh2I=";
};
bun-target = {
"aarch64-darwin" = "bun-darwin-arm64";
@@ -26,12 +26,12 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "opencode";
version = "0.3.132";
version = "0.4.1";
src = fetchFromGitHub {
owner = "sst";
repo = "opencode";
tag = "v${finalAttrs.version}";
hash = "sha256-g++ByI4akYfOTHLhrgm3us77N0jeZwuQIt1mHOLh0GM=";
hash = "sha256-LEFmfsqhCuGcRK7CEPZb6EZfjOHAyYpUHptXu04fjpQ=";
};
tui = buildGoModule {
@@ -40,7 +40,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
modRoot = "packages/tui";
vendorHash = "sha256-qsOL6gsZwEm7YcYO/zoyJAnVmciCjPYqPavV77psybU=";
vendorHash = "sha256-jGaTgKyAvBMt8Js5JrPFUayhVt3QhgyclFoNatoHac4=";
subPackages = [ "cmd/opencode" ];
@@ -114,7 +114,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
patches = [
# Patch `packages/opencode/src/provider/models-macro.ts` to get contents of
# `api.json` from the file bundled with `bun build`.
# `_api.json` from the file bundled with `bun build`.
./local-models-dev.patch
];
@@ -126,7 +126,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
runHook postConfigure
'';
env.MODELS_DEV_API_JSON = "${models-dev}/dist/api.json";
env.MODELS_DEV_API_JSON = "${models-dev}/dist/_api.json";
buildPhase = ''
runHook preBuild
+4 -4
View File
@@ -10,18 +10,18 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "openlist-frontend";
version = "4.0.9";
version = "4.1.0";
src = fetchFromGitHub {
owner = "OpenListTeam";
repo = "OpenList-Frontend";
tag = "v${finalAttrs.version}";
hash = "sha256-QR5Rh09pO7j9ecmHTbm64Om/rhqX8XaczNqAHMO1XiU=";
hash = "sha256-E1kdoTLL9SloSJBYB277BVYwgKp8rmFYmCj9yb6Otuw=";
};
i18n = fetchzip {
url = "https://github.com/OpenListTeam/OpenList-Frontend/releases/download/v${finalAttrs.version}/i18n.tar.gz";
hash = "sha256-hBo9fUctSuQG5dP2e3VCNOnT7Koxkdk0olSef0vjR6I=";
hash = "sha256-/g6TXeCo+tkqE5xF2foghATErGEWUZuxtg70uDA5UFA=";
stripRoot = false;
};
@@ -33,7 +33,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
pnpmDeps = pnpm_10.fetchDeps {
inherit (finalAttrs) pname version src;
fetcherVersion = 1;
hash = "sha256-ty9mElTSiDbXHm9vgguzszY/F+YP8hPfbAlQnjdAaJE=";
hash = "sha256-lWrh7jRx8DkwPZkk5Eh9YndfLsPIwCOUeLdieonZBgI=";
};
buildPhase = ''
+3 -3
View File
@@ -11,13 +11,13 @@
buildGoModule (finalAttrs: {
pname = "openlist";
version = "4.0.9";
version = "4.1.0";
src = fetchFromGitHub {
owner = "OpenListTeam";
repo = "OpenList";
tag = "v${finalAttrs.version}";
hash = "sha256-RsTcaq5w5EY+zddjTI5BJuDqmbFmZwxq4ng9NUXZvIk=";
hash = "sha256-505rEnqIwn1EGhzqhcVWYgYqyPsV/obJzaHaK9W2tVA=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@@ -33,7 +33,7 @@ buildGoModule (finalAttrs: {
frontend = callPackage ./frontend.nix { };
proxyVendor = true;
vendorHash = "sha256-zDN2sw3oYVDTlP5qqe+RkcZ2Lup/vlB4jnluiA/wLLU=";
vendorHash = "sha256-J8ssJbILb3Gf6Br/PYkRAn4Haduf82iCYCfSAEi3nO4=";
buildInputs = [ fuse ];
+23 -19
View File
@@ -1,27 +1,29 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
autoreconfHook,
fetchFromGitHub,
lib,
libpq,
nix-update-script,
openssl,
stdenv,
withLibiodbc ? false,
libiodbc,
withUnixODBC ? true,
unixODBC,
}:
assert lib.xor withLibiodbc withUnixODBC;
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "psqlodbc";
version = "${builtins.replaceStrings [ "_" ] [ "." ] (lib.strings.removePrefix "REL-" src.tag)}";
version = "17.00.0006";
src = fetchFromGitHub {
owner = "postgresql-interfaces";
repo = "psqlodbc";
tag = "REL-17_00_0006";
tag = "REL-${lib.replaceString "." "_" finalAttrs.version}";
hash = "sha256-iu1PWkfOyWtMmy7/8W+acu8v+e8nUPkCIHtVNZ8HzRg=";
};
@@ -38,14 +40,6 @@ stdenv.mkDerivation rec {
strictDeps = true;
passthru = {
updateScript = nix-update-script { };
}
// lib.optionalAttrs withUnixODBC {
fancyName = "PostgreSQL";
driver = "lib/psqlodbcw.so";
};
configureFlags = [
"CPPFLAGS=-DSQLCOLATTRIBUTE_SQLLEN" # needed for cross
"--with-libpq=${lib.getDev libpq}"
@@ -53,11 +47,21 @@ stdenv.mkDerivation rec {
++ lib.optional withLibiodbc "--with-iodbc=${libiodbc}"
++ lib.optional withUnixODBC "--with-unixodbc=${unixODBC}";
meta = with lib; {
passthru = {
updateScript = nix-update-script {
extraArgs = [ "--version-regex=^REL-(\\d+)_(\\d+)_(\\d+)$" ];
};
}
// lib.optionalAttrs withUnixODBC {
fancyName = "PostgreSQL";
driver = "lib/psqlodbcw.so";
};
meta = {
homepage = "https://odbc.postgresql.org/";
description = "ODBC driver for PostgreSQL";
license = licenses.lgpl2;
platforms = platforms.unix;
license = lib.licenses.lgpl2;
platforms = lib.platforms.unix;
teams = libpq.meta.teams;
};
}
})
+3 -3
View File
@@ -36,14 +36,14 @@
let
pname = "pulsar";
version = "1.128.0";
version = "1.129.0";
sourcesPath =
{
x86_64-linux.tarname = "Linux.${pname}-${version}.tar.gz";
x86_64-linux.hash = "sha256-LDr5H2VchlTzHtwcDo0za9GWfKZTpXx6LZVwtgKWxxY=";
x86_64-linux.hash = "sha256-Iq+mYI8vldBroU/1ztVhWfbDUh9GiFjrSIzW0Qtgnvc=";
aarch64-linux.tarname = "ARM.Linux.${pname}-${version}-arm64.tar.gz";
aarch64-linux.hash = "sha256-tT55J2TDRiEcsh5vNVl2dapRdYj3yZsn0ZrfjO5qnqE=";
aarch64-linux.hash = "sha256-hQBMxonnUSEoa0ATISuCoWh0scv/GPf6Tq55l+I1/n0=";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
File diff suppressed because it is too large Load Diff
+14 -14
View File
@@ -4,13 +4,16 @@
appstream-glib,
blueprint-compiler,
cargo,
dbus,
desktop-file-utils,
fetchFromGitea,
glib,
gst_all_1,
gtk4,
hicolor-icon-theme,
lcms2,
libadwaita,
libseccomp,
libxml2,
meson,
ninja,
@@ -24,27 +27,20 @@
stdenv.mkDerivation (finalAttrs: {
pname = "recordbox";
version = "0.9.3";
version = "0.10.3";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "edestcroix";
repo = "Recordbox";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-168L5i6mXeEqv7EKPMq4zHP5JRVxC7MNrUE9yj1zI60=";
tag = "v${finalAttrs.version}";
hash = "sha256-o2cKVRpuAwE+/TI5mwtSvkCFaXN349GP9dDlgdh3Luk=";
};
# Patch in our Cargo.lock and ensure AppStream tests don't use the network
# TODO: Switch back to the default `validate` when the upstream file actually
# passes it
postPatch = ''
ln -s ${./Cargo.lock} Cargo.lock
substituteInPlace data/meson.build \
--replace-fail "['validate', appstream_file]" "['validate-relax', '--nonet', appstream_file]"
'';
cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; };
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-0/tKL5UW1QuhsddivU/r8n3T3xyRaGLRVpKuXcc4fmU=";
};
strictDeps = true;
@@ -66,9 +62,12 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
dbus
gtk4
hicolor-icon-theme
lcms2
libadwaita
libseccomp
sqlite
]
++ (with gst_all_1; [
@@ -101,6 +100,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Relatively simple music player";
homepage = "https://codeberg.org/edestcroix/Recordbox";
changelog = "https://codeberg.org/edestcroix/Recordbox/releases/tag/v${finalAttrs.version}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ getchoo ];
mainProgram = "recordbox";
+5 -5
View File
@@ -1,21 +1,21 @@
{
"version": "1.8.4",
"version": "1.8.5",
"assets": {
"aarch64-darwin": {
"asset": "scala-cli-aarch64-apple-darwin.gz",
"sha256": "1cvfsyzrfycpmd7ay9pvnh1z03n03gjrs1wpzkynj2dpks1qbvn5"
"sha256": "1r2b46nbfzn4m18jgicnc13ipw469xij91s9gzb4xjv77fslbng6"
},
"aarch64-linux": {
"asset": "scala-cli-aarch64-pc-linux.gz",
"sha256": "07mbdxqwf1zl30dg1djmpgry6q1dp0yq8w5qscys3wci2yfjidni"
"sha256": "1yci9zjyv1ssdgc0kk6gk3yrb2j3jzryxvm5jk6hv0z4swiy6nvv"
},
"x86_64-darwin": {
"asset": "scala-cli-x86_64-apple-darwin.gz",
"sha256": "1m9zbndsai2p5gbfsby0b4a9371jdapaxhsib6jwx1ps2ay565h8"
"sha256": "0abj0w47ycajc342avrzyw957qjm26lmhsc7612k5s9s892cfkgn"
},
"x86_64-linux": {
"asset": "scala-cli-x86_64-pc-linux.gz",
"sha256": "03nnd86qd8hy65di2rjqjp6vc3hv1rmw2agrrbg9v0yhh0r0in3q"
"sha256": "1270asc9abijvasmiscy4gr58m903p3mr6qizpjblxnaz5dj1b5r"
}
}
}
+10
View File
@@ -106,6 +106,16 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://aur.archlinux.org/cgit/aur.git/plain/fix_build_with_poppler_25.02.0.patch?h=scribus-unstable";
hash = "sha256-t9xJA6KGMGAdUFyjI8OlTNilewyMr1FFM7vjHOM15Xg=";
})
(fetchpatch {
name = "fix-build-poppler-25.06.0.patch";
url = "https://github.com/scribusproject/scribus/commit/8dcf8d777bd85a0741c455961f2de382e3ed47ec.patch";
hash = "sha256-JBHCgvEJnYrUdtLnFSXTfr1FFin4uUNUnddYwfRbn7k=";
})
(fetchpatch {
name = "fix-build-poppler-25.07.0.patch";
url = "https://github.com/scribusproject/scribus/commit/ff6c6abfa8683028e548a269dee6a859b6f63335.patch";
hash = "sha256-N4jve5feehsX5H0RXdxR4ableKL+c/rTyqCwkEf37Dk=";
})
];
meta = {
+2 -2
View File
@@ -40,13 +40,13 @@ effectiveStdenv.mkDerivation (finalAttrs: {
strictDeps = true;
pname = "ucc";
version = "1.4.4";
version = "1.5.0";
src = fetchFromGitHub {
owner = "openucx";
repo = "ucc";
tag = "v${finalAttrs.version}";
hash = "sha256-2OtMNI4teMnSBxsujf8LMrNOjqK/oJTrrmE2Awxgbd8=";
hash = "sha256-8tUhwZNW39/J9Uz/b4arE1oWPaV0R3s4x12QqI8ovEA=";
};
outputs = [
+9 -9
View File
@@ -1,20 +1,20 @@
{
"aarch64-darwin": {
"version": "1.11.3",
"version": "1.11.5",
"vscodeVersion": "1.99.3",
"url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/b623f33d83cdc5b0d5eaf6ebc9e4d8193a0b5f50/Windsurf-darwin-arm64-1.11.3.zip",
"sha256": "83df03ffe0ef8e03301355f101192e81734841e8c658b2bc2fb238e7a83679d4"
"url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/f8b63909dde4ac913fee41e867b511a598b3b517/Windsurf-darwin-arm64-1.11.5.zip",
"sha256": "7f3a4122c72701c087d02e9ffd64d9432400c1468dfbec5890207e3ede3453f2"
},
"x86_64-darwin": {
"version": "1.11.3",
"version": "1.11.5",
"vscodeVersion": "1.99.3",
"url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/b623f33d83cdc5b0d5eaf6ebc9e4d8193a0b5f50/Windsurf-darwin-x64-1.11.3.zip",
"sha256": "e5bda964d69f52bf49d92bd0f2e0a824c2c45dc708f2dcfd93b9797d5fecb80c"
"url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/f8b63909dde4ac913fee41e867b511a598b3b517/Windsurf-darwin-x64-1.11.5.zip",
"sha256": "685f45fbae8906523baa4744ead97204b254cf190092491aa235fa236393f5ca"
},
"x86_64-linux": {
"version": "1.11.3",
"version": "1.11.5",
"vscodeVersion": "1.99.3",
"url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/b623f33d83cdc5b0d5eaf6ebc9e4d8193a0b5f50/Windsurf-linux-x64-1.11.3.tar.gz",
"sha256": "d4f5848f152c5c185c9aa7c89a34700455d41d7388592fa90e05c0329f1943bd"
"url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/f8b63909dde4ac913fee41e867b511a598b3b517/Windsurf-linux-x64-1.11.5.tar.gz",
"sha256": "cc83879091be631757de224d0a5b0e0b3bdc74bcd939f423ec3e02926643a7da"
}
}
+3 -3
View File
@@ -99,7 +99,7 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zed-editor";
version = "0.198.2";
version = "0.198.3";
outputs = [
"out"
@@ -112,7 +112,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "zed-industries";
repo = "zed";
tag = "v${finalAttrs.version}";
hash = "sha256-0BX8LFoW4VpTN2jSJqp/Y+urpLy8Llxyvfr5O4brCSA=";
hash = "sha256-icLiruC219iuT5vO1Cc77mz01z/Afx9Xt23uxXhbPPo=";
};
patches = [
@@ -138,7 +138,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail "inner.redirect(policy)" "inner.redirect_policy(policy)"
'';
cargoHash = "sha256-H8ns6LrHHgND41KyhpXjdtLToIEHBu0I3vNRLAjtPTY=";
cargoHash = "sha256-z8xlU25L+LZxLOfSQowpVEnKM0BU+dgNqlFG3mh1HAQ=";
nativeBuildInputs = [
cmake
@@ -1,52 +0,0 @@
{
lib,
runCommand,
glib,
lomiri-schemas,
lomiri-wallpapers,
nixos-icons,
writeText,
extraGSettingsOverrides ? "",
extraGSettingsOverridePackages ? [ ],
nixos-artwork,
}:
let
# Overriding the background picture should be possible, but breaks within the VM tests.
# It results in either a grey background (prolly indicating an error somewhere)
# or hangs the session (also happens when using LSS, which sets it via AccountsService).
#
# So we can only override the launcher button details.
# Button colour: https://github.com/NixOS/nixos-artwork/blob/51a27e4a011e95cb559e37d32c44cf89b50f5154/logo/README.md#colours
gsettingsOverrides = writeText "lomiri-gschema-overrides" ''
[com.lomiri.Shell.Launcher]
logo-picture-uri='file://${nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg'
home-button-background-color='#5277C3'
${extraGSettingsOverrides}
'';
gsettingsOverridePackages = [
lomiri-schemas
]
++ extraGSettingsOverridePackages;
in
runCommand "lomiri-gsettings-overrides" { preferLocalBuild = true; } ''
dataDir="$out/share/gsettings-schemas/nixos-gsettings-overrides"
schemaDir="$dataDir/glib-2.0/schemas"
mkdir -p "$schemaDir"
${lib.strings.concatMapStringsSep "\n" (
pkg:
"cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"${glib.getSchemaPath pkg}\"/*.gschema.override \"$schemaDir\""
) gsettingsOverridePackages}
chmod -R a+w "$dataDir"
cp --no-preserve=mode "${gsettingsOverrides}" "$schemaDir/zz-nixos-defaults.gschema.override"
${lib.getExe' glib.dev "glib-compile-schemas"} --strict "$schemaDir" | tee gcs.log
if grep 'No schema files found' gcs.log >/dev/null; then
exit 1
fi
''
-1
View File
@@ -31,7 +31,6 @@ let
teleports = callPackage ./applications/teleports { };
#### Data
lomiri-gsettings-overrides = callPackage ./data/lomiri-gsettings-overrides { };
lomiri-schemas = callPackage ./data/lomiri-schemas { };
lomiri-session = callPackage ./data/lomiri-session { };
lomiri-sounds = callPackage ./data/lomiri-sounds { };
@@ -55,13 +55,13 @@ let
domain = "gitlab.freedesktop.org";
owner = "poppler";
repo = "test";
rev = "91ee031c882634c36f2f0f2f14eb6646dd542fb9";
hash = "sha256-bImTdlhMAA79kwbKPrHN3a9vVrtsgBh3rFjH3B7tEbQ=";
rev = "c79c6839e859dbee6b73ac260788fa2de8618ba4";
hash = "sha256-j66AsBUnFpO5athVgQmf4vcyXxYcJ/plJtHg+3vXG4Y=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "poppler-${suffix}";
version = "25.05.0"; # beware: updates often break cups-filters build, check scribus too!
version = "25.07.0"; # beware: updates often break cups-filters build, check scribus too!
outputs = [
"out"
@@ -70,7 +70,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "https://poppler.freedesktop.org/poppler-${finalAttrs.version}.tar.xz";
hash = "sha256-mxYnxbdoFqxeQFKgP1tgW6QLRc8GsCyt0EeWILSZqzg=";
hash = "sha256-xQSpBm29/r43etU87GQf2XHulsTh6Mp05snAPUbYF64=";
};
nativeBuildInputs = [
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "nvidia-ml-py";
version = "12.575.51";
version = "13.580.65";
pyproject = true;
src = fetchPypi {
pname = "nvidia_ml_py";
inherit version;
hash = "sha256-ZJDpP+qZ606WYyeuGMbuxiVhlMkh8jRZyHZ67ijFRYE=";
hash = "sha256-e/GLA8fTZYcnARz18MbCFVs2zkOeZTWaCkqQYhT2o8k=";
};
patches = [
@@ -25,6 +25,10 @@ buildPythonPackage rec {
setuptools
];
pythonRelaxDeps = [
"nvidia-ml-py"
];
dependencies = [ nvidia-ml-py ];
pythonImportsCheck = [
@@ -25,14 +25,14 @@
buildPythonPackage rec {
pname = "treescope";
version = "0.1.9";
version = "0.1.10";
pyproject = true;
src = fetchFromGitHub {
owner = "google-deepmind";
repo = "treescope";
tag = "v${version}";
hash = "sha256-rLrsG7psY3xkuvNtdRULiMWKzIiWZpJ7TVJhwTNGXRQ=";
hash = "sha256-SfycwuI/B7S/rKkaqxtnJI26q89313pvj/Xsomg6qyA=";
};
build-system = [ flit-core ];
+2 -2
View File
@@ -33,11 +33,11 @@
stdenv.mkDerivation rec {
pname = "apache-httpd";
version = "2.4.62";
version = "2.4.65";
src = fetchurl {
url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
hash = "sha256-Z0GI579EztgtqNtSLalGhJ4iCA1z0WyT9/TfieJXKew=";
hash = "sha256-WLi+l9mUDsF/dlbAxrn0G2GKrEaLiUtTQUjjKWxTuLM=";
};
patches = [
+2 -10
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchurl,
fetchpatch,
bison,
cmake,
pkg-config,
@@ -31,11 +30,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mysql";
version = "8.0.42";
version = "8.0.43";
src = fetchurl {
url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor finalAttrs.version}/mysql-${finalAttrs.version}.tar.gz";
hash = "sha256-XrIsIMILdlxYlMkBBIW9B9iptuv7YovP0wYHAXFVJv4=";
hash = "sha256-diUKgQFch49iUhz68w3/DqmyUJeNKx3/AHQIo5jV25M=";
};
nativeBuildInputs = [
@@ -48,13 +47,6 @@ stdenv.mkDerivation (finalAttrs: {
patches = [
./no-force-outline-atomics.patch # Do not force compilers to turn on -moutline-atomics switch
# Fix compilation with LLVM 19, adapted from https://github.com/mysql/mysql-server/commit/3a51d7fca76e02257f5c42b6a4fc0c5426bf0421
# in https://github.com/NixOS/nixpkgs/pull/374591#issuecomment-2615855076
./libcpp-fixes.patch
(fetchpatch {
url = "https://github.com/mysql/mysql-server/commit/4a5c00d26f95faa986ffed7a15ee15e868e9dcf2.patch";
hash = "sha256-MEl1lQlDYtFjHk0+S02RQFnxMr+YeFxAyNjpDtVHyeE=";
})
];
## NOTE: MySQL upstream frequently twiddles the invocations of libtool. When updating, you might proactively grep for libtool references.
-183
View File
@@ -1,183 +0,0 @@
diff --git a/include/my_char_traits.h b/include/my_char_traits.h
new file mode 100644
index 00000000..6336bc03
--- /dev/null
+++ b/include/my_char_traits.h
@@ -0,0 +1,65 @@
+/* Copyright (c) 2024, Oracle and/or its affiliates.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License, version 2.0,
+ as published by the Free Software Foundation.
+
+ This program is designed to work with certain software (including
+ but not limited to OpenSSL) that is licensed under separate terms,
+ as designated in a particular file or component or in included license
+ documentation. The authors of MySQL hereby grant you an additional
+ permission to link the program and your derivative works with the
+ separately licensed software that they have either included with
+ the program or referenced in the documentation.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License, version 2.0, for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#ifndef MY_CHAR_TRAITS_INCLUDED
+#define MY_CHAR_TRAITS_INCLUDED
+
+#include <cstring>
+
+template <class CharT>
+struct my_char_traits;
+
+/*
+ This is a standards-compliant, drop-in replacement for
+ std::char_traits<unsigned char>
+ We need this because clang libc++ is removing support for it in clang 19.
+ It is not a complete implementation. Rather we implement just enough to
+ compile any usage of char_traits<uchar> we have in our codebase.
+ */
+template <>
+struct my_char_traits<unsigned char> {
+ using char_type = unsigned char;
+ using int_type = unsigned int;
+
+ static void assign(char_type &c1, const char_type &c2) { c1 = c2; }
+
+ static char_type *assign(char_type *s, std::size_t n, char_type a) {
+ return static_cast<char_type *>(memset(s, a, n));
+ }
+
+ static int compare(const char_type *s1, const char_type *s2, std::size_t n) {
+ return memcmp(s1, s2, n);
+ }
+
+ static char_type *move(char_type *s1, const char_type *s2, std::size_t n) {
+ if (n == 0) return s1;
+ return static_cast<char_type *>(memmove(s1, s2, n));
+ }
+
+ static char_type *copy(char_type *s1, const char_type *s2, std::size_t n) {
+ if (n == 0) return s1;
+ return static_cast<char_type *>(memcpy(s1, s2, n));
+ }
+};
+
+#endif // MY_CHAR_TRAITS_INCLUDED
diff --git a/sql/mdl_context_backup.h b/sql/mdl_context_backup.h
index 89e7e23d..cf9c307e 100644
--- a/sql/mdl_context_backup.h
+++ b/sql/mdl_context_backup.h
@@ -28,6 +28,7 @@
#include <map>
#include <memory>
+#include "my_char_traits.h"
#include "sql/malloc_allocator.h"
#include "sql/mdl.h"
@@ -47,7 +48,8 @@ class MDL_context_backup_manager {
/**
Key for uniquely identifying MDL_context in the MDL_context_backup map.
*/
- typedef std::basic_string<uchar> MDL_context_backup_key;
+ using MDL_context_backup_key =
+ std::basic_string<uchar, my_char_traits<uchar>>;
class MDL_context_backup;
diff --git a/sql/stream_cipher.h b/sql/stream_cipher.h
index 606d4064..358fbb41 100644
--- a/sql/stream_cipher.h
+++ b/sql/stream_cipher.h
@@ -28,6 +28,8 @@
#include <memory>
#include <string>
+#include "my_char_traits.h"
+
/**
@file stream_cipher.h
@@ -35,7 +37,8 @@
binary log files.
*/
-typedef std::basic_string<unsigned char> Key_string;
+using Key_string =
+ std::basic_string<unsigned char, my_char_traits<unsigned char>>;
/**
@class Stream_cipher
diff --git a/unittest/gunit/binlogevents/transaction_compression-t.cc b/unittest/gunit/binlogevents/transaction_compression-t.cc
index ba13f979..01af0e3a 100644
--- a/unittest/gunit/binlogevents/transaction_compression-t.cc
+++ b/unittest/gunit/binlogevents/transaction_compression-t.cc
@@ -23,6 +23,7 @@
*/
#include <array>
+#include <string>
#include <gtest/gtest.h>
#include "libbinlogevents/include/binary_log.h"
@@ -51,14 +52,13 @@ class TransactionPayloadCompressionTest : public ::testing::Test {
using Managed_buffer_t = Decompressor_t::Managed_buffer_t;
using Size_t = Decompressor_t::Size_t;
using Char_t = Decompressor_t::Char_t;
- using String_t = std::basic_string<Char_t>;
using Decompress_status_t =
binary_log::transaction::compression::Decompress_status;
using Compress_status_t =
binary_log::transaction::compression::Compress_status;
- static String_t constant_data(Size_t size) {
- return String_t(size, (Char_t)'a');
+ static std::string constant_data(Size_t size) {
+ return std::string(size, (Char_t)'a');
}
protected:
@@ -69,7 +69,7 @@ class TransactionPayloadCompressionTest : public ::testing::Test {
void TearDown() override {}
static void compression_idempotency_test(Compressor_t &c, Decompressor_t &d,
- String_t data) {
+ const std::string &data) {
auto debug_string = concat(
binary_log::transaction::compression::type_to_string(c.get_type_code()),
" ", data.size());
@@ -104,8 +104,8 @@ class TransactionPayloadCompressionTest : public ::testing::Test {
// Check decompressed data
ASSERT_EQ(managed_buffer.read_part().size(), data.size()) << debug_string;
- ASSERT_EQ(data, String_t(managed_buffer.read_part().begin(),
- managed_buffer.read_part().end()))
+ ASSERT_EQ(data, std::string(managed_buffer.read_part().begin(),
+ managed_buffer.read_part().end()))
<< debug_string;
// Check that we reached EOF
@@ -118,7 +118,7 @@ TEST_F(TransactionPayloadCompressionTest, CompressDecompressZstdTest) {
for (auto size : buffer_sizes) {
binary_log::transaction::compression::Zstd_dec d;
binary_log::transaction::compression::Zstd_comp c;
- String_t data{TransactionPayloadCompressionTest::constant_data(size)};
+ std::string data{TransactionPayloadCompressionTest::constant_data(size)};
TransactionPayloadCompressionTest::compression_idempotency_test(c, d, data);
c.set_compression_level(22);
TransactionPayloadCompressionTest::compression_idempotency_test(c, d, data);
@@ -129,7 +129,7 @@ TEST_F(TransactionPayloadCompressionTest, CompressDecompressNoneTest) {
for (auto size : buffer_sizes) {
binary_log::transaction::compression::None_dec d;
binary_log::transaction::compression::None_comp c;
- String_t data{TransactionPayloadCompressionTest::constant_data(size)};
+ std::string data{TransactionPayloadCompressionTest::constant_data(size)};
TransactionPayloadCompressionTest::compression_idempotency_test(c, d, data);
}
}
@@ -9,18 +9,18 @@
postgresqlBuildExtension (finalAttrs: {
pname = "pg_squeeze";
version = "${builtins.replaceStrings [ "_" ] [ "." ] (
lib.strings.removePrefix "REL" finalAttrs.src.rev
)}";
version = "1.9.0";
src = fetchFromGitHub {
owner = "cybertec-postgresql";
repo = "pg_squeeze";
tag = "REL1_7_0";
hash = "sha256-Kh1wSOvV5Rd1CG/na3yzbWzvaR8SJ6wmTZOnM+lbgik=";
tag = "REL${lib.replaceString "." "_" finalAttrs.version}";
hash = "sha256-RrG7qeX0NQ4cq6N+9uVfalNW+HfiSt4wcjeZjInnfgE=";
};
passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=REL(.*)" ]; };
passthru.updateScript = nix-update-script {
extraArgs = [ "--version-regex=^REL(\\d+)_(\\d+)_(\\d+)$" ];
};
passthru.tests.extension = postgresqlTestExtension {
inherit (finalAttrs) finalPackage;
postgresqlExtraSettings = ''
+7 -5
View File
@@ -2,6 +2,7 @@
buildEnv,
fetchFromGitHub,
lib,
nix-update-script,
pkg-config,
postgresql,
postgresqlBuildExtension,
@@ -12,15 +13,13 @@
postgresqlBuildExtension (finalAttrs: {
pname = "plr";
version = "${builtins.replaceStrings [ "_" ] [ "." ] (
lib.strings.removePrefix "REL" finalAttrs.src.rev
)}";
version = "8.4.8";
src = fetchFromGitHub {
owner = "postgres-plr";
repo = "plr";
tag = "REL8_4_7";
hash = "sha256-PdvFEmtKfLT/xfaf6obomPR5hKC9F+wqpfi1heBphRk=";
tag = "REL${lib.replaceString "." "_" finalAttrs.version}";
hash = "sha256-FLL61HsZ6WaWBP9NqrJjhMFSVyVBIpVO0wv+kXMuAaU=";
};
nativeBuildInputs = [ pkg-config ];
@@ -29,6 +28,9 @@ postgresqlBuildExtension (finalAttrs: {
makeFlags = [ "USE_PGXS=1" ];
passthru = {
updateScript = nix-update-script {
extraArgs = [ "--version-regex=^REL(\\d+)_(\\d+)_(\\d+)$" ];
};
withPackages =
f:
let
+6 -4
View File
@@ -1,6 +1,7 @@
{
fetchFromGitHub,
lib,
nix-update-script,
nixosTests,
postgresql,
postgresqlBuildExtension,
@@ -8,19 +9,20 @@
postgresqlBuildExtension (finalAttrs: {
pname = "wal2json";
version = "${builtins.replaceStrings [ "_" ] [ "." ] (
lib.strings.removePrefix "wal2json_" finalAttrs.src.rev
)}";
version = "2.6";
src = fetchFromGitHub {
owner = "eulerto";
repo = "wal2json";
tag = "wal2json_2_6";
tag = "wal2json_${lib.replaceString "." "_" finalAttrs.version}";
hash = "sha256-+QoACPCKiFfuT2lJfSUmgfzC5MXf75KpSoc2PzPxKyM=";
};
makeFlags = [ "USE_PGXS=1" ];
passthru.updateScript = nix-update-script {
extraArgs = [ "--version-regex=^wal2json_(\\d+)_(\\d+)$" ];
};
passthru.tests = nixosTests.postgresql.wal2json.passthru.override postgresql;
meta = {