Merge 32bb18de3f into haskell-updates
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 =
|
||||
[
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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=";
|
||||
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"yarn_offline_cache_hash": "sha256-EM1YRbcgn0gLgw/8KImKBbG7T14ztsXqw7U5SINUT+U="
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
Executable
+39
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -65,6 +65,7 @@ buildFHSEnv {
|
||||
lz4.dev
|
||||
tbb
|
||||
libxkbcommon
|
||||
librealsense
|
||||
boost
|
||||
glew
|
||||
])
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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 [
|
||||
|
||||
@@ -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; [
|
||||
|
||||
@@ -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,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
|
||||
'';
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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'),
|
||||
};
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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) [
|
||||
|
||||
@@ -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/";
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
Generated
+5946
File diff suppressed because it is too large
Load Diff
@@ -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";
|
||||
};
|
||||
})
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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; [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user