Merge 32bb18de3f into haskell-updates

This commit is contained in:
nixpkgs-ci[bot]
2025-04-15 00:20:06 +00:00
committed by GitHub
200 changed files with 8451 additions and 1551 deletions
+13
View File
@@ -2103,6 +2103,12 @@
githubId = 21687187;
name = "Mirza Arnaut";
};
asakura = {
email = "mikalai.seva+nixpkgs@gmail.com";
github = "asakura";
githubId = 29058;
name = "Mikalai Seva";
};
asappia = {
email = "asappia@gmail.com";
github = "asappia";
@@ -20877,6 +20883,13 @@
githubId = 76747196;
name = "Robert Rose";
};
RorySys = {
email = "root@rory.gay";
github = "TheArcaneBrony";
githubId = 13570458;
matrix = "@emma:rory.gay"; # preferred
name = "Rory&";
};
rosehobgoblin = {
name = "J. L. Bowden";
github = "rosehobgoblin";
@@ -17,6 +17,11 @@
- `nixos-option` has been rewritten to a Nix expression called by a simple bash script. This lowers our maintenance threshold, makes eval errors less verbose, adds support for flake-based configurations, descending into `attrsOf` and `listOf` submodule options, and `--show-trace`.
- The packaging of Mesa graphics drivers has been significantly reworked, in particular:
- applications linked against different Mesa versions than installed on the system should now work correctly going forward (however, applications against older Mesa, e.g. from Nixpkgs releases before 25.05, remain broken)
- the global Mesa version can now be managed without a mass rebuild by setting `hardware.graphics.package`
- packages that used to depend on Mesa for libgbm or libdri should use `libgbm` or `dri-pkgconfig-stub` as inputs, respectively
- The `intel` video driver for X.org (from the xf86-video-intel package) which was previously removed because it was non-functional has been fixed and the driver has been re-introduced.
- The Mattermost module ({option}`services.mattermost`) and packages (`mattermost` and `mmctl`) have been substantially updated:
@@ -262,6 +267,8 @@
- `linuxPackages.nvidiaPackages.stable` now defaults to the `production` variant instead of `latest`.
- `paperless-ngx` has been updated to minor version 2.15 which switched the web server from Gunicorn to Granian. If you set Gunicorn specific envs (usually contain GUNICORN) they must be updated. Also `services.paperless.address` no longer accepts a domain name and Granian also does not support listening on unix domain sockets.
- `timescaledb` requires manual upgrade steps.
After you run ALTER EXTENSION, you must run [this SQL script](https://github.com/timescale/timescaledb-extras/blob/master/utils/2.15.X-fix_hypertable_foreign_keys.sql). For more details, see the following pull requests [#6797](https://github.com/timescale/timescaledb/pull/6797).
PostgreSQL 13 is no longer supported in TimescaleDB v2.16.
+6 -6
View File
@@ -21,7 +21,8 @@ let
PAPERLESS_MEDIA_ROOT = cfg.mediaDir;
PAPERLESS_CONSUMPTION_DIR = cfg.consumptionDir;
PAPERLESS_THUMBNAIL_FONT_NAME = defaultFont;
GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}";
GRANIAN_HOST = cfg.address;
GRANIAN_PORT = toString cfg.port;
}
// lib.optionalAttrs (config.time.timeZone != null) {
PAPERLESS_TIME_ZONE = config.time.timeZone;
@@ -196,7 +197,7 @@ in
address = lib.mkOption {
type = lib.types.str;
default = "localhost";
default = "127.0.0.1";
description = "Web interface address.";
};
@@ -539,16 +540,15 @@ in
echo "PAPERLESS_SECRET_KEY is empty, refusing to start."
exit 1
fi
exec ${cfg.package.python.pkgs.gunicorn}/bin/gunicorn \
-c ${cfg.package}/lib/paperless-ngx/gunicorn.conf.py paperless.asgi:application
exec ${lib.getExe cfg.package.python.pkgs.granian} --interface asginl --ws "paperless.asgi:application"
'';
serviceConfig = defaultServiceConfig // {
User = cfg.user;
Restart = "on-failure";
LimitNOFILE = 65536;
# gunicorn needs setuid, liblapack needs mbind
SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "@setuid mbind" ];
# liblapack needs mbind
SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "mbind" ];
# Needs to serve web page
PrivateNetwork = false;
};
+35 -1
View File
@@ -14,6 +14,15 @@ let
types
;
settingsFormat = pkgs.formats.json { };
generatedConfig =
pkgs.runCommand "cross-seed-gen-config" { nativeBuildInputs = [ pkgs.cross-seed ]; }
''
export HOME=$(mktemp -d)
cross-seed gen-config
mkdir $out
cp -r $HOME/.cross-seed/config.js $out/
'';
in
{
options.services.cross-seed = {
@@ -40,6 +49,22 @@ in
description = "Cross-seed config directory";
};
useGenConfigDefaults = mkOption {
type = types.bool;
default = false;
description = ''
Whether to use the option defaults from the configuration generated by
{command}`cross-seed gen-config`.
Those are the settings recommended by the project, and can be inspected
from their [template file](https://github.com/cross-seed/cross-seed/blob/master/src/config.template.cjs).
Settings set in {option}`services.cross-seed.settings` and
{option}`services.cross-seed.settingsFile` will override the ones from
this option.
'';
};
settings = mkOption {
default = { };
type = types.submodule {
@@ -120,6 +145,13 @@ in
let
jsonSettingsFile = settingsFormat.generate "settings.json" cfg.settings;
genConfigSegment =
lib.optionalString cfg.useGenConfigDefaults # js
''
const gen_config_js = "${generatedConfig}/config.js";
Object.assign(loaded_settings, require(gen_config_js));
'';
# Since cross-seed uses a javascript config file, we can use node's
# ability to parse JSON directly to avoid having to do any conversion.
# This also means we don't need to use any external programs to merge the
@@ -138,7 +170,9 @@ in
"use strict";
const fs = require("fs");
const settings_json = "${jsonSettingsFile}";
let loaded_settings = JSON.parse(fs.readFileSync(settings_json, "utf8"));
let loaded_settings = {};
${genConfigSegment}
Object.assign(loaded_settings, JSON.parse(fs.readFileSync(settings_json, "utf8")));
${secretSettingsSegment}
module.exports = loaded_settings;
'';
@@ -1,56 +0,0 @@
{
stdenv,
lib,
fetchFromGitHub,
pkg-config,
cmake,
cpp-utilities,
qtutilities,
mp4v2,
libid3tag,
qtbase,
qttools,
qtwebengine,
qtx11extras,
tagparser,
wrapQtAppsHook,
}:
stdenv.mkDerivation rec {
pname = "tageditor";
version = "3.9.4";
src = fetchFromGitHub {
owner = "martchus";
repo = pname;
rev = "v${version}";
hash = "sha256-VRQV4bTPG4VFhRHFJamUnYd04ZCaNpaxU27Jcl6Chc4=";
};
nativeBuildInputs = [
pkg-config
cmake
wrapQtAppsHook
];
buildInputs = [
mp4v2
libid3tag
qtbase
qttools
qtx11extras
qtwebengine
cpp-utilities
qtutilities
tagparser
];
meta = with lib; {
homepage = "https://github.com/Martchus/tageditor";
description = "Tag editor with Qt GUI and command-line interface supporting MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska";
license = licenses.gpl2;
maintainers = [ maintainers.matthiasbeyer ];
platforms = platforms.linux;
mainProgram = "tageditor";
};
}
@@ -2,16 +2,13 @@
lib,
stdenv,
fetchurl,
autoreconfHook,
cmake,
pkg-config,
installShellFiles,
util-linux,
hexdump,
autoSignDarwinBinariesHook,
wrapQtAppsHook ? null,
boost,
libevent,
miniupnpc,
zeromq,
zlib,
db48,
@@ -35,24 +32,22 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = if withGui then "bitcoin" else "bitcoind";
version = "28.1";
version = "29.0";
src = fetchurl {
urls = [
"https://bitcoincore.org/bin/bitcoin-core-${finalAttrs.version}/bitcoin-${finalAttrs.version}.tar.gz"
];
# hash retrieved from signed SHA256SUMS
sha256 = "c5ae2dd041c7f9d9b7c722490ba5a9d624f7e9a089c67090615e1ba4ad0883ba";
sha256 = "882c782c34a3bf2eacd1fae5cdc58b35b869883512f197f7d6dc8f195decfdaa";
};
nativeBuildInputs =
[
autoreconfHook
cmake
pkg-config
installShellFiles
]
++ lib.optionals stdenv.hostPlatform.isLinux [ util-linux ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ hexdump ]
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
autoSignDarwinBinariesHook
]
@@ -62,7 +57,6 @@ stdenv.mkDerivation (finalAttrs: {
[
boost
libevent
miniupnpc
zeromq
zlib
]
@@ -77,6 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
postInstall =
''
cd ..
installShellCompletion --bash contrib/completions/bash/bitcoin-cli.bash
installShellCompletion --bash contrib/completions/bash/bitcoind.bash
installShellCompletion --bash contrib/completions/bash/bitcoin-tx.bash
@@ -95,21 +90,20 @@ stdenv.mkDerivation (finalAttrs: {
install -Dm644 share/pixmaps/bitcoin256.png $out/share/pixmaps/bitcoin.png
'';
configureFlags =
cmakeFlags =
[
"--with-boost-libdir=${boost.out}/lib"
"--disable-bench"
(lib.cmakeBool "BUILD_BENCH" false)
]
++ lib.optionals (!finalAttrs.doCheck) [
"--disable-tests"
"--disable-gui-tests"
(lib.cmakeBool "BUILD_TESTS" false)
(lib.cmakeBool "BUILD_FUZZ_BINARY" false)
(lib.cmakeBool "BUILD_GUI_TESTS" false)
]
++ lib.optionals (!withWallet) [
"--disable-wallet"
(lib.cmakeBool "ENABLE_WALLET" false)
]
++ lib.optionals withGui [
"--with-gui=qt5"
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
(lib.cmakeBool "BUILD_GUI" true)
];
nativeCheckInputs = [ python3 ];
@@ -1,6 +1,7 @@
{
"platform_major": "4",
"platform_minor": "34",
"version": "4.34",
"year": "2024",
"month": "12",
"buildmonth": "11",
+5 -1
View File
@@ -41,7 +41,11 @@ esac
ECLIPSES_JSON=$(dirname $0)/eclipses.json;
t=$(mktemp);
cat $ECLIPSES_JSON | jq ". + {platform_major: \"${platform_major}\",platform_minor: \"${platform_minor}\",year: \"${year}\",month: \"${month}\",buildmonth: \"${buildmonth}\",dayHourMinute: \"${builddaytime}\"}" > $t;
# note: including platform_major, platform_minor, and version may seem redundant
# the first two are needed for the derivation itself; the third is necessary so
# that nixpkgs-update can see that the version changes as a result of this update
# script.
cat $ECLIPSES_JSON | jq ". + {platform_major: \"${platform_major}\",platform_minor: \"${platform_minor}\",version:\"${platform_major}.${platform_minor}\",year: \"${year}\",month: \"${month}\",buildmonth: \"${buildmonth}\",dayHourMinute: \"${builddaytime}\"}" > $t;
mv $t $ECLIPSES_JSON;
# prefetch new download hashes
File diff suppressed because it is too large Load Diff
@@ -217,6 +217,17 @@
};
meta.homepage = "https://github.com/ambroisie/tree-sitter-bp";
};
brightscript = buildGrammar {
language = "brightscript";
version = "0.0.0+rev=48ce168";
src = fetchFromGitHub {
owner = "ajdelcimmuto";
repo = "tree-sitter-brightscript";
rev = "48ce1687125c6dfefcc7a1bef19fa0f0f00426cc";
hash = "sha256-eVHAl8qykIS90SpWHvpT6VEqjKuXCX8zIYlRGlhUm7w=";
};
meta.homepage = "https://github.com/ajdelcimmuto/tree-sitter-brightscript";
};
c = buildGrammar {
language = "c";
version = "0.0.0+rev=2a265d6";
@@ -2558,9 +2558,15 @@ in
};
nvzone-menu = super.nvzone-menu.overrideAttrs {
checkInputs = with self; [
# Optional integrations
nvim-tree-lua
neo-tree-nvim
# FIXME: should propagate from neo-tree-nvim
nui-nvim
plenary-nvim
];
dependencies = [ self.nvzone-volt ];
# Optional nvimtree integration
nvimSkipModules = "menus.nvimtree";
};
nvzone-minty = super.nvzone-minty.overrideAttrs {
@@ -2580,6 +2586,10 @@ in
telescope-nvim
];
dependencies = [ self.plenary-nvim ];
nvimSkipModules = [
# Issue reproduction file
"minimal"
];
};
octo-nvim = super.octo-nvim.overrideAttrs {
@@ -2725,6 +2735,12 @@ in
];
};
persistent-breakpoints-nvim = super.persistent-breakpoints-nvim.overrideAttrs {
dependencies = with self; [
nvim-dap
];
};
phpactor = buildVimPlugin {
inherit (phpactor)
pname
@@ -62,11 +62,18 @@ def update_grammars(nvim_treesitter_dir: str):
generated_file = """# generated by pkgs/applications/editors/vim/plugins/utils/nvim-treesitter/update.py
{ buildGrammar, """
{
buildGrammar,
"""
generated_file += subprocess.check_output(["nurl", "-Ls", ", "], text=True)
# Get the output and format it properly
nurl_output = subprocess.check_output(["nurl", "-Ls", ","], text=True).strip()
# Add proper indentation (2 spaces) to the comma-separated list
indented_output = nurl_output.replace(",", ",\n ")
generated_file += indented_output
generated_file += """ }:
generated_file += """,
}:
{
"""
@@ -908,6 +908,7 @@ https://github.com/tmsvg/pear-tree/,,
https://github.com/steelsojka/pears.nvim/,,
https://github.com/olimorris/persisted.nvim/,HEAD,
https://github.com/folke/persistence.nvim/,,
https://github.com/Weissle/persistent-breakpoints.nvim/,,
https://github.com/pest-parser/pest.vim/,HEAD,
https://github.com/lifepillar/pgsql.vim/,,
https://github.com/phha/zenburn.nvim/,,phha-zenburn
@@ -10,30 +10,33 @@
libxml2,
}:
let
inherit (stdenv.hostPlatform) system;
inherit (vscode-utils) buildVscodeMarketplaceExtension;
lockfile = lib.importJSON ./lockfile.json;
extInfo =
(arch: {
inherit arch;
inherit (lockfile.${arch}) hash binaries;
})
(
{
x86_64-linux = "linux-x64";
aarch64-linux = "linux-arm64";
x86_64-darwin = "darwin-x64";
aarch64-darwin = "darwin-arm64";
}
.${system} or (throw "Unsupported system: ${system}")
);
extInfo = (
{
x86_64-linux = {
arch = "linux-x64";
hash = "sha256-5B2LAV5azD1mGDFWnxIOYjyyJMXxqxyL5qP0zs6jWgs=";
};
aarch64-linux = {
arch = "linux-arm64";
hash = "sha256-6tmHa8XbuNLheUzY8pr6oEJlkUJpeCeT3O7xfo2Iqls=";
};
x86_64-darwin = {
arch = "darwin-x64";
hash = "sha256-KRJ148+N3Hzht1GgnO0s5Mv27q+onPyZlY9myXw3zjg=";
};
aarch64-darwin = {
arch = "darwin-arm64";
hash = "sha256-vmtE6oeLs1B9s69yaOHASdFKznV1p3v+SsJUAJrwUrU=";
};
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}")
);
in
buildVscodeMarketplaceExtension {
vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "csdevkit";
publisher = "ms-dotnettools";
inherit (lockfile) version;
version = "1.18.23";
inherit (extInfo) hash arch;
};
sourceRoot = "extension"; # This has more than one folder.
@@ -56,9 +59,23 @@ buildVscodeMarketplaceExtension {
substituteInPlace dist/extension.js \
--replace-fail 'e.extensionPath,"cache"' 'require("os").tmpdir(),"'"$ext_unique_id"'"' \
--replace-fail 't.setExecuteBit=async function(e){if("win32"!==process.platform){const t=o.join(e[a.SERVICEHUB_CONTROLLER_COMPONENT_NAME],"Microsoft.ServiceHub.Controller"),r=o.join(e[a.SERVICEHUB_HOST_COMPONENT_NAME],(0,a.getServiceHubHostEntrypointName)()),n=[(0,a.getServerPath)(e),t,r,(0,c.getReliabilityMonitorPath)(e)];await Promise.all(n.map((e=>(0,i.chmod)(e,"0755"))))}}' 't.setExecuteBit=async function(e){}'
--replace-fail 't.setExecuteBit=async function(e){if("win32"!==process.platform){const t=i.join(e[a.SERVICEHUB_CONTROLLER_COMPONENT_NAME],"Microsoft.VisualStudio.Code.ServiceController"),r=i.join(e[a.SERVICEHUB_HOST_COMPONENT_NAME],(0,a.getServiceHubHostEntrypointName)()),n=[(0,a.getServerPath)(e),t,r,(0,c.getReliabilityMonitorPath)(e)];await Promise.all(n.map((e=>(0,o.chmod)(e,"0755"))))}}' 't.setExecuteBit=async function(e){}'
'';
chmod +x ${lib.escapeShellArgs extInfo.binaries}
preFixup = ''
(
shopt -s globstar
shopt -s dotglob
for file in "$out"/**/*; do
if [[ ! -f "$file" || "$file" == *.so || "$file" == *.dylib ]] ||
(! isELF "$file" && ! isMachO "$file"); then
continue
fi
echo Making "$file" executable...
chmod +x "$file"
done
)
'';
passthru.updateScript = ./update.sh;
@@ -1,39 +0,0 @@
{
"version": "1.16.6",
"linux-x64": {
"hash": "sha256-/ONaevRlpGc4xaYr9vV8maZUP3HbjmgUk/AbXAJM4tg=",
"binaries": [
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/servicehub-controller-net60.linux-x64/Microsoft.ServiceHub.Controller",
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-code-servicehost.linux-x64/Microsoft.VisualStudio.Code.ServiceHost",
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-x64/Microsoft.VisualStudio.Reliability.Monitor",
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-server.linux-x64/Microsoft.VisualStudio.Code.Server"
]
},
"linux-arm64": {
"hash": "sha256-yhzozbnTsAddbx0Hior/DnN+vjRFWtIW8Z4zu1xfrhY=",
"binaries": [
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/servicehub-controller-net60.linux-arm64/Microsoft.ServiceHub.Controller",
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-code-servicehost.linux-arm64/Microsoft.VisualStudio.Code.ServiceHost",
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-arm64/Microsoft.VisualStudio.Reliability.Monitor",
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-server.linux-arm64/Microsoft.VisualStudio.Code.Server"
]
},
"darwin-x64": {
"hash": "sha256-PZwhzd9yVAJiVz5g7ogICUIgwJvS2MyGQMZbNN+7QRM=",
"binaries": [
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/servicehub-controller-net60.darwin-x64/Microsoft.ServiceHub.Controller",
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-x64/Microsoft.VisualStudio.Code.ServiceHost",
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-x64/Microsoft.VisualStudio.Reliability.Monitor",
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-server.darwin-x64/Microsoft.VisualStudio.Code.Server"
]
},
"darwin-arm64": {
"hash": "sha256-iR0jJnkcA12+CJUI0ECrRSR2+j2emtfmLt2Uz4ke7YY=",
"binaries": [
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/servicehub-controller-net60.darwin-arm64/Microsoft.ServiceHub.Controller",
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-arm64/Microsoft.VisualStudio.Code.ServiceHost",
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-arm64/Microsoft.VisualStudio.Reliability.Monitor",
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-server.darwin-arm64/Microsoft.VisualStudio.Code.Server"
]
}
}
@@ -1,14 +1,12 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p curl coreutils jq nix unzip
#!nix-shell -I nixpkgs=./. -i bash -p curl jq nix common-updater-scripts
# shellcheck shell=bash
set -euo pipefail
shopt -s globstar
export LC_ALL=C
PUBLISHER=ms-dotnettools
EXTENSION=csdevkit
LOCKFILE=pkgs/applications/editors/vscode/extensions/$PUBLISHER.$EXTENSION/lockfile.json
response=$(curl -s 'https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery' \
-H 'accept: application/json;api-version=3.0-preview.1' \
@@ -23,58 +21,12 @@ latest_version=$(jq --raw-output '
| map(select(.properties | map(select(.key == "Microsoft.VisualStudio.Code.PreRelease")) | .[0].value != "true"))
| .[0].version' <<<"$response")
current_version=$(jq '.version' --raw-output <"$LOCKFILE")
if [[ "$latest_version" == "$current_version" ]]; then
echo "Package is up to date." >&2
exit 1
fi
# Return success if the specified file is an ELF object.
isELF() {
local fn="$1"
local fd
local magic
exec {fd}<"$fn"
read -r -n 4 -u "$fd" magic
exec {fd}<&-
if [ "$magic" = $'\177ELF' ]; then return 0; else return 1; fi
}
# Return success if the specified file is a Mach-O object.
isMachO() {
local fn="$1"
local fd
local magic
exec {fd}<"$fn"
read -r -n 4 -u "$fd" magic
exec {fd}<&-
# nix uses 'declare -F' in get-env.sh to retrieve the loaded functions.
# If we use the $'string' syntax instead of 'echo -ne' then 'declare' will print the raw characters and break nix.
# See https://github.com/NixOS/nixpkgs/pull/138334 and https://github.com/NixOS/nix/issues/5262.
# https://opensource.apple.com/source/lldb/lldb-310.2.36/examples/python/mach_o.py.auto.html
if [[ "$magic" = $(echo -ne "\xfe\xed\xfa\xcf") || "$magic" = $(echo -ne "\xcf\xfa\xed\xfe") ]]; then
# MH_MAGIC_64 || MH_CIGAM_64
return 0
elif [[ "$magic" = $(echo -ne "\xfe\xed\xfa\xce") || "$magic" = $(echo -ne "\xce\xfa\xed\xfe") ]]; then
# MH_MAGIC || MH_CIGAM
return 0
elif [[ "$magic" = $(echo -ne "\xca\xfe\xba\xbe") || "$magic" = $(echo -ne "\xbe\xba\xfe\xca") ]]; then
# FAT_MAGIC || FAT_CIGAM
return 0
else
return 1
fi
}
getDownloadUrl() {
nix-instantiate \
--eval \
--strict \
--json \
pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix \
'pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix' \
--attr url \
--argstr publisher $PUBLISHER \
--argstr name $EXTENSION \
@@ -82,76 +34,13 @@ getDownloadUrl() {
--argstr arch "$1" | jq . --raw-output
}
TEMP=$(mktemp --directory --tmpdir)
OUTPUT="$TEMP/lockfile.json"
trap 'rm -r "$TEMP"' EXIT
HASH=
BINARIES=()
fetchMarketplace() {
arch="$1"
echo " Downloading VSIX..."
if ! curl -sLo "$TEMP/$arch".zip "$(getDownloadUrl "$arch")"; then
echo " Failed to download extension for arch $arch" >&2
exit 1
fi
HASH=$(nix hash file --type sha256 --sri "$TEMP/$arch".zip)
BINARIES=()
echo " Extracting VSIX..."
mkdir "$TEMP/$arch"
if ! unzip "$TEMP/$arch".zip -d "$TEMP/$arch" >/dev/null; then
echo " Failed to unzip extension for arch $arch" >&2
file "$TEMP/$arch".zip >&2
exit 1
fi
echo " Listing binaries..."
for file in "$TEMP/$arch"/**/*; do
if [[ ! -f "$file" || "$file" == *.so || "$file" == *.dylib ]] ||
(! isELF "$file" && ! isMachO "$file"); then
continue
fi
echo " FOUND: ${file#"$TEMP/$arch/extension/"}"
BINARIES+=("${file#"$TEMP/$arch/extension/"}")
done
rm -r "${TEMP:?}/$arch"
update_hash() {
local hash
hash=$(nix hash convert --hash-algo sha256 "$(nix-prefetch-url --type sha256 "$(getDownloadUrl "$2")")")
update-source-version vscode-extensions.$PUBLISHER.$EXTENSION "$latest_version" "$hash" --system="$1" --ignore-same-version
}
cat >"$OUTPUT" <<EOF
{
"version": "$latest_version",
EOF
firstArch=true
for arch in linux-x64 linux-arm64 darwin-x64 darwin-arm64; do
if [ "$firstArch" = false ]; then
echo -e ',' >>"$OUTPUT"
fi
firstArch=false
echo "Getting data for $arch..."
fetchMarketplace "$arch"
cat >>"$OUTPUT" <<EOF
"$arch": {
"hash": "$HASH",
"binaries": [
EOF
firstBin=true
for binary in "${BINARIES[@]}"; do
if [ "$firstBin" = false ]; then
echo -e ',' >>"$OUTPUT"
fi
firstBin=false
echo -n " \"$binary\"" >>"$OUTPUT"
done
echo -ne '\n ]\n }' >>"$OUTPUT"
done
echo -e '\n}' >>"$OUTPUT"
mv "$OUTPUT" "$LOCKFILE"
update_hash x86_64-linux linux-x64
update_hash aarch64-linux linux-arm64
update_hash x86_64-darwin darwin-x64
update_hash aarch64-darwin darwin-arm64
@@ -10,30 +10,33 @@
coreutils,
}:
let
inherit (stdenv.hostPlatform) system;
inherit (vscode-utils) buildVscodeMarketplaceExtension;
lockfile = lib.importJSON ./lockfile.json;
extInfo =
(arch: {
inherit arch;
inherit (lockfile.${arch}) hash binaries;
})
(
{
x86_64-linux = "linux-x64";
aarch64-linux = "linux-arm64";
x86_64-darwin = "darwin-x64";
aarch64-darwin = "darwin-arm64";
}
.${system} or (throw "Unsupported system: ${system}")
);
extInfo = (
{
x86_64-linux = {
arch = "linux-x64";
hash = "sha256-YmlXnmLp0ZtFvHXOsI0sLySLprU+ntduywvvlZ2Riw0=";
};
aarch64-linux = {
arch = "linux-arm64";
hash = "sha256-QBon9zOXykngvJHydJQPdgjvLxy65DbWS+IUAzo638o=";
};
x86_64-darwin = {
arch = "darwin-x64";
hash = "sha256-fOfCm+XiD5NVexMlBeBfSxtTr9mTnn2HKFsJjuGBCJ0=";
};
aarch64-darwin = {
arch = "darwin-arm64";
hash = "sha256-e1cxz8A2IlO6fnN41PKXqPxthTuAOmAWy6/kRck6hsM=";
};
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}")
);
in
buildVscodeMarketplaceExtension {
vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "csharp";
publisher = "ms-dotnettools";
inherit (lockfile) version;
version = "2.72.27";
inherit (extInfo) hash arch;
};
@@ -52,8 +55,22 @@ buildVscodeMarketplaceExtension {
postPatch = ''
substituteInPlace dist/extension.js \
--replace-fail 'uname -m' '${lib.getExe' coreutils "uname"} -m'
'';
chmod +x ${lib.escapeShellArgs extInfo.binaries}
preFixup = ''
(
shopt -s globstar
shopt -s dotglob
for file in "$out"/**/*; do
if [[ ! -f "$file" || "$file" == *.so || "$file" == *.dylib ]] ||
(! isELF "$file" && ! isMachO "$file"); then
continue
fi
echo Making "$file" executable...
chmod +x "$file"
done
)
'';
passthru.updateScript = ./update.sh;
@@ -1,46 +0,0 @@
{
"version": "2.69.25",
"linux-x64": {
"hash": "sha256-RG3iuQXEePJvn9kh58tkXJeakdh6w8W1D4A6hn7NhQs=",
"binaries": [
".debugger/createdump",
".debugger/vsdbg",
".debugger/vsdbg-ui",
".razor/rzls",
".roslyn/Microsoft.CodeAnalysis.LanguageServer"
]
},
"linux-arm64": {
"hash": "sha256-sMUUS90uXEnIc8QyQ7Vk8/bhaUcqgwWIPObl8/qkkYI=",
"binaries": [
".debugger/createdump",
".debugger/vsdbg",
".debugger/vsdbg-ui",
".razor/rzls",
".roslyn/Microsoft.CodeAnalysis.LanguageServer"
]
},
"darwin-x64": {
"hash": "sha256-7jdVpzEx1zqvtSbr7Z6g5YnlNJyCK33g2REbx27X5Ls=",
"binaries": [
".debugger/x86_64/createdump",
".debugger/x86_64/vsdbg",
".debugger/x86_64/vsdbg-ui",
".razor/rzls",
".roslyn/Microsoft.CodeAnalysis.LanguageServer"
]
},
"darwin-arm64": {
"hash": "sha256-Oz6gGQbZwcAoy8m1mLQxOQypjoo6LQc/j1OcRX94YII=",
"binaries": [
".debugger/arm64/createdump",
".debugger/arm64/vsdbg",
".debugger/arm64/vsdbg-ui",
".debugger/x86_64/createdump",
".debugger/x86_64/vsdbg",
".debugger/x86_64/vsdbg-ui",
".razor/rzls",
".roslyn/Microsoft.CodeAnalysis.LanguageServer"
]
}
}
@@ -1,15 +1,12 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p curl coreutils jq nix unzip
#!nix-shell -I nixpkgs=./. -i bash -p curl jq nix common-updater-scripts
# shellcheck shell=bash
set -euo pipefail
shopt -s globstar
shopt -s dotglob
export LC_ALL=C
PUBLISHER=ms-dotnettools
EXTENSION=csharp
LOCKFILE=pkgs/applications/editors/vscode/extensions/$PUBLISHER.$EXTENSION/lockfile.json
response=$(curl -s 'https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery' \
-H 'accept: application/json;api-version=3.0-preview.1' \
@@ -24,58 +21,12 @@ latest_version=$(jq --raw-output '
| map(select(.properties | map(select(.key == "Microsoft.VisualStudio.Code.PreRelease")) | .[0].value != "true"))
| .[0].version' <<<"$response")
current_version=$(jq '.version' --raw-output <"$LOCKFILE")
if [[ "$latest_version" == "$current_version" ]]; then
echo "Package is up to date." >&2
exit 1
fi
# Return success if the specified file is an ELF object.
isELF() {
local fn="$1"
local fd
local magic
exec {fd}<"$fn"
read -r -n 4 -u "$fd" magic
exec {fd}<&-
if [ "$magic" = $'\177ELF' ]; then return 0; else return 1; fi
}
# Return success if the specified file is a Mach-O object.
isMachO() {
local fn="$1"
local fd
local magic
exec {fd}<"$fn"
read -r -n 4 -u "$fd" magic
exec {fd}<&-
# nix uses 'declare -F' in get-env.sh to retrieve the loaded functions.
# If we use the $'string' syntax instead of 'echo -ne' then 'declare' will print the raw characters and break nix.
# See https://github.com/NixOS/nixpkgs/pull/138334 and https://github.com/NixOS/nix/issues/5262.
# https://opensource.apple.com/source/lldb/lldb-310.2.36/examples/python/mach_o.py.auto.html
if [[ "$magic" = $(echo -ne "\xfe\xed\xfa\xcf") || "$magic" = $(echo -ne "\xcf\xfa\xed\xfe") ]]; then
# MH_MAGIC_64 || MH_CIGAM_64
return 0
elif [[ "$magic" = $(echo -ne "\xfe\xed\xfa\xce") || "$magic" = $(echo -ne "\xce\xfa\xed\xfe") ]]; then
# MH_MAGIC || MH_CIGAM
return 0
elif [[ "$magic" = $(echo -ne "\xca\xfe\xba\xbe") || "$magic" = $(echo -ne "\xbe\xba\xfe\xca") ]]; then
# FAT_MAGIC || FAT_CIGAM
return 0
else
return 1
fi
}
getDownloadUrl() {
nix-instantiate \
--eval \
--strict \
--json \
pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix \
'pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix' \
--attr url \
--argstr publisher $PUBLISHER \
--argstr name $EXTENSION \
@@ -83,76 +34,13 @@ getDownloadUrl() {
--argstr arch "$1" | jq . --raw-output
}
TEMP=$(mktemp --directory --tmpdir)
OUTPUT="$TEMP/lockfile.json"
trap 'rm -r "$TEMP"' EXIT
HASH=
BINARIES=()
fetchMarketplace() {
arch="$1"
echo " Downloading VSIX..."
if ! curl -sLo "$TEMP/$arch".zip "$(getDownloadUrl "$arch")"; then
echo " Failed to download extension for arch $arch" >&2
exit 1
fi
HASH=$(nix hash file --type sha256 --sri "$TEMP/$arch".zip)
BINARIES=()
echo " Extracting VSIX..."
mkdir "$TEMP/$arch"
if ! unzip "$TEMP/$arch".zip -d "$TEMP/$arch" >/dev/null; then
echo " Failed to unzip extension for arch $arch" >&2
file "$TEMP/$arch".zip >&2
exit 1
fi
echo " Listing binaries..."
for file in "$TEMP/$arch"/**/*; do
if [[ ! -f "$file" || "$file" == *.so || "$file" == *.dylib ]] ||
(! isELF "$file" && ! isMachO "$file"); then
continue
fi
echo " FOUND: ${file#"$TEMP/$arch/extension/"}"
BINARIES+=("${file#"$TEMP/$arch/extension/"}")
done
rm -r "${TEMP:?}/$arch"
update_hash() {
local hash
hash=$(nix hash convert --hash-algo sha256 "$(nix-prefetch-url --type sha256 "$(getDownloadUrl "$2")")")
update-source-version vscode-extensions.$PUBLISHER.$EXTENSION "$latest_version" "$hash" --system="$1" --ignore-same-version
}
cat >"$OUTPUT" <<EOF
{
"version": "$latest_version",
EOF
firstArch=true
for arch in linux-x64 linux-arm64 darwin-x64 darwin-arm64; do
if [ "$firstArch" = false ]; then
echo -e ',' >>"$OUTPUT"
fi
firstArch=false
echo "Getting data for $arch..."
fetchMarketplace "$arch"
cat >>"$OUTPUT" <<EOF
"$arch": {
"hash": "$HASH",
"binaries": [
EOF
firstBin=true
for binary in "${BINARIES[@]}"; do
if [ "$firstBin" = false ]; then
echo -e ',' >>"$OUTPUT"
fi
firstBin=false
echo -n " \"$binary\"" >>"$OUTPUT"
done
echo -ne '\n ]\n }' >>"$OUTPUT"
done
echo -e '\n}' >>"$OUTPUT"
mv "$OUTPUT" "$LOCKFILE"
update_hash x86_64-linux linux-x64
update_hash aarch64-linux linux-arm64
update_hash x86_64-darwin darwin-x64
update_hash aarch64-darwin darwin-arm64
+14 -5
View File
@@ -110,11 +110,20 @@ stdenv.mkDerivation rec {
wrapQtApp "$out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC"
'';
# See https://github.com/keepassxreboot/keepassxc/blob/cd7a53abbbb81e468efb33eb56eefc12739969b8/src/browser/NativeMessageInstaller.cpp#L317
postInstall = lib.optionalString withKeePassBrowser ''
mkdir -p "$out/lib/mozilla/native-messaging-hosts"
substituteAll "${./firefox-native-messaging-host.json}" "$out/lib/mozilla/native-messaging-hosts/org.keepassxc.keepassxc_browser.json"
'';
postInstall = lib.concatLines [
(lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p "$out/bin"
for program in keepassxc-cli keepassxc-proxy; do
ln -s "$out/Applications/KeePassXC.app/Contents/MacOS/$program" "$out/bin/$program"
done
'')
# See https://github.com/keepassxreboot/keepassxc/blob/cd7a53abbbb81e468efb33eb56eefc12739969b8/src/browser/NativeMessageInstaller.cpp#L317
(lib.optionalString withKeePassBrowser ''
mkdir -p "$out/lib/mozilla/native-messaging-hosts"
substituteAll "${./firefox-native-messaging-host.json}" "$out/lib/mozilla/native-messaging-hosts/org.keepassxc.keepassxc_browser.json"
'')
];
buildInputs =
[
+7 -21
View File
@@ -16,21 +16,21 @@
gobject-introspection,
wrapGAppsHook3,
qrencode,
webkitgtk_4_0,
webkitgtk_4_1,
discount,
json-glib,
fetchpatch,
nix-update-script,
}:
stdenv.mkDerivation rec {
pname = "pdfpc";
version = "4.6.0";
version = "4.7.0";
src = fetchFromGitHub {
repo = "pdfpc";
owner = "pdfpc";
rev = "v${version}";
hash = "sha256-5HFmbVsNajMwo+lBe9kJcJyQGe61N6Oy2CI/WJwmSE4=";
hash = "sha256-fPhCrn1ELC03/II+e021BUNJr1OKCBIcFCM7z+2Oo+s=";
};
nativeBuildInputs = [
@@ -52,29 +52,15 @@ stdenv.mkDerivation rec {
(gst-plugins-good.override { gtkSupport = true; })
gst-libav
qrencode
webkitgtk_4_0
webkitgtk_4_1
discount
json-glib
];
patches = [
# needed for compiling pdfpc 4.6.0 with vala 0.56.7, see
# https://github.com/pdfpc/pdfpc/issues/686
# https://github.com/pdfpc/pdfpc/pull/687
(fetchpatch {
url = "https://github.com/pdfpc/pdfpc/commit/d38edfac63bec54173b4b31eae5c7fb46cd8f714.diff";
hash = "sha256-KC2oyzcwU2fUmxaed8qAsKcePwR5KcXgpVdstJg8KmU=";
})
# Allow compiling with markdown3
# https://github.com/pdfpc/pdfpc/pull/716
(fetchpatch {
url = "https://github.com/pdfpc/pdfpc/commit/08e66b9d432e9598c1ee9a78b2355728036ae1a1.patch";
hash = "sha256-SKH2GQ5/6Is36xOFmSs89Yw/w7Fnma3FrNqwjOlUQKM=";
})
];
cmakeFlags = lib.optional stdenv.hostPlatform.isDarwin (lib.cmakeBool "MOVIES" false);
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Presenter console with multi-monitor support for PDF files";
mainProgram = "pdfpc";
@@ -831,13 +831,13 @@
"vendorHash": "sha256-1nm2Y4T9/mCWMXMjXEzBz3w08AYHjQJeb9mYPQeWPs0="
},
"mongodbatlas": {
"hash": "sha256-hsm5a6rHVy/m+nc77vwogQx4xnerwpkYKQF9FagbK9c=",
"hash": "sha256-V1kQPFNW0/C1Rw6gbHpQ1+yK5L8dO+zFIHkQs93a56Y=",
"homepage": "https://registry.terraform.io/providers/mongodb/mongodbatlas",
"owner": "mongodb",
"repo": "terraform-provider-mongodbatlas",
"rev": "v1.31.0",
"rev": "v1.32.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-ml6bduGjFy6cN4zwMMQnw6Ie73Ucx3H1en7viQksGBk="
"vendorHash": "sha256-VznDrCvaY6O8n1bl/fx/PIdKfFD32pQaGn5Ti1sJucU="
},
"namecheap": {
"hash": "sha256-fHH9sHI1mqQ9q9nX9DHJ0qfEfmDB4/2uzyVvUuIAF18=",
@@ -885,13 +885,13 @@
"vendorHash": "sha256-YmZvHzrEZVvXI8CIcjX40s+MHTThPeXNQ05cnqkNbbE="
},
"ns1": {
"hash": "sha256-KvslOHWMEYFFrVCF2AOH3x2ENtoZeZQ+WC3ZvXiEcEc=",
"hash": "sha256-Ufj6mrxeTVpc9rWJX3hpzoBGNnNxOMMb8TgC39Z1vqo=",
"homepage": "https://registry.terraform.io/providers/ns1-terraform/ns1",
"owner": "ns1-terraform",
"repo": "terraform-provider-ns1",
"rev": "v2.6.2",
"rev": "v2.6.3",
"spdx": "MPL-2.0",
"vendorHash": "sha256-1qFfXwlLRIAKUswrTeLtWVsZmOE/LfXrfnW8MgM8JaU="
"vendorHash": "sha256-QmL/LghZgOtdkgy102/76zFD+1lxnxn2d/11WaETIE4="
},
"null": {
"hash": "sha256-zvzBWnxWVXNOebnlgaP8lzwk6DMwwkGxx4i1QKCLSz0=",
@@ -1,10 +1,10 @@
{
buildGo123Module,
buildGo124Module,
cmake,
extra-cmake-modules,
fetchFromGitHub,
git,
go_1_23,
go_1_24,
kconfig,
kcoreaddons,
kdbusaddons,
@@ -26,21 +26,21 @@
}:
let
version = "0.20.0";
version = "0.20.1";
src = fetchFromGitHub {
owner = "f-koehler";
repo = "KTailctl";
rev = "v${version}";
hash = "sha256-BgxWsT/s5Hv5cvzcSjfrgAmZhcoquaydSZKdPmld4Rg=";
hash = "sha256-8vtNAqCDXbzEuGXqUZL26EMmVLJqSFu+E/zhK8VafLE=";
};
goDeps =
(buildGo123Module {
(buildGo124Module {
pname = "ktailctl-go-wrapper";
inherit src version;
modRoot = "src/wrapper";
vendorHash = "sha256-ntk4WyJYEi6ZX2MyXMGgsYVqhAUQSGJLHWiNLkCwMEY=";
vendorHash = "sha256-F0fY9ZqibZNIUQSIlLRO3rX4gYAFHWMdFtwRNigpGZE=";
}).goModules;
in
stdenv.mkDerivation {
@@ -65,7 +65,7 @@ stdenv.mkDerivation {
cmake
extra-cmake-modules
git
go_1_23
go_1_24
wrapQtAppsHook
];
@@ -46,19 +46,19 @@ let
callPackage
(import ./generic.nix rec {
pname = "singularity-ce";
version = "4.3.0";
version = "4.3.1";
projectName = "singularity";
src = fetchFromGitHub {
owner = "sylabs";
repo = "singularity";
tag = "v${version}";
hash = "sha256-zmrwP5ZAsRz+1zR/VozjBiT+YGJrCnvD3Y7dUsqbQwk=";
hash = "sha256-hkUM9K0AweRpLa+LZ7XOI/oDk72EKWzVN5h4Kz2w2B0=";
};
# Override vendorHash with overrideAttrs.
# See https://nixos.org/manual/nixpkgs/unstable/#buildGoModule-vendorHash
vendorHash = "sha256-Ayp+V8M3PP53ZLEagsxBB/r8Ci0tNIiH9NtbHpX6NmM=";
vendorHash = "sha256-hAVynmVXPmQPo+Kd2ajBSU+UqBpvJ5TokOJXZwySr+w=";
extraConfigureFlags = [
# Do not build squashfuse from the Git submodule sources, use Nixpkgs provided version
-3
View File
@@ -167,9 +167,6 @@ stdenv.mkDerivation (finalAttrs: {
description = "Multi-backend implementation of SYCL for CPUs and GPUs";
mainProgram = "acpp";
maintainers = with maintainers; [ yboettcher ];
# Broken with current nixpkgs ROCm 6.0.2
# Works with updated ROCm, see https://github.com/NixOS/nixpkgs/pull/367695
broken = rocmSupport && strings.versionOlder rocmPackages.clr.version "6.3.1";
license = licenses.bsd2;
};
})
@@ -7,16 +7,16 @@
buildNpmPackage rec {
pname = "all-the-package-names";
version = "2.0.2128";
version = "2.0.2129";
src = fetchFromGitHub {
owner = "nice-registry";
repo = "all-the-package-names";
tag = "v${version}";
hash = "sha256-x//g+TetH8wT6RP3W4f+exPOpiTBMTfEIJr2SgxyrmE=";
hash = "sha256-aq4WxaeMprw9ohcwd9HuiWq5GUpW6dI3FSudMyUo6Fg=";
};
npmDepsHash = "sha256-MUDeXJk+WqKGEuUlEqb3SUdh3P/gQMWgF78SboksJ2M=";
npmDepsHash = "sha256-WM2FO/qsDcXaV/2oqBlRGXc+VHaPUxFVg1DF6F0iGso=";
passthru.updateScript = nix-update-script { };
+2 -2
View File
@@ -7,12 +7,12 @@
let
pname = "altus";
version = "5.6.1";
version = "5.7.0";
src = fetchurl {
name = "altus-${version}.AppImage";
url = "https://github.com/amanharwara/altus/releases/download/${version}/Altus-${version}.AppImage";
hash = "sha512-wkH9ZEmEJTP8PAPBG4QeewGrR2Nmd4p2ZWTP/il4+bHREz0N8GttUwkjhYOy1heRSV/S+zlkGjfB8VTaNjGaaA==";
hash = "sha256-75mNEXH+C/gRptq3Cx2GUdm3+goDbIvHzpYl0tU3WoU=";
};
appimageContents = appimageTools.extractType2 {
+3 -3
View File
@@ -5,15 +5,15 @@
}:
let
pname = "ankama-launcher";
version = "3.12.38";
version = "3.12.39";
# The original URL for the launcher is:
# https://launcher.cdn.ankama.com/installers/production/Ankama%20Launcher-Setup-x86_64.AppImage
# As it does not encode the version, we use the wayback machine (web.archive.org) to get a fixed URL.
# To update the client, head to web.archive.org and create a new snapshot of the download page.
src = fetchurl {
url = "https://web.archive.org/web/20250325223011/https://launcher.cdn.ankama.com/installers/production/Ankama%20Launcher-Setup-x86_64.AppImage";
hash = "sha256-psN7aJQ19s4dYI1s/o6mma32g9++wKZyINDpNo3/q+U=";
url = "https://web.archive.org/web/20250413180128/https://launcher.cdn.ankama.com/installers/production/Ankama%20Launcher-Setup-x86_64.AppImage";
hash = "sha256-25x+x5Y0pIxvJyjbctt9weCEiH0UlqGbGM7/RKkyHXA=";
};
appimageContents = appimageTools.extract { inherit pname version src; };
@@ -154,6 +154,11 @@ let
};
});
# ModuleNotFoundError: No module named 'azure.mgmt.compute.v2024_07_01'
azure-mgmt-compute =
overrideAzureMgmtPackage super.azure-mgmt-compute "33.0.0" "tar.gz"
"sha256-o8wP5PCcjh01I8G/uSYg3+JjoKiTsKwToz1wV+nd3dI=";
# ImportError: cannot import name 'ResourceSku' from 'azure.mgmt.eventgrid.models'
azure-mgmt-eventgrid =
overrideAzureMgmtPackage super.azure-mgmt-eventgrid "10.2.0b2" "zip"
+2 -2
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "bdsync";
version = "0.11.3";
version = "0.11.4";
src = fetchFromGitHub {
owner = "rolffokkens";
repo = "bdsync";
rev = "v${version}";
sha256 = "sha256-58yoF6s0WjH+1mTY7X5OX53YgcnDmGxoCR8Kvl6lP+A=";
sha256 = "sha256-uvP26gdyIPC+IHxO5CYVuabfT4mnoWDOyaLTplYCW0I=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
];
postFixup = ''
makeWrapper $out/bin/buildbox-run-bubblewrap $out/bin/buildbox-run --prefix PATH : ${lib.makeBinPath [ bubblewrap ]}
wrapProgram $out/bin/buildbox-run --prefix PATH : ${lib.makeBinPath [ bubblewrap ]}
'';
meta = {
+3 -3
View File
@@ -10,15 +10,15 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-show-asm";
version = "0.2.48";
version = "0.2.49";
src = fetchCrate {
inherit pname version;
hash = "sha256-y8qGadmp+6exKAJvNIyBQLZnIe0DYRkiWMyIAMXMr0s=";
hash = "sha256-DH3jE7nGdwIQVHk80EsC4gYh5+wk6VMWS0d+jZYnX1I=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-6AE/Ym6Uc2kXafWW3Z/qr8O3tLcbO1wkoYdGjDw5/Do=";
cargoHash = "sha256-R+I6EVzHvI1Et4nvxENc3IvfmSLr/g77x4wCMNb2R88=";
nativeBuildInputs = [
installShellFiles
-13
View File
@@ -7,19 +7,6 @@ let
python = python3.override {
self = python;
packageOverrides = self: super: {
josepy = super.josepy.overridePythonAttrs (old: rec {
version = "1.15.0";
src = fetchFromGitHub {
owner = "certbot";
repo = "josepy";
tag = "v${version}";
hash = "sha256-fK4JHDP9eKZf2WO+CqRdEjGwJg/WNLvoxiVrb5xQxRc=";
};
dependencies = with self; [
pyopenssl
cryptography
];
});
};
};
in
+2 -2
View File
@@ -8,7 +8,7 @@
python3Packages.buildPythonApplication rec {
pname = "charmcraft";
version = "3.4.3";
version = "3.4.4";
pyproject = true;
@@ -16,7 +16,7 @@ python3Packages.buildPythonApplication rec {
owner = "canonical";
repo = "charmcraft";
tag = version;
hash = "sha256-TCr6iZHUIJ/dZhj8pWsCYKAfqv9LXD3fGP432UQh/Lo=";
hash = "sha256-EdpnTKbSDo2ZF4J/bWlcBYWuPSkxW3dmrQYjBeIyTzo=";
};
postPatch = ''
+2 -2
View File
@@ -25,14 +25,14 @@ with py.pkgs;
python3.pkgs.buildPythonApplication rec {
pname = "checkov";
version = "3.2.403";
version = "3.2.404";
pyproject = true;
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = "checkov";
tag = version;
hash = "sha256-/gcDSlxPaRvqtRGmdr4xOa782cP58a7THCRatXGRYQ8=";
hash = "sha256-hxu2FAdLMm54b0SNiHcvdKgxmsDZtA9qEqD/c9vL3Yg=";
};
pythonRelaxDeps = [
+2 -2
View File
@@ -9,11 +9,11 @@
buildGraalvmNativeImage rec {
pname = "cljfmt";
version = "0.13.0";
version = "0.13.1";
src = fetchurl {
url = "https://github.com/weavejester/cljfmt/releases/download/${version}/cljfmt-${version}-standalone.jar";
hash = "sha256-gPIDaFb8mmJyoAIOUWV7ZNNi/rSnuRkYN16Grqly0/c=";
hash = "sha256-Dj1g6hMzRhqm0pJggODVFgEkayB2Wdh3d0z6RglHbgY=";
};
extraNativeImageBuildArgs = [
+9 -9
View File
@@ -48,26 +48,26 @@
}:
let
pname = "cursor";
version = "0.48.7";
version = "0.48.8";
inherit (stdenvNoCC) hostPlatform;
sources = {
x86_64-linux = fetchurl {
url = "https://downloads.cursor.com/production/1d623c4cc1d3bb6e0fe4f1d5434b47b958b05876/linux/x64/Cursor-0.48.7-x86_64.AppImage";
hash = "sha256-LxAUhmEM02qCaeUUsHgjv0upAF7eerX+/QiGeKzRY4M=";
url = "https://downloads.cursor.com/production/7801a556824585b7f2721900066bc87c4a09b743/linux/x64/Cursor-0.48.8-x86_64.AppImage";
hash = "sha256-/5mwElzN0uURppWCLYPPECs6GzXtB54v2+jQD1RHcJE=";
};
aarch64-linux = fetchurl {
url = "https://downloads.cursor.com/production/1d623c4cc1d3bb6e0fe4f1d5434b47b958b05876/linux/arm64/Cursor-0.48.7-aarch64.AppImage";
hash = "sha256-l1T0jLX7oWjq4KzxO4QniUAjzVbBu4SWA1r5aXGpDS4=";
url = "https://downloads.cursor.com/production/7801a556824585b7f2721900066bc87c4a09b743/linux/arm64/Cursor-0.48.8-aarch64.AppImage";
hash = "sha256-OXGUjTNwc0VZ8Q7arMyhfhN/bPTOCYS9Bfi1I4TJCXY=";
};
x86_64-darwin = fetchurl {
url = "https://downloads.cursor.com/production/1d623c4cc1d3bb6e0fe4f1d5434b47b958b05876/darwin/x64/Cursor-darwin-x64.dmg";
hash = "sha256-h9zcmZRpOcfBRK5Xw/AdY/rwlINEHYiUgpCoGXg6hSY=";
url = "https://downloads.cursor.com/production/7801a556824585b7f2721900066bc87c4a09b743/darwin/x64/Cursor-darwin-x64.dmg";
hash = "sha256-uLKOjo4aYK0r69a0jFevzE4bJJ0mqg0pJEPYdtlo8tU=";
};
aarch64-darwin = fetchurl {
url = "https://downloads.cursor.com/production/1d623c4cc1d3bb6e0fe4f1d5434b47b958b05876/darwin/arm64/Cursor-darwin-arm64.dmg";
hash = "sha256-FsXabTXN1Bkn1g4ZkQVqa+sOx4JkSG9c09tp8lAcPKM=";
url = "https://downloads.cursor.com/production/7801a556824585b7f2721900066bc87c4a09b743/darwin/arm64/Cursor-darwin-arm64.dmg";
hash = "sha256-xSmBSK9pum6RlvXnyhNA1HM6Y88R2bRASJkLTHfxzMY=";
};
};
+3 -3
View File
@@ -7,15 +7,15 @@
buildGoModule rec {
pname = "conftest";
version = "0.58.0";
version = "0.59.0";
src = fetchFromGitHub {
owner = "open-policy-agent";
repo = "conftest";
tag = "v${version}";
hash = "sha256-zvm4IPtv2B5gw3r3/ZtWcAXF632100xl8VgxhthsKkY=";
hash = "sha256-bmZp1cPNTm6m30YxjlWdnfv2437nDXH+taDNFZ0OKIY=";
};
vendorHash = "sha256-1jMMz661ND6MAbRk+FgdA8KtpsNdrNFM8OPBuJmS0Sk=";
vendorHash = "sha256-aPvGbtAucb9OdcydO4dMLJrrM3XretPI7zyJULlm1fg=";
ldflags = [
"-s"
+16
View File
@@ -3,6 +3,8 @@
stdenv,
fetchFromGitHub,
rustPlatform,
fetchpatch,
cosmic-wallpapers,
libcosmicAppHook,
just,
nasm,
@@ -21,6 +23,20 @@ rustPlatform.buildRustPackage (finalAttrs: {
hash = "sha256-4b4laUXTnAbdngLVh8/dD144m9QrGReSEjRZoNR6Iks=";
};
patches = [
# TOOD: This is merged and will be included in the 7th Alpha release, remove it then.
(fetchpatch {
url = "https://github.com/pop-os/cosmic-bg/commit/6a824a7902d7cc72b5a3117b6486603a1795a1d6.patch";
hash = "sha256-jL0az87BlJU99lDF3jnE74I4m/NV6NViyYXTfZoBDM4=";
})
];
postPatch = ''
substituteInPlace config/src/lib.rs data/v1/all \
--replace-fail '/usr/share/backgrounds/cosmic/orion_nebula_nasa_heic0601a.jpg' \
"${cosmic-wallpapers}/share/backgrounds/cosmic/orion_nebula_nasa_heic0601a.jpg"
'';
useFetchCargoVendor = true;
cargoHash = "sha256-GLXooTjcGq4MsBNnlpHBBUJGNs5UjKMQJGJuj9UO2wk=";
+2 -2
View File
@@ -13,7 +13,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
inherit pname;
version = "25.1.2";
version = "25.1.3";
src =
let
@@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
in
fetchurl {
url = "https://www.dbvis.com/product_download/dbvis-${finalAttrs.version}/media/dbvis_linux_${underscoreVersion}.tar.gz";
hash = "sha256-bEvC0cd/slgddXDiLaArri3+hA3CRHBy9vhrJ8m1Jrg=";
hash = "sha256-K9RbQPCqU9t6i0zKl2P1aRhgfAs69GORtVA2KU6fqLw=";
};
strictDeps = true;
@@ -116,6 +116,8 @@ stdenv.mkDerivation (finalAttrs: {
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
--inherit-argv0
install -Dt "$out/share/icons/hicolor/scalable/apps" images/tray/deltachat.svg
runHook postInstall
'';
+9 -6
View File
@@ -29,17 +29,18 @@
lerc,
doxygen,
writableTmpDirAsHomeHook,
nix-update-script,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "deskflow";
version = "1.20.1";
version = "1.21.2";
src = fetchFromGitHub {
owner = "deskflow";
repo = "deskflow";
tag = "v${version}";
hash = "sha256-lX8K7HuC/Sxa5M0h+r5NmdFf032nVrE9JF6H+IBWPUA=";
tag = "v${finalAttrs.version}";
hash = "sha256-gXFBn8hlI8MZ9Vy3goPjosn0JgvaAgZaFIGh/3rFdx8=";
};
postPatch = ''
@@ -106,15 +107,17 @@ stdenv.mkDerivation rec {
runHook postCheck
'';
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/deskflow/deskflow";
description = "Share one mouse and keyboard between multiple computers on Windows, macOS and Linux";
mainProgram = "deskflow";
maintainers = with lib.maintainers; [ ];
maintainers = with lib.maintainers; [ flacks ];
license = with lib; [
licenses.gpl2Plus
licenses.openssl
];
platforms = lib.platforms.linux;
};
}
})
+3
View File
@@ -0,0 +1,3 @@
{
"yarn_offline_cache_hash": "sha256-EM1YRbcgn0gLgw/8KImKBbG7T14ztsXqw7U5SINUT+U="
}
+80
View File
@@ -0,0 +1,80 @@
{
"name": "draupnir",
"version": "2.2.0",
"description": "A moderation tool for Matrix",
"main": "lib/index.js",
"repository": "https://github.com/the-draupnir-project/Draupnir.git",
"author": "Gnuxie",
"license": "AFL-3.0",
"private": true,
"scripts": {
"build": "tsc --project test/tsconfig.json && tsc > /dev/null 2>&1",
"postbuild": "corepack yarn describe-version",
"describe-version": "(git describe > version.txt.tmp && mv version.txt.tmp version.txt) || true && rm -f version.txt.tmp",
"remove-tests-from-lib": "rm -rf lib/test/ && cp -r lib/src/* lib/ && rm -rf lib/src/",
"lint": "corepack yarn eslint --cache src test && corepack yarn prettier --cache --ignore-unknown --check src test",
"start:dev": "corepack yarn build && node --async-stack-traces lib/index.js",
"test:unit": "mocha --require './test/tsnode.cjs' --forbid-only 'test/unit/**/*.{ts,tsx}'",
"test:unit:single": "mocha --require test/tsnode.cjs",
"test:integration": "NODE_ENV=harness mocha --require test/tsnode.cjs --async-stack-traces --forbid-only --require test/integration/fixtures.ts --timeout 300000 --project ./tsconfig.json \"test/integration/**/*Test.ts\"",
"test:integration:single": "NODE_ENV=harness corepack yarn mocha --require test/tsnode.cjs --require test/integration/fixtures.ts --timeout 300000 --project ./tsconfig.json",
"test:appservice:integration": "NODE_ENV=harness mocha --require test/tsnode.cjs --async-stack-traces --forbid-only --timeout 300000 --project ./tsconfig.json \"test/appservice/integration/**/*Test.ts\"",
"test:appservice:integration:single": "NODE_ENV=harness corepack yarn mocha --require test/tsnode.cjs --timeout 300000 --project ./tsconfig.json",
"test:manual": "NODE_ENV=harness ts-node test/integration/manualLaunchScript.ts",
"version": "sed -i '/# version automated/s/[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][^\"]*/'$npm_package_version'/' synapse_antispam/setup.py && git add synapse_antispam/setup.py && cat synapse_antispam/setup.py"
},
"devDependencies": {
"@eslint/js": "^9.7.0",
"@types/better-sqlite3": "^7.6.9",
"@types/config": "^3.3.1",
"@types/crypto-js": "^4.2.2",
"@types/eslint__js": "^8.42.3",
"@types/express": "^4.17.21",
"@types/html-to-text": "^8.0.1",
"@types/js-yaml": "^4.0.9",
"@types/jsdom": "21.1.7",
"@types/mocha": "^10.0.7",
"@types/nedb": "^1.8.16",
"@types/node": "^20.14.11",
"@types/pg": "^8.6.5",
"@types/request": "^2.48.12",
"crypto-js": "^4.2.0",
"eslint": "^9.7.0",
"expect": "^29.7.0",
"mocha": "^10.7.0",
"prettier": "^3.3.3",
"ts-auto-mock": "^3.7.4",
"ts-node": "^10.9.2",
"typescript": "^5.5.3",
"typescript-eslint": "^7.16.1"
},
"dependencies": {
"@gnuxie/typescript-result": "^1.0.0",
"@sentry/node": "^7.17.2",
"@sinclair/typebox": "0.34.13",
"@the-draupnir-project/interface-manager": "4.0.2",
"@the-draupnir-project/matrix-basic-types": "1.2.0",
"better-sqlite3": "^9.4.3",
"body-parser": "^1.20.2",
"config": "^3.3.9",
"express": "^4.19",
"html-to-text": "^8.0.0",
"js-yaml": "^4.1.0",
"jsdom": "^24.0.0",
"matrix-appservice-bridge": "^10.3.1",
"matrix-bot-sdk": "npm:@vector-im/matrix-bot-sdk@^0.7.1-element.6",
"matrix-protection-suite": "npm:@gnuxie/matrix-protection-suite@2.10.0",
"matrix-protection-suite-for-matrix-bot-sdk": "npm:@gnuxie/matrix-protection-suite-for-matrix-bot-sdk@2.10.1",
"pg": "^8.8.0",
"yaml": "^2.3.2"
},
"overrides": {
"matrix-bot-sdk": "$@vector-im/matrix-bot-sdk",
"@vector-im/matrix-bot-sdk": "npm:@vector-im/matrix-bot-sdk@^0.7.1-element.6",
"@the-draupnir-project/matrix-basic-types": "@the-draupnir-project/matrix-basic-types@1.2.0"
},
"engines": {
"node": ">=20.0.0"
},
"packageManager": "yarn@1.22.22+sha1.ac34549e6aa8e7ead463a7407e1c7390f61a6610"
}
+121
View File
@@ -0,0 +1,121 @@
{
lib,
fetchFromGitHub,
makeWrapper,
nodejs,
matrix-sdk-crypto-nodejs,
python3,
sqlite,
srcOnly,
removeReferencesTo,
mkYarnPackage,
fetchYarnDeps,
stdenv,
cctools,
}:
# docs: https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/javascript.section.md#yarn2nix-javascript-yarn2nix
let
hashesFile = builtins.fromJSON (builtins.readFile ./hashes.json);
nodeSources = srcOnly nodejs;
in
mkYarnPackage rec {
pname = "draupnir";
version = "2.2.0";
src = fetchFromGitHub {
owner = "the-draupnir-project";
repo = "Draupnir";
tag = "v${version}";
hash = "sha256-EeYjtrfnX+z6SeXavUhUU53mURph48gIUZlF3tubl20=";
};
nativeBuildInputs = [
makeWrapper
sqlite
];
offlineCache = fetchYarnDeps {
name = "${pname}-yarn-offline-cache";
yarnLock = src + "/yarn.lock";
hash = hashesFile.yarn_offline_cache_hash;
};
packageJSON = ./package.json;
pkgConfig = {
"@matrix-org/matrix-sdk-crypto-nodejs" = {
postInstall = ''
# replace with the existing package in nixpkgs
cd ..
rm -r matrix-sdk-crypto-nodejs
ln -s ${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/* ./
'';
};
better-sqlite3 = {
nativeBuildInputs = [ python3 ] ++ lib.optional stdenv.hostPlatform.isDarwin cctools.libtool;
postInstall = ''
# build native sqlite bindings
npm run build-release --offline --nodedir="${nodeSources}"
find build -type f -exec \
${lib.getExe removeReferencesTo} -t "${nodeSources}" {} \;
'';
};
};
preBuild = ''
# install proper version info
mkdir --parents deps/draupnir/
echo "${version}-nix" > deps/draupnir/version.txt
# makes network requests
sed -i 's/corepack //g' deps/draupnir/package.json
'';
buildPhase = ''
runHook preBuild
yarn --offline --verbose build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir --parents $out/share
cp --archive . $out/share/draupnir
makeWrapper ${lib.getExe nodejs} $out/bin/draupnir \
--add-flags $out/share/draupnir/deps/draupnir/lib/index.js
runHook postInstall
'';
distPhase = "true";
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "A moderation tool for Matrix";
homepage = "https://github.com/the-draupnir-project/Draupnir";
longDescription = ''
As an all-in-one moderation tool, it can protect your server from
malicious invites, spam messages, and whatever else you don't want.
In addition to server-level protection, Draupnir is great for communities
wanting to protect their rooms without having to use their personal
accounts for moderation.
The bot by default includes support for bans, redactions, anti-spam,
server ACLs, room directory changes, room alias transfers, account
deactivation, room shutdown, and more.
A Synapse module is also available to apply the same rulesets the bot
uses across an entire homeserver.
'';
license = licenses.afl3;
maintainers = with maintainers; [ RorySys ];
mainProgram = "draupnir";
};
}
+39
View File
@@ -0,0 +1,39 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl common-updater-scripts coreutils jq prefetch-yarn-deps git
set -euo pipefail
set -x
cd "$(git rev-parse --show-toplevel)"
TMPDIR=$(mktemp -d)
echo "Getting versions..."
latestVersion="$(curl -sL "https://api.github.com/repos/the-draupnir-project/Draupnir/releases?per_page=1" | jq -r '.[0].tag_name | ltrimstr("v")')"
echo " --> Latest version: ${latestVersion}"
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; draupnir.version or (lib.getVersion draupnir)" | tr -d '"')
echo " --> Current version: ${currentVersion}"
if [[ "$currentVersion" == "$latestVersion" ]]; then
echo "Draupnir is up-to-date: $currentVersion"
exit 0
else
echo "We are out of date..."
fi
curl https://raw.githubusercontent.com/the-draupnir-project/Draupnir/v$latestVersion/package.json -o pkgs/by-name/dr/draupnir/package.json
update-source-version draupnir "$latestVersion"
# Update yarn offline cache hash
cd $TMPDIR
curl https://raw.githubusercontent.com/the-draupnir-project/Draupnir/v$latestVersion/yarn.lock -o yarn.lock
TMP_PREFETCH_HASH=`prefetch-yarn-deps yarn.lock`
NEW_YARN_OFFLINE_HASH=`nix hash to-sri --type sha256 $TMP_PREFETCH_HASH`
cd -
echo "New yarn offline hash: $NEW_YARN_OFFLINE_HASH"
TMPFILE=$(mktemp)
jq '.yarn_offline_cache_hash = "'$NEW_YARN_OFFLINE_HASH'"' pkgs/by-name/dr/draupnir/hashes.json > $TMPFILE
mv -- "$TMPFILE" pkgs/by-name/dr/draupnir/hashes.json
+3 -3
View File
@@ -8,17 +8,17 @@
rustPlatform.buildRustPackage rec {
pname = "dummyhttp";
version = "1.1.0";
version = "1.1.1";
src = fetchFromGitHub {
owner = "svenstaro";
repo = "dummyhttp";
rev = "v${version}";
hash = "sha256-LgOIL4kg3cH0Eo+Z+RGwxZTPzCNSGAdKT7N8tZWHSQQ=";
hash = "sha256-C3fjZgjVazZ8BNhcFJD5SsRO+xjHxw9XQPfPS+qnGtc=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-IDvl3qCTUO0KWaAVsF1sTf9lFhVITY6EZgllfw4U/Ho=";
cargoHash = "sha256-bjNB0aoG9Mrz1JzD80j2Czfg0pfU2uGlFFsi5WO4pdU=";
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.Security
+1
View File
@@ -65,6 +65,7 @@ buildFHSEnv {
lz4.dev
tbb
libxkbcommon
librealsense
boost
glew
])
+2 -2
View File
@@ -17,13 +17,13 @@
}:
let
version = "0.203.0";
version = "0.203.1";
src = fetchFromGitHub {
owner = "evcc-io";
repo = "evcc";
tag = version;
hash = "sha256-rrpYa73Rl+pLQ3FhnDF+t1uHT7SJJcrx6kjdxXsOfM8=";
hash = "sha256-TdEK63F7LQwyj6aPA1NKqZLUn2cnP0XgS51vqfzNVJ8=";
};
vendorHash = "sha256-TqtJlsT/uaqQe/mAh1hw92N3uw6GLkdwh9aIMmdNbkY=";
+2 -2
View File
@@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "exploitdb";
version = "2025-04-11";
version = "2025-04-14";
src = fetchFromGitLab {
owner = "exploit-database";
repo = "exploitdb";
rev = "refs/tags/${version}";
hash = "sha256-sR1VHGFsnLmzO7umcJn88jFWU57LlanPuDu708pSBW0=";
hash = "sha256-yoQB2QM9Fg4tKKPeGTM68+Su98mt8znkINNQY9cVUoI=";
};
nativeBuildInputs = [ makeWrapper ];
+2 -2
View File
@@ -23,13 +23,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "feather";
version = "2.8.0";
version = "2.8.1";
src = fetchFromGitHub {
owner = "feather-wallet";
repo = "feather";
rev = finalAttrs.version;
hash = "sha256-c7qa6MmENCEjZz8b/xyCcCO2+iI5dI8hJynBW3haSWE=";
hash = "sha256-DZBRZBcoba32Z/bFThn/9siC8VESg5gdfoFO4Nw8JqM=";
fetchSubmodules = true;
};
+54
View File
@@ -0,0 +1,54 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
zstd,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ferron";
version = "1.0.0";
src = fetchFromGitHub {
owner = "ferronweb";
repo = "ferron";
tag = finalAttrs.version;
hash = "sha256-kw2Ffl5KB3urg5h/ejbW+WxYLpNrxIjPy0levZPgRoo=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-uPzEz72/3huigY8moYX5ztRZ0Uaye+GN7V8vKKklPkY=";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
zstd
];
env = {
ZSTD_SYS_USE_PKG_CONFIG = true;
};
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Fast, memory-safe web server written in Rust";
homepage = "https://github.com/ferronweb/ferron";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ GaetanLepage ];
mainProgram = "ferron";
};
})
+33 -12
View File
@@ -1,45 +1,62 @@
{
buildGo123Module,
buildNpmPackage,
fetchFromGitHub,
lib,
stdenv,
fetchFromGitHub,
buildGo123Module,
nodejs_22,
pnpm_9,
}:
let
version = "2.31.0";
version = "2.32.0";
pnpm = pnpm_9;
nodejs = nodejs_22;
src = fetchFromGitHub {
owner = "filebrowser";
repo = "filebrowser";
rev = "v${version}";
hash = "sha256-zLM1fLrucIhzGdTTDu81ZnTIipK+iRnPhgfMiT1P+yg=";
hash = "sha256-jckwk45pIRrlzZaG3jH8aLq08L5xnrbt4OdwKNS6+nI=";
};
frontend = buildNpmPackage rec {
frontend = stdenv.mkDerivation (finalAttrs: {
pname = "filebrowser-frontend";
inherit version src;
sourceRoot = "${src.name}/frontend";
nativeBuildInputs = [
nodejs
pnpm.configHook
];
npmDepsHash = "sha256-5/yEMWkNPAS8/PkaHlPBGFLiJu7xK2GHYo5dYqHAfCE=";
pnpmRoot = "frontend";
NODE_OPTIONS = "--openssl-legacy-provider";
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
sourceRoot = "${src.name}/frontend";
hash = "sha256-L3cKAp0vvLW5QPz6vYTtZwzuIN70EObU3SyJOlA0Ehc=";
};
installPhase = ''
runHook preInstall
pnpm install -C frontend --frozen-lockfile
pnpm run -C frontend build
mkdir $out
mv dist $out
mv frontend/dist $out
runHook postInstall
'';
};
});
in
buildGo123Module {
pname = "filebrowser";
inherit version src;
vendorHash = "sha256-N5aUs8rgTYXeb0qJhPQBCa6lUDkT6lH1bh+1u4bixos=";
vendorHash = "sha256-Jce90mvNzjElCtEMQSSU3IQPz+WLhyEol1ktW4FG7yk=";
excludedPackages = [ "tools" ];
@@ -47,6 +64,10 @@ buildGo123Module {
cp -r ${frontend}/dist frontend/
'';
ldflags = [
"-X github.com/filebrowser/filebrowser/v2/version.Version=v${version}"
];
passthru = {
inherit frontend;
};
+20 -25
View File
@@ -3,46 +3,41 @@
fetchFromGitHub,
rustPlatform,
fetchurl,
runCommand,
lndir,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "flaca";
version = "3.2.3";
version = "3.3.2";
src =
let
source = fetchFromGitHub {
owner = "Blobfolio";
repo = "flaca";
rev = "v${version}";
hash = "sha256-GpxOTu7yjJ9IFMKVkgjLeKGNEUiKw0ZeWQorfhaOTsg=";
};
lockFile = fetchurl {
url = "https://github.com/Blobfolio/flaca/releases/download/v${version}/Cargo.lock";
hash = "sha256-SaqQ4U8JXTFlp1EqkNZ6VV8KyPXHYtEycfZn/68SeHY=";
};
in
runCommand "source-with-lock" { nativeBuildInputs = [ lndir ]; } ''
mkdir -p $out
ln -s ${lockFile} $out/Cargo.lock
lndir -silent ${source} $out
'';
lockFile = fetchurl {
url = "https://github.com/Blobfolio/flaca/releases/download/v${finalAttrs.version}/Cargo.lock";
hash = "sha256-AFEuJQAz+cXUuyLefqsV2VyytJ+sfLrJQSArITqQZZU=";
};
src = fetchFromGitHub {
owner = "Blobfolio";
repo = "flaca";
tag = "v${finalAttrs.version}";
hash = "sha256-sxBP3L9Abk3/NYkE1UeFFulGEhDe4wKqS71wrX6mA9c=";
};
postUnpack = ''
ln -s ${finalAttrs.lockFile} ${finalAttrs.src.name}/Cargo.lock
'';
nativeBuildInputs = [ rustPlatform.bindgenHook ];
useFetchCargoVendor = true;
cargoHash = "sha256-MdPPLv0836rVxVrl8PXMDufHdTtmBBhJ/EuG4qcK3Kk=";
cargoHash = "sha256-i4eYyS3s7q/1PaqwawpWeDbUHUGEvIfN65xfvpLkOpY=";
meta = with lib; {
description = "CLI tool to losslessly compress JPEG and PNG images";
longDescription = "A CLI tool for x86-64 Linux machines that simplifies the task of maximally, losslessly compressing JPEG and PNG images for use in production web environments";
homepage = "https://github.com/Blobfolio/flaca";
changelog = "https://github.com/Blobfolio/flaca/releases/tag/v${version}";
changelog = "https://github.com/Blobfolio/flaca/releases/tag/v${finalAttrs.version}";
maintainers = with maintainers; [ zzzsy ];
platforms = platforms.linux;
license = licenses.wtfpl;
mainProgram = "flaca";
};
}
})
+3 -3
View File
@@ -22,19 +22,19 @@
stdenv.mkDerivation (finalAttrs: {
pname = "flare";
version = "0.15.12";
version = "0.15.16";
src = fetchFromGitLab {
domain = "gitlab.com";
owner = "schmiddi-on-mobile";
repo = "flare";
rev = finalAttrs.version;
hash = "sha256-qj34x/e5Nc3wPdFaHFZHQ8uCMHIlxfVNyvlp7eb3tSo=";
hash = "sha256-oG5RHCOk/VPCUAdg/+gfw9/cErnaZBKnwzLzdaboSyY=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-Nri3GOq7aaY3yIVQESMPUck3z8++FnAmIbIdkTe+GXw=";
hash = "sha256-Id08JgFbeuGrMrBFyXF/ke/LfkqvT+biEgDOyW8sZh0=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -16,13 +16,13 @@
rustPlatform.buildRustPackage {
pname = "forecast";
version = "0-unstable-2025-03-09";
version = "0-unstable-2025-04-12";
src = fetchFromGitHub {
owner = "cosmic-utils";
repo = "forecast";
rev = "393ea6ed4d6b1ba5bba71216bd25a869811ad14d";
hash = "sha256-r0S3AzbpK8l3wrXNT2F1v4GHJFom32YJ63qjhrtBgB0=";
rev = "2dc599ff9a4417d511305d910367dd195aa1378a";
hash = "sha256-sD6aGpU1gET+0YPCD8wtxJWEJgWE/xYTWQAaIu2+e/8=";
};
useFetchCargoVendor = true;
+3 -3
View File
@@ -15,13 +15,13 @@
buildGoModule rec {
pname = "fulcio";
version = "1.6.6";
version = "1.7.0";
src = fetchFromGitHub {
owner = "sigstore";
repo = pname;
rev = "v${version}";
hash = "sha256-CfkHGHxeDUxHWX98FgmA4RNCVlgi9XA9eYkb+G5cZTA=";
hash = "sha256-ymPczybHADTz4uiY8aLLre+Q8bBq/5L5MXJ26eBhi+U=";
# 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 rec {
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
vendorHash = "sha256-qQsaX/xaqD1qb9wH6riohm+NU49cN3EkO012oz9n4tw=";
vendorHash = "sha256-lfJCPE8FRAX+juXQ7CiwItbnd0kAheaEdWG0Bwoyz/Y=";
nativeBuildInputs = [ installShellFiles ];
@@ -0,0 +1,12 @@
--- a/share/info/porting.info
+++ b/share/info/porting.info
@@ -16,9 +16,7 @@ a permission notice identical to this one.
manual into another language, under the above conditions for modified
versions.
START-INFO-DIR-ENTRY
-START-INFO-DIR-ENTRY
* Embed with GNU: (porting-). Embed with GNU
-END-INFO-DIR-ENTRY
END-INFO-DIR-ENTRY
Copyright (C) 1993, 1994, 1995 Cygnus Support
@@ -32,6 +32,12 @@ stdenv.mkDerivation rec {
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
patches = [
# fix double entry in share/info/porting.info
# https://github.com/NixOS/nixpkgs/issues/363902
./info-fix.patch
];
dontConfigure = true;
dontBuild = true;
dontPatchELF = true;
@@ -0,0 +1,12 @@
--- a/share/info/porting.info
+++ b/share/info/porting.info
@@ -16,9 +16,7 @@ a permission notice identical to this one.
manual into another language, under the above conditions for modified
versions.
START-INFO-DIR-ENTRY
-START-INFO-DIR-ENTRY
* Embed with GNU: (porting-). Embed with GNU
-END-INFO-DIR-ENTRY
END-INFO-DIR-ENTRY
Copyright (C) 1993, 1994, 1995 Cygnus Support
@@ -34,6 +34,12 @@ stdenv.mkDerivation rec {
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
patches = [
# fix double entry in share/info/porting.info
# https://github.com/NixOS/nixpkgs/issues/363902
./info-fix.patch
];
dontConfigure = true;
dontBuild = true;
dontPatchELF = true;
+102 -102
View File
@@ -42,325 +42,325 @@ in
{
app-schema = mkGeoserverExtension {
name = "app-schema";
version = "2.26.2"; # app-schema
hash = "sha256-pFjKgEuAFiEN6FJkooKqMHzkbZnQWchzzLFPsA9TDH4="; # app-schema
version = "2.27.0"; # app-schema
hash = "sha256-S7WtIbmn9RF0mmTRiOH5zFsjZ6y0mvVu0H8jKCdTPHM="; # app-schema
};
authkey = mkGeoserverExtension {
name = "authkey";
version = "2.26.2"; # authkey
hash = "sha256-u1/dbTHZPIImVq46YGWpdsO60wg6jWmc4ttAzasKpcU="; # authkey
version = "2.27.0"; # authkey
hash = "sha256-GwA/f5wMf701TEs04Dgx/zcEA/jBHgw0JuJMKqTuRTU="; # authkey
};
cas = mkGeoserverExtension {
name = "cas";
version = "2.26.2"; # cas
hash = "sha256-KagmWS+VNsC1wtasa9UwNZsaUzmbZKG/SPBq91pW4R8="; # cas
version = "2.27.0"; # cas
hash = "sha256-poD8OBeR7txtM1nJDy5MV6GVREVonLvx3TUY3a1V2Mc="; # cas
};
charts = mkGeoserverExtension {
name = "charts";
version = "2.26.2"; # charts
hash = "sha256-TDv+7JFe5N8HtxjNOFYcfdJ9kdCLBKigdvqzb9p3dow="; # charts
version = "2.27.0"; # charts
hash = "sha256-8FoaN9EoFZ56YPev//IphMjce1iJQnMbP6xCdVSwMiU="; # charts
};
control-flow = mkGeoserverExtension {
name = "control-flow";
version = "2.26.2"; # control-flow
hash = "sha256-QQowtOOUKJCm1C7VkDHWbIscCal3PsxFMTfi5JUZqi8="; # control-flow
version = "2.27.0"; # control-flow
hash = "sha256-DyZp/dcRm/xuvxv49qvepcDJPyHGiG4wMbEzKNhNcH0="; # control-flow
};
css = mkGeoserverExtension {
name = "css";
version = "2.26.2"; # css
hash = "sha256-MgAwSWpSVrGJYRxGt1gCiLXj8uXQ8hvCkfI+yGtZU34="; # css
version = "2.27.0"; # css
hash = "sha256-PKRgGbDlTjrFkhrDpbjDjAl+Q/gjWXFw9C0QpKB8+Ro="; # css
};
csw = mkGeoserverExtension {
name = "csw";
version = "2.26.2"; # csw
hash = "sha256-i3ObMkSOnCGihZm8CcMj90jG3B8pYRTX9Yd4uuholKY="; # csw
version = "2.27.0"; # csw
hash = "sha256-sddOghBd8OVjKmaF3PqM/G+RkpsUk6vmCZv7uQJTJnU="; # csw
};
csw-iso = mkGeoserverExtension {
name = "csw-iso";
version = "2.26.2"; # csw-iso
hash = "sha256-zEVkldjEsI+sBbMDvvL2b6DciwwUacsufXgvIDfLYX4="; # csw-iso
version = "2.27.0"; # csw-iso
hash = "sha256-WVKVoQWIusgpAZUWPybBBIMbtWB56uNix3T50hy0x5w="; # csw-iso
};
db2 = mkGeoserverExtension {
name = "db2";
version = "2.26.2"; # db2
hash = "sha256-g9J/KZ3ET2HSs1fhVFW8cRe409vfZddBaXoXOgVZrcE="; # db2
version = "2.27.0"; # db2
hash = "sha256-jlyRGOGBFJ0+sArKXqchITlS6swE/v4ScdxPKWANFaE="; # db2
};
# Needs wps extension.
dxf = mkGeoserverExtension {
name = "dxf";
version = "2.26.2"; # dxf
hash = "sha256-Ninuw1npfy3lND0O8Tu87hv/gXPQFC3vU8H1oE8aLdc="; # dxf
version = "2.27.0"; # dxf
hash = "sha256-hdn5X7T5/H7Ti0UK3MdG0TFGInwu7S7Z4VghcWx+hdQ="; # dxf
};
excel = mkGeoserverExtension {
name = "excel";
version = "2.26.2"; # excel
hash = "sha256-Lqkbr6KTtiKUmW5A3Uqem0C81oNnLd6eVzm/MwvnYjg="; # excel
version = "2.27.0"; # excel
hash = "sha256-EH1TZeYPk+sb9+7ZfjbaEsNgQJ+/57XCc2+CvELsY88="; # excel
};
feature-pregeneralized = mkGeoserverExtension {
name = "feature-pregeneralized";
version = "2.26.2"; # feature-pregeneralized
hash = "sha256-T6NiDBOIpqQKEAm58558seSpHSA84w9K1C9l2Xy/sWQ="; # feature-pregeneralized
version = "2.27.0"; # feature-pregeneralized
hash = "sha256-0389xo0NjTREGQLMrqJesl/XrFOrjFjjFBL7GSUMl/Y="; # feature-pregeneralized
};
# Note: The extension name ("gdal") clashes with pkgs.gdal.
gdal = mkGeoserverExtension {
name = "gdal";
version = "2.26.2"; # gdal
version = "2.27.0"; # gdal
buildInputs = [ pkgs.gdal ];
hash = "sha256-OgkoB2VY4x+6kfDDbOMKUzyd6/Q1m9YMC6sZU17qRsE="; # gdal
hash = "sha256-oTSEk+AmgXydSF4TZD9m5ViyeWh5HpAprMZAPMdP2LI="; # gdal
};
# Throws "java.io.FileNotFoundException: URL [jar:file:/nix/store/.../WEB-INF/lib/gs-geofence-server-2.24.1.jar!/geofence-default-override.properties] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/nix/store/.../WEB-INF/lib/gs-geofence-server-2.24.1.jar!/geofence-default-override.properties" but seems to work out of the box.
#geofence = mkGeoserverExtension {
# name = "geofence";
# version = "2.26.2"; # geofence
# hash = "sha256-gXJYk64qO78hQhEmmJU98mrSYIKK/DlRPptdS6rFDD0="; # geofence
# version = "2.27.0"; # geofence
# hash = "sha256-P7ZHvC4qv1meziqPmBfOgQ+Y06Ico0N1trUi9LMZUJQ="; # geofence
#};
#geofence-server = mkGeoserverExtension {
# name = "geofence-server";
# version = "2.26.2"; # geofence-server
# hash = "sha256-tyxIjQNmATtLy1X9dmaLugsbMyg7+2+NMx8a5jvVvDU="; # geofence-server
# version = "2.27.0"; # geofence-server
# hash = ""; # geofence-server
#};
#geofence-wps = mkGeoserverExtension {
# name = "geofence-wps";
# version = "2.26.2"; # geofence-wps
# hash = "sha256-ZU5E5SsYBpOvguYhHXLrm5IJzYtSggcF+iqB76LB05g="; # geofence-wps
# version = "2.27.0"; # geofence-wps
# hash = "sha256-8Wvb/elunsYTFD1GgEQunM8i0eDyOA/W52KZ9+7uvvk="; # geofence-wps
#};
geopkg-output = mkGeoserverExtension {
name = "geopkg-output";
version = "2.26.2"; # geopkg-output
hash = "sha256-XzzT6g5G26/NZzdCl4wqtQUbNfMGrc5/lI/HRN+x8BU="; # geopkg-output
version = "2.27.0"; # geopkg-output
hash = "sha256-VUqBTt0XfSY2Q8cfeCpVmr398PK+Sb74APSrBODJNlw="; # geopkg-output
};
grib = mkGeoserverExtension {
name = "grib";
version = "2.26.2"; # grib
hash = "sha256-9onvPoSFOLODqedOLW3Bf0IJLE3UtuMSF8l4dGysMDs="; # grib
version = "2.27.0"; # grib
hash = "sha256-xX9LAgo5exeD2UxZ8/LROZWobLHLw33jcpwERGUGPys="; # grib
buildInputs = [ netcdf ];
};
gwc-s3 = mkGeoserverExtension {
name = "gwc-s3";
version = "2.26.2"; # gwc-s3
hash = "sha256-3z7DfkY/NP9ESfZWI+/ubHwHmBJM0SYyJGNVz7oAuVc="; # gwc-s3
version = "2.27.0"; # gwc-s3
hash = "sha256-/koF00Rki1xiY/g4ahhvFZNQxGnvIbbnqNmYHBqArBI="; # gwc-s3
};
h2 = mkGeoserverExtension {
name = "h2";
version = "2.26.2"; # h2
hash = "sha256-7wsbxACFtmtL1ApQy1DT2yYzOF51nfi7CWYlUGfYoKY="; # h2
version = "2.27.0"; # h2
hash = "sha256-lfWu3812AMv0bB2dllNlcOSyN+IMASI/nkjLaStvUtw="; # h2
};
iau = mkGeoserverExtension {
name = "iau";
version = "2.26.2"; # iau
hash = "sha256-j8Z5q0w6iqC++KScWoRTMOf4o7ADPN7IfPccc8A4A1M="; # iau
version = "2.27.0"; # iau
hash = "sha256-9PhWejZILq1hcWBdvWh9SdtfLOlpFcaIU9TeJ8z7UUw="; # iau
};
importer = mkGeoserverExtension {
name = "importer";
version = "2.26.2"; # importer
hash = "sha256-4BObAg/3BuP8UH4yodClBJsSlTE4S2tyPtqDHqOGRYg="; # importer
version = "2.27.0"; # importer
hash = "sha256-oqlNcUkO7XlcI6QQF+44kt69ZWtPSdcpyuA5xGtVrAQ="; # importer
};
inspire = mkGeoserverExtension {
name = "inspire";
version = "2.26.2"; # inspire
hash = "sha256-NZ5oMXpakPfdJZg8J9Y3D/8j09H0P9CQgnpeObrGkNE="; # inspire
version = "2.27.0"; # inspire
hash = "sha256-irSJm3gDJAiDHczkS84OW+noOIryCOmSwiIU4GAKqoQ="; # inspire
};
# Needs Kakadu plugin from
# https://github.com/geosolutions-it/imageio-ext
#jp2k = mkGeoserverExtension {
# name = "jp2k";
# version = "2.26.2"; # jp2k
# hash = "sha256-W+nx7PeEksyjA2iuN75qvWqDSdSnF0eNHAPqwce3amA="; # jp2k
# version = "2.27.0"; # jp2k
# hash = "sha256-WKWtNKv1sQrdrraCj9jmEODtIhCVF25HFbQNROdlyxg="; # jp2k
#};
libjpeg-turbo = mkGeoserverExtension {
name = "libjpeg-turbo";
version = "2.26.2"; # libjpeg-turbo
hash = "sha256-EYZQOQ1rAqTbRHh7cewkvJT4l1cmyFxNUwEFW2/8ezQ="; # libjpeg-turbo
version = "2.27.0"; # libjpeg-turbo
hash = "sha256-tMov4w8Kfbrr7hkNK4o+XFUuenyidCem7Z36KXinfTE="; # libjpeg-turbo
buildInputs = [ libjpeg.out ];
};
mapml = mkGeoserverExtension {
name = "mapml";
version = "2.26.2"; # mapml
hash = "sha256-RHTPzy0f3DP6ye94Slw/Tz/GIleAgW1DMiMkkneT7kk="; # mapml
version = "2.27.0"; # mapml
hash = "sha256-HONocKWnjkGqGRmtDxcJSwnDHwVouY6YeORRBjAbu4M="; # mapml
};
mbstyle = mkGeoserverExtension {
name = "mbstyle";
version = "2.26.2"; # mbstyle
hash = "sha256-vJB9wFiMJtu16JuJ+vESYG07U/Hs7NmMo3kqMkjV0k4="; # mbstyle
version = "2.27.0"; # mbstyle
hash = "sha256-c1QijJj/WfbTxc4vM55lz+wx2PW4BY3tXneSM+3zXRA="; # mbstyle
};
metadata = mkGeoserverExtension {
name = "metadata";
version = "2.26.2"; # metadata
hash = "sha256-CVp2KVHmqeIXPf031HBnvilcgfEKOpyv9Pc/yNpCFM8="; # metadata
version = "2.27.0"; # metadata
hash = "sha256-5b9gtSzP9DOyhwoNdFVnv08WjlH+m0ZFPO+jqtbUJ1A="; # metadata
};
mongodb = mkGeoserverExtension {
name = "mongodb";
version = "2.26.2"; # mongodb
hash = "sha256-Ndo0/r0maxZ7GcGQFY8ZNgtmxXaDJ1Gtj4oDRN7qzWM="; # mongodb
version = "2.27.0"; # mongodb
hash = "sha256-Y9KQ7lqfCnPfTdPUzidi9wNZPeiTTqB+4lf5q7mSQ88="; # mongodb
};
monitor = mkGeoserverExtension {
name = "monitor";
version = "2.26.2"; # monitor
hash = "sha256-1/yqmzFaPbntgxB1zXqJIrKCdKJpPzHm30v+Ww/kgXE="; # monitor
version = "2.27.0"; # monitor
hash = "sha256-uAkOudY7yACJ9A+FxcKSDUhGiID+uTvBibCejFwEiT0="; # monitor
};
mysql = mkGeoserverExtension {
name = "mysql";
version = "2.26.2"; # mysql
hash = "sha256-QOlAUhXyzpazYk/JJr9IcU1gIVS7iGB6Ly2HgbER8dA="; # mysql
version = "2.27.0"; # mysql
hash = "sha256-qA3l9gx4AuqqbPHfQkbvJNYfURrBSnmq4S4nEPrFpO4="; # mysql
};
netcdf = mkGeoserverExtension {
name = "netcdf";
version = "2.26.2"; # netcdf
hash = "sha256-cwe518kyk5vMjjBvHhzmTdZ/G0nT0KEDoQK7GbiAnfQ="; # netcdf
version = "2.27.0"; # netcdf
hash = "sha256-3pxGeIWcsBnJMdZjupOR/GmglxYWJp8KjJsmZSCRK00="; # netcdf
buildInputs = [ netcdf ];
};
netcdf-out = mkGeoserverExtension {
name = "netcdf-out";
version = "2.26.2"; # netcdf-out
hash = "sha256-/u9cOOT0/FvEt39VXO3l4Vv01Qpiqg9qJnNH4nnUxa0="; # netcdf-out
version = "2.27.0"; # netcdf-out
hash = "sha256-GfwJqdoO1Z265OmfAvjoKy0/DLX8e06Mu58o4Zps4q0="; # netcdf-out
buildInputs = [ netcdf ];
};
ogr-wfs = mkGeoserverExtension {
name = "ogr-wfs";
version = "2.26.2"; # ogr-wfs
version = "2.27.0"; # ogr-wfs
buildInputs = [ pkgs.gdal ];
hash = "sha256-4Lp9ffQVgug2zP6ikDyDSITqrq8K5wADjNm3ArpJz1s="; # ogr-wfs
hash = "sha256-FX3sojRnR6FQSFSK4n62w/lrPbHTdbLn9NtR2nE/3dU="; # ogr-wfs
};
# Needs ogr-wfs extension.
ogr-wps = mkGeoserverExtension {
name = "ogr-wps";
version = "2.26.2"; # ogr-wps
version = "2.27.0"; # ogr-wps
# buildInputs = [ pkgs.gdal ];
hash = "sha256-57rQgsdwXI7eQFhbL+ieP8uOlfeOJqUVWibBNZiPb9E="; # ogr-wps
hash = "sha256-Nb7rkbZPw85+EAcR+ist4iW16HVfsH9cSYwplHyO4RY="; # ogr-wps
};
oracle = mkGeoserverExtension {
name = "oracle";
version = "2.26.2"; # oracle
hash = "sha256-23/lMh1L3zzwUk3cJCxQhdLdQoghhkK1JAoet9nmN1M="; # oracle
version = "2.27.0"; # oracle
hash = "sha256-4KnZ48oKmgap3qZiJE4TSCQZpMvCQd4PULWponW5f1c="; # oracle
};
params-extractor = mkGeoserverExtension {
name = "params-extractor";
version = "2.26.2"; # params-extractor
hash = "sha256-mEKf4riqzSlwra71jY4MO1BM2/fCfikW1CKAB02ntF8="; # params-extractor
version = "2.27.0"; # params-extractor
hash = "sha256-0NnL87Cn/DcLXTnBJhgcGHNmC6SYKRc7TY+4r7VcYJQ="; # params-extractor
};
printing = mkGeoserverExtension {
name = "printing";
version = "2.26.2"; # printing
hash = "sha256-/R4MX73aiTGbqDNK+2rthcBUwJesc3j96UDqmpTZpxk="; # printing
version = "2.27.0"; # printing
hash = "sha256-10uBc9ZI9M9m5vmKMXfB1TieJBr7cx/SeD1AiXNVJo8="; # printing
};
pyramid = mkGeoserverExtension {
name = "pyramid";
version = "2.26.2"; # pyramid
hash = "sha256-6FIDk62d45ctmwhaW/XpdHziiPFyhsKm36l5BpZa4/w="; # pyramid
version = "2.27.0"; # pyramid
hash = "sha256-K38fYjM0Oh+FHT5Wadjuc3KIhFP2x5q5cxW5aucZNNw="; # pyramid
};
querylayer = mkGeoserverExtension {
name = "querylayer";
version = "2.26.2"; # querylayer
hash = "sha256-sM9OmWKJwOjxqzuhOEF+6j01r3+lvvZmaOIxBnmsUbo="; # querylayer
version = "2.27.0"; # querylayer
hash = "sha256-5OPfTUB0d08jWjxWd77BxffZgx+eM5eJX9bX0kt/WpM="; # querylayer
};
sldservice = mkGeoserverExtension {
name = "sldservice";
version = "2.26.2"; # sldservice
hash = "sha256-aKRy0wbx5XRdXPGZFsf+bdxmU0ILAPiMI2Zqg2nu52E="; # sldservice
version = "2.27.0"; # sldservice
hash = "sha256-rWIbWCsX4Hkank0L02sluTF137Y6Pex15Gobiwv2pNM="; # sldservice
};
sqlserver = mkGeoserverExtension {
name = "sqlserver";
version = "2.26.2"; # sqlserver
hash = "sha256-Sacng3WZ+bbljlnYQfP9RWk96kVeiJlGFFgudNheg9g="; # sqlserver
version = "2.27.0"; # sqlserver
hash = "sha256-ghf3z9b586RUgvicyOXlW2K8Uq9TolRb7CrcKT1Jt1M="; # sqlserver
};
vectortiles = mkGeoserverExtension {
name = "vectortiles";
version = "2.26.2"; # vectortiles
hash = "sha256-6hC8YfGbgUC6Mxx5/0qfbKOaO7UmHEhcrY9q1U/Q3Us="; # vectortiles
version = "2.27.0"; # vectortiles
hash = "sha256-ho/Vp1cFq2/xY9fIaQUR+vBQ6Vfdf+Z2eYvL7eI1qMY="; # vectortiles
};
wcs2_0-eo = mkGeoserverExtension {
name = "wcs2_0-eo";
version = "2.26.2"; # wcs2_0-eo
hash = "sha256-u433otfuIdCOPON8mGcyDgVoHstXV4tKClRopN+yJHE="; # wcs2_0-eo
version = "2.27.0"; # wcs2_0-eo
hash = "sha256-GcoOT3JNQPUN8ETX4spJXteJvbNM9+YO85FH+dw3oSg="; # wcs2_0-eo
};
web-resource = mkGeoserverExtension {
name = "web-resource";
version = "2.26.2"; # web-resource
hash = "sha256-C8+8Ri7RLz8UhsMuhINF2p7SriHV6+lU/DBMBo75fUw="; # web-resource
version = "2.27.0"; # web-resource
hash = "sha256-4TGt9MklLWbJexY7kjT+ijIX/V4OLw7U6mDkBoVXuwk="; # web-resource
};
wmts-multi-dimensional = mkGeoserverExtension {
name = "wmts-multi-dimensional";
version = "2.26.2"; # wmts-multi-dimensional
hash = "sha256-6Wnf4im1fZULjoSOu2V3Phn4/6A3UGnCP8BvZDtaKUU="; # wmts-multi-dimensional
version = "2.27.0"; # wmts-multi-dimensional
hash = "sha256-8I3XbAToqTgwf4y+C3ulAhCY7axyS739GV4+jxwO33g="; # wmts-multi-dimensional
};
wps = mkGeoserverExtension {
name = "wps";
version = "2.26.2"; # wps
hash = "sha256-ocFmcaWsEq7iothnc7/7DIPpbCo5z5WwI3F1tbDX8dA="; # wps
version = "2.27.0"; # wps
hash = "sha256-9OrjyVaf9JzDPXyqHqqg51aAllhcAf4bOvQQyV1dHpI="; # wps
};
# Needs hazelcast (https://github.com/hazelcast/hazelcast (?)) which is not
# available in nixpgs as of 2024/01.
#wps-cluster-hazelcast = mkGeoserverExtension {
# name = "wps-cluster-hazelcast";
# version = "2.26.2"; # wps-cluster-hazelcast
# hash = "sha256-GoSeXKd4wBhYdnGlHgoHiaVxnb4VNEg1TG5IXG0qJzA="; # wps-cluster-hazelcast
# version = "2.27.0"; # wps-cluster-hazelcast
# hash = "sha256-amHfS5eBRoiMdj3wJzRNg9krYo5DJrCvCvhtj/Z9mUw="; # wps-cluster-hazelcast
#};
wps-download = mkGeoserverExtension {
name = "wps-download";
version = "2.26.2"; # wps-download
hash = "sha256-FBVt/B2nuf0PY4o1yuJ997sjWdsWYYxDgC94yOKQH/8="; # wps-download
version = "2.27.0"; # wps-download
hash = "sha256-vQpSGiOUh9N4PDQ4w/mTNjooz0lYDXwwRpZsq9VhEMA="; # wps-download
};
# Needs Postrgres configuration or similar.
# See https://docs.geoserver.org/main/en/user/extensions/wps-jdbc/index.html
wps-jdbc = mkGeoserverExtension {
name = "wps-jdbc";
version = "2.26.2"; # wps-jdbc
hash = "sha256-w3pzprk4UG4vE6K7tB/41U66OGSpB9uNUafKmKZ5uWY="; # wps-jdbc
version = "2.27.0"; # wps-jdbc
hash = "sha256-YWBOLL3X6Ztv+9EWmHKd5N020+qkVNtXXbObSlBhp2s="; # wps-jdbc
};
ysld = mkGeoserverExtension {
name = "ysld";
version = "2.26.2"; # ysld
hash = "sha256-guaTT3S0lU6nSaw90gNCHm5Gsdc27jX+XE/92vVfVQI="; # ysld
version = "2.27.0"; # ysld
hash = "sha256-fPF4LM0WC4YaAMnPhz3A/XXOoMu+v8TsO6XIcXHWRi4="; # ysld
};
}
+2 -2
View File
@@ -10,11 +10,11 @@
}:
stdenv.mkDerivation (finalAttrs: rec {
pname = "geoserver";
version = "2.26.2";
version = "2.27.0";
src = fetchurl {
url = "mirror://sourceforge/geoserver/GeoServer/${version}/geoserver-${version}-bin.zip";
hash = "sha256-K4OeMGnczKXVl+nxyd9unuCdoEpyF7j364Vxe49EOxo=";
hash = "sha256-bhL+u+BoKgW2cwOXEzaq0h07dKFz9u9WB2jW8nAF0vI=";
};
patches = [
+2 -2
View File
@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "glooctl";
version = "1.18.13";
version = "1.18.14";
src = fetchFromGitHub {
owner = "solo-io";
repo = "gloo";
rev = "v${version}";
hash = "sha256-qn4hQKl3E36q7HsgOVWz+eRceKGysyy5rHXzQnOc7JY=";
hash = "sha256-NFcUSvtoXTXGLOGKsf6620R80b19ce++gfG5njDyvI0=";
};
vendorHash = "sha256-lcnsmeZ2XobBE95KqIhUZCKmevg2WEGuZC4qUVkdafM=";
@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "graphene-hardened-malloc";
version = "2025032100";
version = "2025041100";
src = fetchFromGitHub {
owner = "GrapheneOS";
repo = "hardened_malloc";
rev = finalAttrs.version;
hash = "sha256-8EIdJmnPdJgES+8QwWzL1oKVqO62CQdtjyMgFw+P0+g=";
hash = "sha256-HCuH5SUiw/+3T1dv+IKKsQEC1GbuG0Se376bw2fG5u8=";
};
nativeCheckInputs = [ python3 ];
+2 -2
View File
@@ -20,13 +20,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hwinfo";
version = "23.4";
version = "23.5";
src = fetchFromGitHub {
owner = "opensuse";
repo = "hwinfo";
rev = finalAttrs.version;
hash = "sha256-mTkDyfdAwjJwBEp/bOYRz0zfzPSzOUEI5hp+mridZsA=";
hash = "sha256-OweEFxNxQpD7blHywhmHTA66vsYG+Qvsufm3huyUhi0=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -20,13 +20,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hyprpicker" + lib.optionalString debug "-debug";
version = "0.4.3";
version = "0.4.4";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprpicker";
rev = "v${finalAttrs.version}";
hash = "sha256-uxPknq5vuSl5h3kV1s+PzrCul2m8jgXcFEx/OMTchlg=";
hash = "sha256-hgY0rI/4MsxWMVXTd5pEE904V1apSrhzJblKjqQ8c0s=";
};
cmakeBuildType = if debug then "Debug" else "Release";
+8 -4
View File
@@ -15,12 +15,13 @@
pkg-config,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "industrializer";
version = "0.2.7";
src = fetchurl {
url = "mirror://sourceforge/project/${pname}/ps${pname}-${version}.tar.xz";
sha256 = "0k688k2wppam351by7cp9m7an09yligzd89padr8viqy63gkdk6v";
url = "mirror://sourceforge/project/industrializer/psindustrializer-${finalAttrs.version}.tar.xz";
hash = "sha256-28w23zAex41yUzeh9l+kPgGrTk2XHb9CGVXdy8VEyEw=";
};
nativeBuildInputs = [
@@ -42,6 +43,9 @@ stdenv.mkDerivation rec {
preConfigure = "./autogen.sh";
# jack.c:190:5: error: initialization of 'const gchar * (*)(int)' {aka 'const char * (*)(int)'} from incompatible pointer type 'const char * (*)(int * (*)())
env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
meta = {
description = "This program generates synthesized percussion sounds using physical modelling";
longDescription = ''
@@ -54,4 +58,4 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.linux;
mainProgram = "psindustrializer";
};
}
})
+2 -2
View File
@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "iniparser";
version = "4.2.5";
version = "4.2.6";
src = fetchFromGitLab {
owner = "iniparser";
repo = "iniparser";
rev = "v${finalAttrs.version}";
hash = "sha256-YyIuvkM58WilqggzFcG7BNWSG5t2vHMOUu78PKvdItQ=";
hash = "sha256-z10S9ODLprd7CbL5Ecgh7H4eOwTetYwFXiWBUm6fIr4=";
};
patches = lib.optionals finalAttrs.finalPackage.doCheck [
+2 -2
View File
@@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
pname = "jasmin-compiler";
version = "2025.02.0";
version = "2025.02.1";
src = fetchurl {
url = "https://github.com/jasmin-lang/jasmin/releases/download/v${version}/jasmin-compiler-v${version}.tar.bz2";
hash = "sha256-xLTMdyFyZGlnhuZ1iOg8Tgm7aLijg5lceJxgLdEHw+Q=";
hash = "sha256-7WGEtsTJ4/R+30gzFlYpCvZrZyziZ6gDCemWEFX+5hk=";
};
nativeBuildInputs = with ocamlPackages; [
+3
View File
@@ -89,6 +89,9 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = true;
# Testing deletes all files on each test, causes test failures.
enableParallelChecking = false;
meta = {
description = "Software implementation of the JBIG1 data compression standard";
homepage = "http://www.cl.cam.ac.uk/~mgk25/jbigkit/";
+6 -4
View File
@@ -6,6 +6,7 @@
makeWrapper,
nodejs_22,
python3,
python3Packages,
sqlite,
nix-update-script,
}:
@@ -16,24 +17,25 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "jellyseerr";
version = "2.3.0";
version = "2.5.2";
src = fetchFromGitHub {
owner = "Fallenbagel";
repo = "jellyseerr";
tag = "v${finalAttrs.version}";
hash = "sha256-vAMuiHcf13CDyOB0k36DXUk+i6K6h/R7dmBLJsMkzNA=";
hash = "sha256-EbBvgaTTMA4B7uBwiftIy54oo0K5hCvIAWhBHjeM5WU=";
};
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-iSzs+lMQzcFjUz4K3rYP0I6g/wVz6u49FSQuPHXbVRM=";
hash = "sha256-4odVuAhjc9lUxorWOqPd2ODgexk5PDSS2HtFyq0csU0=";
};
buildInputs = [ sqlite ];
nativeBuildInputs = [
python3
python3Packages.distutils
nodejs
makeWrapper
pnpm.configHook
@@ -63,7 +65,7 @@ stdenv.mkDerivation (finalAttrs: {
installPhase = ''
runHook preInstall
mkdir -p $out/share
cp -r -t $out/share .next node_modules dist public package.json overseerr-api.yml
cp -r -t $out/share .next node_modules dist public package.json jellyseerr-api.yml
runHook postInstall
'';
+2 -2
View File
@@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "krep";
version = "0.3.6";
version = "0.4.2";
src = fetchFromGitHub {
owner = "davidesantangelo";
repo = "krep";
rev = "v${finalAttrs.version}";
hash = "sha256-wfMNyqZgqoEkp51gompWUn65kaeVZIMfvo0VStW4EPA=";
hash = "sha256-lg1nwBV/lfPVoMWmVh4iFElr5Qv+YA5HRKZOS3jd+6U=";
};
makeFlags = [
+49
View File
@@ -0,0 +1,49 @@
{
lib,
stdenv,
cmake,
ninja,
python3,
fetchFromGitHub,
versionCheckHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "kuzu";
version = "0.9.0";
src = fetchFromGitHub {
owner = "kuzudb";
repo = "kuzu";
tag = "v${finalAttrs.version}";
hash = "sha256-3B2E51PluPKl0OucmTPZYEa9BzYoU0Y8G1PQY86ynFA=";
};
outputs = [
"out"
"lib"
"dev"
];
nativeBuildInputs = [
cmake
ninja
python3
];
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
versionCheckProgramArg = [ "--version" ];
meta = {
changelog = "https://github.com/kuzudb/kuzu/releases/tag/v${finalAttrs.version}";
description = "Embeddable property graph database management system";
homepage = "https://kuzudb.com/";
license = lib.licenses.mit;
mainProgram = "kuzu";
maintainers = with lib.maintainers; [ sdht0 ];
platforms = lib.platforms.all;
};
})
+13 -17
View File
@@ -24,7 +24,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libloot";
version = "0.24.5";
version = "0.25.5";
# Note: don't forget to also update the package versions in the passthru section
outputs = [
@@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "loot";
repo = "libloot";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-SAnbp34DlGsq4nfaRHfCTGRSGQtv/rRgngvwma2tc7Q=";
hash = "sha256-l8AdqJ0lZH4rBcf4WV3ju+sIHYam6USXCXTqyRPzgeo=";
};
patches = [
@@ -102,10 +102,6 @@ stdenv.mkDerivation (finalAttrs: {
# Due to storage size concerns of `glibcLocales`, we skip this
"CompareFilenames.shouldBeCaseInsensitiveAndLocaleInvariant"
"NormalizeFilename.shouldCaseFoldStringsAndBeLocaleInvariant"
# Some filesystem related test fail because they assume `std::filesystem::equivalent` works with non-existent paths
"Filesystem.equivalentShouldNotRequireThatBothPathsExist"
"Filesystem.equivalentShouldBeCaseSensitive"
];
in
"-${builtins.concatStringsSep ":" disabledTests}";
@@ -116,7 +112,7 @@ stdenv.mkDerivation (finalAttrs: {
testing-plugins = fetchFromGitHub {
owner = "Ortham";
repo = "testing-plugins";
rev = "refs/tags/1.6.2";
tag = "1.6.2";
hash = "sha256-3Aa98EwqpuGA3YlsRF8luWzXVEFO/rs6JXisXdLyIK4=";
};
@@ -141,17 +137,17 @@ stdenv.mkDerivation (finalAttrs: {
libloadorder = finalAttrs.passthru.buildRustFFIPackage rec {
pname = "libloadorder";
version = "18.1.3";
version = "18.3.0";
src = fetchFromGitHub {
owner = "Ortham";
repo = "libloadorder";
rev = "refs/tags/${version}";
hash = "sha256-qJ7gC4BkrXJiVcyA1BqlJSRzgc/7VmNBHtDq0ouJoTU=";
tag = version;
hash = "sha256-/8WOEt9dxKFTTZbhf5nt81jo/yHuALPxh/IwAOehi9w=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-m3lyABr7tU0AeC6EZomBw1X722ezQg/cjSZh/ZhkiBw=";
cargoHash = "sha256-re/cKqf/CAD7feNIEuou4ZP8BNkArd5CvREx1610jig=";
lang = "c++";
header = "libloadorder.hpp";
@@ -164,7 +160,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "Ortham";
repo = "esplugin";
rev = "refs/tags/${version}";
tag = version;
hash = "sha256-ygjSyixg+9HFFNV/G+w+TxGFTrjlWxlDt8phpCE8xyQ=";
};
@@ -177,17 +173,17 @@ stdenv.mkDerivation (finalAttrs: {
loot-condition-interpreter = finalAttrs.passthru.buildRustFFIPackage rec {
pname = "loot-condition-interpreter";
version = "4.0.2";
version = "5.3.0";
src = fetchFromGitHub {
owner = "loot";
repo = "loot-condition-interpreter";
rev = "refs/tags/${version}";
hash = "sha256-yXbe7ByYHvFpokRpV2pz2SX0986dpk5IpehwDUhoZKg=";
tag = version;
hash = "sha256-MvadQ4cWpzNgF/lUW5Jb758DvfRPGZ7s1W4MbO7nbIw=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-d3JBpYI4XMkDnufvdyZkgtp7H4amMzM0dBEO6t9efGE=";
cargoHash = "sha256-m/vRnAJyMQOosxnjSUgHIY1RCkdB5+HFVqqzYVEpgOI=";
lang = "c";
header = "loot_condition_interpreter.h";
@@ -198,7 +194,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "loot";
repo = "yaml-cpp";
rev = "refs/tags/${version}";
tag = version;
hash = "sha256-whYorebrLiDeO75LC2SMUX/8OD528BR0+DEgnJxxpoQ=";
};
};
@@ -0,0 +1,20 @@
diff --git a/package.json b/package.json
index 2131951..91e4846 100644
--- a/package.json
+++ b/package.json
@@ -114,5 +114,15 @@
"admin/",
"packages/"
]
+ },
+ "files": [
+ "api",
+ "client/dist",
+ "packages/data-provider",
+ "packages/data-schemas",
+ "packages/mcp"
+ ],
+ "bin": {
+ "librechat-server": "api/server/index.js"
}
}
+26
View File
@@ -0,0 +1,26 @@
diff --git a/api/config/meiliLogger.js b/api/config/meiliLogger.js
index 195b387..d445e54 100644
--- a/api/config/meiliLogger.js
+++ b/api/config/meiliLogger.js
@@ -2,7 +2,7 @@ const path = require('path');
const winston = require('winston');
require('winston-daily-rotate-file');
-const logDir = path.join(__dirname, '..', 'logs');
+const logDir = path.join('.', 'logs');
const { NODE_ENV } = process.env;
diff --git a/api/config/winston.js b/api/config/winston.js
index 8f51b99..2ebd041 100644
--- a/api/config/winston.js
+++ b/api/config/winston.js
@@ -3,7 +3,7 @@ const winston = require('winston');
require('winston-daily-rotate-file');
const { redactFormat, redactMessage, debugTraverse, jsonTruncateFormat } = require('./parsers');
-const logDir = path.join(__dirname, '..', 'logs');
+const logDir = path.join('.', 'logs');
const { NODE_ENV, DEBUG_LOGGING = true, DEBUG_CONSOLE = false, CONSOLE_JSON = false } = process.env;
@@ -0,0 +1,20 @@
diff --git a/api/config/paths.js b/api/config/paths.js
index 165e9e6..fc85083 100644
--- a/api/config/paths.js
+++ b/api/config/paths.js
@@ -2,13 +2,13 @@ const path = require('path');
module.exports = {
root: path.resolve(__dirname, '..', '..'),
- uploads: path.resolve(__dirname, '..', '..', 'uploads'),
+ uploads: path.resolve('.', 'uploads'),
clientPath: path.resolve(__dirname, '..', '..', 'client'),
dist: path.resolve(__dirname, '..', '..', 'client', 'dist'),
publicPath: path.resolve(__dirname, '..', '..', 'client', 'public'),
fonts: path.resolve(__dirname, '..', '..', 'client', 'public', 'fonts'),
assets: path.resolve(__dirname, '..', '..', 'client', 'public', 'assets'),
- imageOutput: path.resolve(__dirname, '..', '..', 'client', 'public', 'images'),
+ imageOutput: path.resolve('.', 'images'),
structuredTools: path.resolve(__dirname, '..', 'app', 'clients', 'tools', 'structured'),
pluginManifest: path.resolve(__dirname, '..', 'app', 'clients', 'tools', 'manifest.json'),
};
+73
View File
@@ -0,0 +1,73 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
pkg-config,
node-gyp,
vips,
nix-update-script,
}:
buildNpmPackage rec {
pname = "librechat";
version = "0.7.7";
src = fetchFromGitHub {
owner = "danny-avila";
repo = "LibreChat";
tag = "v${version}";
hash = "sha256-U0yIoJt7wE4a7WbryN7hheLRFTRVol5qawIrmKte41M=";
};
patches = [
# `buildNpmPackage` relies on `npm pack`, which only includes files explicitly
# listed in the project's package.json `files` array if this property is set.
# LibreChat does not set this property, but we can avoid packaging the whole
# workspace by simply adding the relevant paths here ourselves.
# Also, we set the `bin` property to the server script to benefit from the
# auto-generated wrapper.
./0001-npm-pack.patch
# LibreChat tries writing logs to the package directory, which is immutable
# in our case. We patch the log directory to target the current working directory
# instead, which in case of NixOS will be the service's data directory.
./0002-logs.patch
# Similarly to the logs, user uploads are by default written to the package
# directory as well. Again, we patch this to be relative to the current working
# directory instead.
./0003-upload-paths.patch
];
npmDepsHash = "sha256-r06Hcdxa7pYMqIvNWP4VclJ4woiPd9kJxEmQO88i8J8=";
nativeBuildInputs = [
pkg-config
node-gyp
];
buildInputs = [
vips
];
# required for sharp
makeCacheWritable = true;
npmBuildScript = "frontend";
npmPruneFlags = [ "--omit=dev" ];
passthru = {
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"^v(\\d+\\.\\d+\\.\\d+)$"
];
};
};
meta = {
description = "Open-source app for all your AI conversations, fully customizable and compatible with any AI provider";
homepage = "https://github.com/danny-avila/LibreChat";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ niklaskorz ];
mainProgram = "librechat-server";
};
}
+2 -2
View File
@@ -42,14 +42,14 @@ in
# as bootloader for various platforms and corresponding binary and helper files.
stdenv.mkDerivation (finalAttrs: {
pname = "limine";
version = "9.2.2";
version = "9.2.3";
# We don't use the Git source but the release tarball, as the source has a
# `./bootstrap` script performing network access to download resources.
# Packaging that in Nix is very cumbersome.
src = fetchurl {
url = "https://github.com/limine-bootloader/limine/releases/download/v${finalAttrs.version}/limine-${finalAttrs.version}.tar.gz";
hash = "sha256-uD3s117/uhAeRCex78gXSM9zIByFvjbjeVygkPXwgIM=";
hash = "sha256-KcA1zXynt5nqnQq32Y3/5TXUYbOx6LubJJ1+KT7Fo2Q=";
};
enableParallelBuilding = true;
+2 -2
View File
@@ -21,13 +21,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "limo";
version = "1.1";
version = "1.2";
src = fetchFromGitHub {
owner = "limo-app";
repo = "limo";
tag = "v${finalAttrs.version}";
hash = "sha256-fzqIZ/BqOpPjo18qi4VidGg1ruhQLqfwoA/hidGPEao=";
hash = "sha256-hgtqpP1H9+TAuP5b/Wvx4mqeYRKyaluMlyzHEmIgSqo=";
};
patches = lib.optionals (!withUnrar) [
+4 -2
View File
@@ -11,11 +11,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lpairs2";
version = "2.3.1";
version = "2.3.2";
src = fetchurl {
url = "mirror://sourceforge/lgames/lpairs2-${finalAttrs.version}.tar.gz";
hash = "sha256-ES5RGr817vc8t2DFNeETTqrm0uwk3JuTypSZjXK86Bg=";
hash = "sha256-y4eRLWhfI4XMBtGCqdM/l69pftGGIbVjVEkz/v5ytZI=";
};
buildInputs = [
@@ -25,6 +25,8 @@ stdenv.mkDerivation (finalAttrs: {
SDL2_ttf
];
enableParallelBuilding = true;
passthru.updateScript = directoryListingUpdater {
inherit (finalAttrs) pname version;
url = "https://lgames.sourceforge.io/LPairs/";
+2 -2
View File
@@ -9,11 +9,11 @@
stdenvNoCC.mkDerivation rec {
pname = "ltex-ls-plus";
version = "18.5.0";
version = "18.5.1";
src = fetchurl {
url = "https://github.com/ltex-plus/ltex-ls-plus/releases/download/${version}/ltex-ls-plus-${version}.tar.gz";
sha256 = "sha256-rtRDfsZUwhH2sXJxUWKBBt0KNIrM85IobYBJtxML5Wc=";
sha256 = "sha256-kSs/0Hi9G5l632+dqxGhlvMJCizzKFY/dq7UyAr3uss=";
};
nativeBuildInputs = [ makeBinaryWrapper ];
+2 -2
View File
@@ -7,11 +7,11 @@
appimageTools.wrapType2 rec {
pname = "lunarclient";
version = "3.3.6";
version = "3.3.7";
src = fetchurl {
url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
hash = "sha512-OqgyEIjg72MDHu3mjWmmK2j7Mapk9Hd8TI7G6xXw8yMzT5w710Ny99ALy/k55p/3cknLI84i0GkQJpDy2HAJxQ==";
hash = "sha512-YnNqFuRRaRnVqNlD1VaWbx1TaTpD851altu9YamXX0q2ZohtGzB7lzE2xhllbS61E71jSUDasLUlbyyVqGTrJw==";
};
nativeBuildInputs = [ makeWrapper ];
+45
View File
@@ -0,0 +1,45 @@
{
lib,
python3Packages,
fetchFromGitHub,
}:
python3Packages.buildPythonApplication {
pname = "macpm";
version = "0.24-unstable-2024-11-19";
format = "setuptools";
src = fetchFromGitHub {
owner = "visualcjy";
repo = "macpm";
rev = "7882d4c86c84bb23a8966ca57990de9b11397bd4";
hash = "sha256-jqaPPvYbuL8q6grmBLyZLf8aDmjugYxMOWAh1Ix82jc=";
};
# has no tests
doCheck = false;
# backwards compatibility for users still expecting 'asitop'
postInstall = ''
ln -rs $out/bin/macpm $out/bin/asitop
'';
dependencies = with python3Packages; [
dashing
humanize
psutil
];
meta = {
description = "Perf monitoring CLI tool for Apple Silicon; previously named 'asitop'";
homepage = "https://github.com/visualcjy/macpm";
mainProgram = "macpm";
platforms = [ "aarch64-darwin" ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
juliusrickert
siriobalmelli
];
};
}
+3 -3
View File
@@ -8,17 +8,17 @@
rustPlatform.buildRustPackage rec {
pname = "makima";
version = "0.10.0";
version = "0.10.1";
src = fetchFromGitHub {
owner = "cyber-sushi";
repo = "makima";
rev = "v${version}";
hash = "sha256-kC0GJ1K7DMfkYxaYog5y1y0DMfFjZ7iD7pGQQE67N9o=";
hash = "sha256-Pb9XBMs0AeklobxEDRQ1GDeI6hQFZ43EJt/+XQEGrWU=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-d9MUH8cORFaxgAKV/Mgq3tiNuoAJ2YTcbgvwPTOIlkw=";
cargoHash = "sha256-7XpecFwkUW3VVMYUAmHEL9gk5mpwC0mWN2N8Dptm3iI=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ udev ];
@@ -12,18 +12,18 @@
stdenv.mkDerivation rec {
pname = "matrix-sdk-crypto-nodejs";
version = "0.2.0-beta.1";
version = "0.3.0-beta.1-unstable-2025-02-11";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "matrix-rust-sdk-crypto-nodejs";
rev = "v${version}";
hash = "sha256-g86RPfhF9XHpbXhHRbyhl920VazCrQyRQrYV6tVCHy4=";
rev = "f74a37e9c8f5af005119464a3501346b8c22695f";
hash = "sha256-QHKFD9PPUXMb78GjSabk3vWnd5DIhTjtBZL8e/Tuw0g=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-5+nW5g9oxe4L39wJUkSuP3ul5yH8V+E7IdhQVfvzhNk=";
hash = "sha256-hKuFu8T7zCXlmiG7k3WJsLSDYhIu6vT5la+AZOmz8EM=";
};
nativeBuildInputs = [
+2 -1
View File
@@ -159,9 +159,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
];
# swagger-ui will once more be copied in the target directory during the check phase
# See https://github.com/juhaku/utoipa/blob/utoipa-swagger-ui-7.1.0/utoipa-swagger-ui/build.rs#L168
# Not deleting the existing unpacked archive leads to a `PermissionDenied` error
preCheck = ''
rm -rf target/${hostPlatform.config}/release/build/
rm -rf target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/build/
'';
# Prevent checkFeatures from inheriting buildFeatures because
+5946
View File
File diff suppressed because it is too large Load Diff
+141
View File
@@ -0,0 +1,141 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
# nativeBuildInputs
pkg-config,
python3,
autoPatchelfHook,
autoAddDriverRunpath,
# buildInputs
libopus,
openssl,
sentencepiece,
alsa-lib,
# passthru
moshi,
nix-update-script,
config,
cudaPackages,
cudaCapability ? null,
}:
let
minRequiredCudaCapability = "6.1"; # build fails with 6.0
inherit (cudaPackages.cudaFlags) cudaCapabilities;
cudaCapabilityString =
if cudaCapability == null then
(builtins.head (
(builtins.filter (cap: lib.versionAtLeast cap minRequiredCudaCapability) cudaCapabilities)
++ [
(lib.warn "moshi doesn't support ${lib.concatStringsSep " " cudaCapabilities}" minRequiredCudaCapability)
]
))
else
cudaCapability;
cudaCapability' = lib.toInt (cudaPackages.cudaFlags.dropDot cudaCapabilityString);
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "moshi";
version = "0.2.3";
src = fetchFromGitHub {
owner = "kyutai-labs";
repo = "moshi";
tag = "v${finalAttrs.version}";
hash = "sha256-tQQTMwvJauzF24S1N2m2slZAHZvklCkPOTrhLvlsNVg=";
};
sourceRoot = "${finalAttrs.src.name}/rust";
# Upstream does not track their Cargo.lock
# https://github.com/kyutai-labs/moshi/issues/256
cargoLock = {
lockFile = ./Cargo.lock;
};
postPatch = ''
ln -s ${./Cargo.lock} Cargo.lock
'';
nativeBuildInputs =
[
pkg-config
python3
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Unable to find libclang: "couldn't find any valid shared libraries matching: ['libclang.dylib']
rustPlatform.bindgenHook
]
++ lib.optionals config.cudaSupport [
# WARNING: autoAddDriverRunpath must run AFTER autoPatchelfHook
# Otherwise, autoPatchelfHook removes driverLink from RUNPATH
autoPatchelfHook
autoAddDriverRunpath
cudaPackages.cuda_nvcc
];
buildInputs =
[
libopus
openssl
sentencepiece
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
]
++ lib.optionals config.cudaSupport [
cudaPackages.cuda_cccl
cudaPackages.cuda_cudart
cudaPackages.cuda_nvrtc
cudaPackages.libcublas
cudaPackages.libcurand
];
buildFeatures =
lib.optionals stdenv.hostPlatform.isDarwin [ "metal" ]
++ lib.optionals config.cudaSupport [ "cuda" ];
env = lib.optionalAttrs config.cudaSupport {
CUDA_COMPUTE_CAP = cudaCapability';
# We already list CUDA dependencies in buildInputs
# We only set CUDA_TOOLKIT_ROOT_DIR to satisfy some redundant checks from upstream
CUDA_TOOLKIT_ROOT_DIR = lib.getDev cudaPackages.cuda_cudart;
};
appendRunpaths = lib.optionals config.cudaSupport [
(lib.makeLibraryPath [
cudaPackages.libcublas
cudaPackages.libcurand
])
];
passthru = {
tests = {
withCuda = lib.optionalAttrs stdenv.hostPlatform.isLinux (
moshi.override { config.cudaSupport = true; }
);
};
updateScript = nix-update-script {
extraArgs = [ "--generate-lockfile" ];
};
};
meta = {
description = "Rust implementation of moshi, a real-time voice AI";
homepage = "https://github.com/kyutai-labs/moshi";
# The rust implementation is licensed under Apache
# https://github.com/kyutai-labs/moshi/tree/main/rust#license
license = with lib.licenses; [ asl20 ];
maintainers = with lib.maintainers; [ GaetanLepage ];
platforms = lib.platforms.all;
mainProgram = "moshi-cli";
};
})
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "natscli";
version = "0.2.1";
version = "0.2.2";
src = fetchFromGitHub {
owner = "nats-io";
repo = "natscli";
tag = "v${version}";
hash = "sha256-yYE04QayL2WeZZa2I4lThCzqalxhSGFB7LYlqSGE2SA=";
hash = "sha256-5iGU23HsaMuRDcy3qeCJZE3p2ikaIlLnuWyGfCAlMYQ=";
};
vendorHash = "sha256-WtfvuccRm6jx04jz+8MGjn4mrJ7nvtdACwyL2OjE+tc=";
vendorHash = "sha256-8JtMcEI3UMMuTa9jmkTspjKtseIb2XUcbNuWlrkAVfg=";
ldflags = [
"-s"
@@ -1,6 +1,6 @@
{
lib,
fetchFromGitHub,
fetchFromGitea,
rustPlatform,
dbus,
networkmanager,
@@ -9,16 +9,17 @@
}:
rustPlatform.buildRustPackage rec {
name = "nm-file-secret-agent";
version = "1.0.1";
version = "1.1.0";
src = fetchFromGitHub {
owner = "lilioid";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "lilly";
repo = "nm-file-secret-agent";
rev = "v${version}";
hash = "sha256-xQWgNxrbpHOfnKXa57cV1F3JmtJcvQsqUfgwfWg5Ni4=";
hash = "sha256-FZef9qMJeQkoLvCHcsGMqr0riC98WVXntQtbt76Iev4=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-Q2RQ6pWYKOr/6nD7PLpTonVldOfyUu2lvwNRAc8zkLg=";
cargoHash = "sha256-HYyL0r9YrDL22uQdypJQ7Xep9Uqt4b16bhl0D9kRByU=";
buildInputs = [ dbus ];
nativeBuildInputs = [ pkg-config ];
@@ -27,7 +28,7 @@ rustPlatform.buildRustPackage rec {
meta = {
description = "NetworkManager secret agent that responds with the content of preconfigured files";
mainProgram = "nm-file-secret-agent";
homepage = "https://github.com/lilioid/nm-file-secret-agent/";
homepage = "https://codeberg.org/lilly/nm-file-secret-agent";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ lilioid ];
platforms = lib.lists.intersectLists dbus.meta.platforms networkmanager.meta.platforms;
+2 -1
View File
@@ -21,7 +21,8 @@
postPatch = ''
ln -s ${./package-lock.json} package-lock.json
substituteInPlace gyp/pylib/gyp/**.py --replace-fail sys.platform '"${stdenv.targetPlatform.parsed.kernel.name}"'
substituteInPlace gyp/pylib/gyp/**.py \
--replace-quiet sys.platform '"${stdenv.targetPlatform.parsed.kernel.name}"'
'';
dontNpmBuild = true;
+2 -2
View File
@@ -6,13 +6,13 @@
python3Packages.buildPythonApplication rec {
pname = "norminette";
version = "3.3.55";
version = "3.3.58";
src = fetchFromGitHub {
owner = "42School";
repo = pname;
tag = version;
hash = "sha256-SaXOUpYEbc2QhZ8aKS+JeJ22MSXZ8HZuRmVQ9fWk7tM=";
hash = "sha256-6hBBbfW2PQFb8rcDihvtWK0df7WcvOk0il1E82GOxaU=";
};
nativeCheckInputs = with python3Packages; [
+2 -2
View File
@@ -23,13 +23,13 @@
python3Packages.buildPythonApplication rec {
pname = "nwg-panel";
version = "0.10.0";
version = "0.10.1";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = "nwg-panel";
tag = "v${version}";
hash = "sha256-DdDWOIT9/a4z3UTQcGJfGQEl0XyR11WsKg96HfYpEeE=";
hash = "sha256-ZQQRuYcctVKkE1GLx0VRAOZc0VTl1DuyR6y9CE5TbcE=";
};
# No tests
+3 -3
View File
@@ -19,14 +19,14 @@
}:
stdenv.mkDerivation rec {
version = "2025-04-03";
version = "2025-04-13";
pname = "oh-my-zsh";
src = fetchFromGitHub {
owner = "ohmyzsh";
repo = "ohmyzsh";
rev = "750d3ac4b493dca13ef0ced55fa6a2cd02dc7ee8";
sha256 = "sha256-f0pwEhxCsPuGhkSQW4A/KTffwLzKMaVCKQ8o4ZFfVhM=";
rev = "a84a0332a822a78ddf3f66d0e1ed3990d4badd12";
sha256 = "sha256-oBSs8DuPI7DgKaSSbuK5FgFwmGIVAp2B+YI9Hr1/mRw=";
};
strictDeps = true;
+2 -2
View File
@@ -43,13 +43,13 @@ assert builtins.elem acceleration [
let
pname = "ollama";
# don't forget to invalidate all hashes each update
version = "0.6.4";
version = "0.6.5";
src = fetchFromGitHub {
owner = "ollama";
repo = "ollama";
tag = "v${version}";
hash = "sha256-d8TPVa/kujFDrHbjwv++bUe2txMlkOxAn34t7wXg4qE=";
hash = "sha256-l+JYQjl6A0fKONxtgCtc0ztT18rmArGKcO2o+p4H95M=";
fetchSubmodules = true;
};
+3 -3
View File
@@ -16,17 +16,17 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "onefetch";
version = "2.23.1";
version = "2.24.0";
src = fetchFromGitHub {
owner = "o2sh";
repo = "onefetch";
rev = version;
hash = "sha256-lQxv2gwZOGtxJrXjxvjBnbl225ppSs3cVNCfePFeqEE=";
hash = "sha256-Q74iqCSH8sdGFWC5DmMZhvUoL/Hzz4XNj548Gls6Hzk=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-s1xA7UHArHeGaXrGQmqn9pKvtSW175ci4ipQEmKQQ5s=";
cargoHash = "sha256-BpWc1GEj94vGEXDJEyocItggP1vQC441wp8r3DwalFw=";
cargoPatches = [
# enable pkg-config feature of zstd
+4 -3
View File
@@ -8,13 +8,13 @@
}:
let
pname = "open-webui";
version = "0.6.2";
version = "0.6.5";
src = fetchFromGitHub {
owner = "open-webui";
repo = "open-webui";
tag = "v${version}";
hash = "sha256-E9bZr2HG1TSZQDW4KBd3rV8AoQ3lWH8tfTsCY7XAwy0=";
hash = "sha256-NBXyPpXkU0lzNj9Eowykhn/i0GfX8uxac8lh5GnCW8Q=";
};
frontend = buildNpmPackage rec {
@@ -30,7 +30,7 @@ let
url = "https://github.com/pyodide/pyodide/releases/download/${pyodideVersion}/pyodide-${pyodideVersion}.tar.bz2";
};
npmDepsHash = "sha256-PNuZ1PsUtNfwI24zfzvnUzkvBznZQHLUG12E+p1bL68=";
npmDepsHash = "sha256-C7YuXxCrnJ+8L7JNh6TA8xi0G3y1FwFb9DQwhS+igME=";
# Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
# Until this is solved, running python packages from the browser will not work.
@@ -179,6 +179,7 @@ python312.pkgs.buildPythonApplication rec {
sentence-transformers
sentencepiece
soundfile
tencentcloud-sdk-python
tiktoken
transformers
unstructured

Some files were not shown because too many files have changed in this diff Show More