0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-13 21:50:33 +03:00

Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot] 2025-03-18 18:05:06 +00:00 committed by GitHub
commit 0bb96173bd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
146 changed files with 3140 additions and 1980 deletions

View file

@ -48,7 +48,7 @@
### NexusMods.App upgraded {#sec-nixpkgs-release-25.05-incompatibilities-nexusmods-app-upgraded}
- `nexusmods-app` has been upgraded from version 0.6.3 to 0.7.3.
- `nexusmods-app` has been upgraded from version 0.6.3 to 0.8.2.
- Before upgrading, you **must reset all app state** (mods, games, settings, etc). NexusMods.App will crash if any state from a version older than 0.7.0 is still present.

View file

@ -4129,6 +4129,12 @@
name = "ChaosAttractor";
keys = [ { fingerprint = "A137 4415 DB7C 6439 10EA 5BF1 0FEE 4E47 5940 E125"; } ];
};
charain = {
email = "charain_li@outlook.com";
github = "chai-yuan";
githubId = 42235952;
name = "charain";
};
charB66 = {
email = "nix.disparate221@passinbox.com";
github = "charB66";
@ -4383,6 +4389,12 @@
github = "ciferkey";
githubId = 101422;
};
ciflire = {
name = "Léo Vesse";
email = "leovesse@gmail.com";
github = "Ciflire";
githubId = 39668077;
};
cig0 = {
name = "Martín Cigorraga";
email = "cig0.github@gmail.com";
@ -11326,6 +11338,12 @@
{ fingerprint = "816D 23F5 E672 EC58 7674 4A73 197F 9A63 2D13 9E30"; }
];
};
j-mendez = {
email = "jeff@a11ywatch.com";
github = "j-mendez";
githubId = 8095978;
name = "j-mendez";
};
jmendyk = {
email = "jakub@ndyk.me";
github = "JMendyk";

View file

@ -198,6 +198,8 @@
- [Orthanc](https://orthanc.uclouvain.be/) a lightweight, RESTful DICOM server for healthcare and medical research. Available as [services.orthanc](#opt-services.orthanc.enable).
- [Pareto Security](https://paretosecurity.com/) is an alternative to corporate compliance solutions for companies that care about security but know it doesn't have to be invasive. Available as [services.paretosecurity](#opt-services.paretosecurity.enable)
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
## Backward Incompatibilities {#sec-release-25.05-incompatibilities}
@ -393,6 +395,10 @@
[v1.8.0](https://github.com/jtroo/kanata/releases/tag/v1.8.0)
for more information.
- `authelia` version 4.39.0 has made changes on the default claims for ID Tokens, to mirror the standard claims from the specification.
This change may affect some clients in unexpected ways, so manual intervention may be required.
Read the [release notes](https://www.authelia.com/blog/4.39-release-notes/), along with [the guide](https://www.authelia.com/integration/openid-connect/openid-connect-1.0-claims/#restore-functionality-prior-to-claims-parameter) to work around issues that may be encountered.
- `ags` was updated to v2, which is just a CLI for Astal now. Components are available as a different package set `astal.*`.
If you want to use v1, it is available as `ags_1` package.
@ -640,6 +646,10 @@
[is removed](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c01f664e4ca210823b7594b50669bbd9b0a3c3b0)
in Linux 6.13.
- `authelia` version 4.39.0 has made some changes which deprecate older configurations.
They are still expected to be working until future version 5.0.0, but will generate warnings in logs.
Read the [release notes](https://www.authelia.com/blog/4.39-release-notes/) for human readable summaries of the changes.
- `programs.fzf.keybindings` now supports the fish shell.
- `gerbera` now has wavpack support.

View file

@ -1401,6 +1401,7 @@
./services/security/oauth2-proxy.nix
./services/security/oauth2-proxy-nginx.nix
./services/security/opensnitch.nix
./services/security/paretosecurity.nix
./services/security/pass-secret-service.nix
./services/security/physlock.nix
./services/security/shibboleth-sp.nix

View file

@ -6,7 +6,7 @@ export PATH=@coreutils@/bin
if test "$1" = "start"; then
if ! @procps@/bin/pgrep ircd; then
if @ipv6Enabled@; then
while ! @iproute@/sbin/ip addr |
while ! @iproute2@/sbin/ip addr |
@gnugrep@/bin/grep inet6 |
@gnugrep@/bin/grep global; do
sleep 1;

View file

@ -0,0 +1,43 @@
{
config,
lib,
pkgs,
...
}:
{
options.services.paretosecurity = {
enable = lib.mkEnableOption "[ParetoSecurity](https://paretosecurity.com) [agent](https://github.com/ParetoSecurity/agent) and its root helper";
package = lib.mkPackageOption pkgs "paretosecurity" { };
};
config = lib.mkIf config.services.paretosecurity.enable {
environment.systemPackages = [ config.services.paretosecurity.package ];
systemd.sockets."paretosecurity" = {
wantedBy = [ "sockets.target" ];
socketConfig = {
ListenStream = "/var/run/paretosecurity.sock";
SocketMode = "0666";
};
};
systemd.services."paretosecurity" = {
serviceConfig = {
ExecStart = "${config.services.paretosecurity.package}/bin/paretosecurity helper";
User = "root";
Group = "root";
StandardInput = "socket";
Type = "oneshot";
RemainAfterExit = "no";
StartLimitInterval = "1s";
StartLimitBurst = 100;
ProtectSystem = "full";
ProtectHome = true;
StandardOutput = "journal";
StandardError = "journal";
};
};
};
}

View file

@ -734,8 +734,9 @@ in
wantedBy = [ "multi-user.target" ];
requiredBy = [ "${phpExecutionUnit}.service" ];
before = [ "${phpExecutionUnit}.service" ];
after = lib.optional cfg.database.createLocally dbService;
wants = [ "local-fs.target" ];
requires = lib.optional cfg.database.createLocally dbService;
after = lib.optional cfg.database.createLocally dbService;
serviceConfig =
{
@ -785,11 +786,36 @@ in
);
};
services.${phpExecutionUnit} = {
wantedBy = lib.optional (cfg.nginx != null) "nginx.service";
requiredBy = [ "movim.service" ];
before = [ "movim.service" ] ++ lib.optional (cfg.nginx != null) "nginx.service";
wants = [ "network.target" ];
requires = [ "movim-data-setup.service" ] ++ lib.optional cfg.database.createLocally dbService;
after = [ "movim-data-setup.service" ] ++ lib.optional cfg.database.createLocally dbService;
};
services.movim = {
description = "Movim daemon";
wantedBy = [ "multi-user.target" ];
after = [ "movim-data-setup.service" ];
requires = [ "movim-data-setup.service" ] ++ lib.optional cfg.database.createLocally dbService;
wants = [
"network.target"
"local-fs.target"
];
requires =
[
"movim-data-setup.service"
"${phpExecutionUnit}.service"
]
++ lib.optional cfg.database.createLocally dbService
++ lib.optional (cfg.nginx != null) "nginx.service";
after =
[
"movim-data-setup.service"
"${phpExecutionUnit}.service"
]
++ lib.optional cfg.database.createLocally dbService
++ lib.optional (cfg.nginx != null) "nginx.service";
environment = {
PUBLIC_URL = "//${cfg.domain}";
WS_PORT = builtins.toString cfg.port;
@ -803,11 +829,6 @@ in
};
};
services.${phpExecutionUnit} = {
after = [ "movim-data-setup.service" ];
requires = [ "movim-data-setup.service" ] ++ lib.optional cfg.database.createLocally dbService;
};
tmpfiles.settings."10-movim" = with cfg; {
"${dataDir}".d = {
inherit user group;

View file

@ -895,6 +895,7 @@ in {
pam-u2f = handleTest ./pam/pam-u2f.nix {};
pam-ussh = handleTest ./pam/pam-ussh.nix {};
pam-zfs-key = handleTest ./pam/zfs-key.nix {};
paretosecurity = runTest ./paretosecurity.nix;
pass-secret-service = handleTest ./pass-secret-service.nix {};
patroni = handleTestOn ["x86_64-linux"] ./patroni.nix {};
pantalaimon = handleTest ./matrix/pantalaimon.nix {};

View file

@ -0,0 +1,16 @@
{ lib, ... }:
{
name = "paretosecurity";
meta.maintainers = [ lib.maintainers.zupo ];
nodes.machine =
{ config, pkgs, ... }:
{
services.paretosecurity.enable = true;
};
# very basic test for now, need to add output asserts
testScript = ''
machine.wait_until_succeeds("paretosecurity check")
'';
}

View file

@ -9,38 +9,36 @@
jq,
}:
let
buildVscodeExtension =
a@{
pname ? null, # Only optional for backward compatibility.
src,
# Same as "Unique Identifier" on the extension's web page.
# For the moment, only serve as unique extension dir.
vscodeExtPublisher,
vscodeExtName,
vscodeExtUniqueId,
configurePhase ? ''
runHook preConfigure
runHook postConfigure
'',
buildPhase ? ''
runHook preBuild
runHook postBuild
'',
dontPatchELF ? true,
dontStrip ? true,
nativeBuildInputs ? [ ],
passthru ? { },
...
}:
stdenv.mkDerivation (
(removeAttrs a [
"vscodeExtUniqueId"
"pname"
])
// (lib.optionalAttrs (pname != null) {
buildVscodeExtension = lib.extendMkDerivation {
constructDrv = stdenv.mkDerivation;
excludeDrvArgNames = [
"vscodeExtUniqueId"
];
extendDrvArgs =
finalAttrs:
{
pname ? null, # Only optional for backward compatibility.
# Same as "Unique Identifier" on the extension's web page.
# For the moment, only serve as unique extension dir.
vscodeExtPublisher,
vscodeExtName,
vscodeExtUniqueId,
configurePhase ? ''
runHook preConfigure
runHook postConfigure
'',
buildPhase ? ''
runHook preBuild
runHook postBuild
'',
dontPatchELF ? true,
dontStrip ? true,
nativeBuildInputs ? [ ],
passthru ? { },
...
}:
{
pname = "vscode-extension-${pname}";
})
// {
passthru = passthru // {
inherit vscodeExtPublisher vscodeExtName vscodeExtUniqueId;
@ -57,12 +55,12 @@ let
# If other directories are present but `sourceRoot` is unset, the unpacker phase fails.
sourceRoot = "extension";
# This cannot be removed, it is used by some extensions.
installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
nativeBuildInputs = [ unzip ] ++ nativeBuildInputs;
installPhase = ''
runHook preInstall
mkdir -p "$out/$installPrefix"
@ -70,36 +68,38 @@ let
runHook postInstall
'';
}
);
};
};
fetchVsixFromVscodeMarketplace =
mktplcExtRef: fetchurl (import ./mktplcExtRefToFetchArgs.nix mktplcExtRef);
buildVscodeMarketplaceExtension =
a@{
name ? "",
src ? null,
vsix ? null,
mktplcRef,
...
}:
assert "" == name;
assert null == src;
buildVscodeExtension (
(removeAttrs a [
"mktplcRef"
"vsix"
])
// {
buildVscodeMarketplaceExtension = lib.extendMkDerivation {
constructDrv = buildVscodeExtension;
excludeDrvArgNames = [
"mktplcRef"
"vsix"
];
extendDrvArgs =
finalAttrs:
{
name ? "",
src ? null,
vsix ? null,
mktplcRef,
...
}:
assert "" == name;
assert null == src;
{
inherit (mktplcRef) version;
pname = "${mktplcRef.publisher}-${mktplcRef.name}";
version = mktplcRef.version;
src = if (vsix != null) then vsix else fetchVsixFromVscodeMarketplace mktplcRef;
vscodeExtPublisher = mktplcRef.publisher;
vscodeExtName = mktplcRef.name;
vscodeExtUniqueId = "${mktplcRef.publisher}.${mktplcRef.name}";
}
);
};
};
mktplcRefAttrList = [
"name"

View file

@ -9,10 +9,10 @@
buildMozillaMach rec {
pname = "firefox";
version = "136.0.1";
version = "136.0.2";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "e5833ccf97796c15b5156357427621d1f2d1d7ee55b53262f3935eadb98229c74a355bbe2f72a4168ec4e29dd3f83f4eaca99c5215d61bd087475331d3522abd";
sha512 = "50dfbedb6bd513a3c6cf90558d7c6993cc78558cccc69fcc882f8e54eb8e8bec9779dce6fb7211c1a0234ac4a189438c5fa55ee9d0d06fcbae5cf44778af2ef1";
};
meta = {

View file

@ -16,17 +16,17 @@
rustPlatform.buildRustPackage rec {
pname = "amdgpu_top";
version = "0.10.3";
version = "0.10.4";
src = fetchFromGitHub {
owner = "Umio-Yasuno";
repo = "amdgpu_top";
rev = "v${version}";
hash = "sha256-9PHMPyL2yg36vG+wax0Lb/LFT7CQWnBnZ+t38hr01PE=";
hash = "sha256-OvxrcVjngIW/fVIPX1XhbGImAeDifoLzlaZpXUYS9FA=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-W20jtH3w8LVqKwdf2ifwXKO2xgF3e/DuZ8vWqHOAGy0=";
cargoHash = "sha256-na6pghbJ7Ek+rdbX4qJt2kv7C3AAqpgU/nYHaT9CQdo=";
buildInputs = [
libdrm

View file

@ -7,17 +7,17 @@
buildGoModule rec {
pname = "codeberg-pages";
version = "6.2";
version = "6.2.1";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "Codeberg";
repo = "pages-server";
rev = "v${version}";
hash = "sha256-VZIrg6Hzn9yP9zdOPGx6HOK64XHeX5xc52hZXwmuMKA=";
hash = "sha256-kWEwKdm/GAUtsc4ZyCn7VJm9vVWDBOHJRer2FP1L/g0=";
};
vendorHash = "sha256-pBCVkuCuyUxla6+uZM3SWXApBpMv0rFORP4tffXkuF4=";
vendorHash = "sha256-qGjcMZhwflYdwOrGS9EApkwVLLSolQBBIeU8AU/fT/I=";
postPatch = ''
# disable httptest

View file

@ -1,15 +1,21 @@
{ lib, stdenv, fetchFromGitHub, python3Packages, wrapQtAppsHook
, secp256k1, qtwayland }:
{
lib,
stdenv,
fetchFromGitHub,
python3Packages,
qt5,
secp256k1,
}:
python3Packages.buildPythonApplication rec {
pname = "electron-cash";
version = "4.3.1";
version = "4.4.2";
src = fetchFromGitHub {
owner = "Electron-Cash";
repo = "Electron-Cash";
tag = version;
sha256 = "sha256-xOyj5XerOwgfvI0qj7+7oshDvd18h5IeZvcJTis8nWo=";
sha256 = "sha256-hqaPxetS6JONvlRMjNonXUGFpdmnuadD00gcPzY07x0=";
};
build-system = with python3Packages; [
@ -38,6 +44,7 @@ python3Packages.buildPythonApplication rec {
psutil
pycryptodomex
cryptography
zxing-cpp
# requirements-hw
trezor
@ -49,36 +56,42 @@ python3Packages.buildPythonApplication rec {
pysatochip
];
nativeBuildInputs = [ wrapQtAppsHook ];
nativeBuildInputs = [ qt5.wrapQtAppsHook ];
buildInputs = [ ] ++ lib.optional stdenv.hostPlatform.isLinux qtwayland;
postPatch = ''
substituteInPlace contrib/requirements/requirements.txt \
--replace "qdarkstyle==2.6.8" "qdarkstyle<3"
substituteInPlace setup.py \
--replace "(share_dir" "(\"share\""
'';
buildInputs = [ ] ++ lib.optional stdenv.hostPlatform.isLinux qt5.qtwayland;
# If secp256k1 wasn't added to the library path, the following warning is given:
#
# Electron Cash was unable to find the secp256k1 library on this system.
# Elliptic curve cryptography operations will be performed in slow
# Python-only mode.
#
# Upstream hardcoded `libsecp256k1.so.0` where we provides
# `libsecp256k1.so.5`. The only breaking change is the removal of two
# functions which seem not used by electron-cash.
# See: <https://github.com/Electron-Cash/Electron-Cash/issues/3009>
postPatch = ''
substituteInPlace setup.py \
--replace-fail "(share_dir" '("share"'
substituteInPlace electroncash/secp256k1.py \
--replace-fail "libsecp256k1.so.0" "${secp256k1}/lib/libsecp256k1.so.5"
'';
preFixup = ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
makeWrapperArgs+=(
"--prefix" "LD_LIBRARY_PATH" ":" "${secp256k1}/lib"
)
'';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/electron-cash help >/dev/null
output="$($out/bin/electron-cash help 2>&1)"
if [[ "$output" == *"failed to load"* ]]; then
echo "$output"
echo "Forbidden text detected: failed to load"
exit 1
fi
'';
meta = with lib; {
meta = {
description = "Bitcoin Cash SPV Wallet";
mainProgram = "electron-cash";
longDescription = ''
@ -88,8 +101,12 @@ python3Packages.buildPythonApplication rec {
of the blockchain.
'';
homepage = "https://www.electroncash.org/";
platforms = platforms.unix;
maintainers = with maintainers; [ lassulus nyanloutre oxalica ];
license = licenses.mit;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
lassulus
nyanloutre
oxalica
];
license = lib.licenses.mit;
};
}

View file

@ -49,13 +49,21 @@ let
};
expressvpndFHS = buildFHSEnv {
inherit pname version;
inherit version;
pname = "expressvpnd";
# When connected, it directly creates/deletes resolv.conf to change the DNS entries.
# Since it's running in an FHS environment, it has no effect on actual resolv.conf.
# Hence, place a watcher that updates host resolv.conf when FHS resolv.conf changes.
# Mount the host's resolv.conf to the container's /etc/resolv.conf
runScript = writeScript "${pname}-wrapper" ''
cp /host/etc/resolv.conf /etc/resolv.conf;
mkdir -p /host/etc
[ -e /host/etc/resolv.conf ] || touch /host/etc/resolv.conf
mount --bind /etc/resolv.conf /host/etc/resolv.conf
mount -o remount,rw /host/etc/resolv.conf
trap "umount /host/etc/resolv.conf" EXIT
while inotifywait /etc 2>/dev/null;
do
cp /etc/resolv.conf /host/etc/resolv.conf;

View file

@ -11,13 +11,13 @@
}:
let
pname = "feishin";
version = "0.12.2";
version = "0.12.3";
src = fetchFromGitHub {
owner = "jeffvli";
repo = "feishin";
rev = "v${version}";
hash = "sha256-2kWeUlOTAd1Usw/cLOARyLqxEzZRk27RuHjLwupnq80=";
hash = "sha256-Tjh68b+41YrMNB14AZ3jXqBXDOmaaOYQKXJOyTUF474=";
};
electron = electron_33;

View file

@ -21,6 +21,11 @@ stdenv.mkDerivation {
sha256 = "0xv364a00zwxhd9kg1z9sch5y0cxnrhk546asspyb9bh58sdzfy7";
};
postPatch = ''
substituteInPlace Makefile \
--replace-fail 'pkg-config' '${stdenv.cc.targetPrefix}pkg-config'
'';
# Workaround build failure on -fno-common toolchains:
# ld: postscript.o:postscript.h:29: multiple definition of
# `postscript_params'; fped.o:postscript.h:29: first defined here
@ -43,6 +48,7 @@ stdenv.mkDerivation {
];
buildInputs = [
flex
gtk2
];

View file

@ -7,16 +7,19 @@
python3Packages.buildPythonApplication rec {
pname = "git-delete-merged-branches";
version = "7.4.2";
version = "7.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "hartwork";
repo = pname;
tag = version;
sha256 = "sha256-l+R4gINZJ8bJdhcK+U9jOuIoAm2/bd5P+w9AbwPZMrk=";
sha256 = "sha256-2MSdUpToOiurtiL0Ws2dLEWqd6wj4nQ2RsEepBytgAk=";
};
propagatedBuildInputs = with python3Packages; [
build-system = with python3Packages; [ setuptools ];
dependencies = with python3Packages; [
colorama
prompt-toolkit
];
@ -25,7 +28,7 @@ python3Packages.buildPythonApplication rec {
meta = with lib; {
description = "Command-line tool to delete merged Git branches";
homepage = "https://pypi.org/project/git-delete-merged-branches/";
homepage = "https://github.com/hartwork/git-delete-merged-branches/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ SuperSandro2000 ];
};

View file

@ -0,0 +1,42 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
guile,
pkg-config,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "guile-redis";
version = "2.2.0";
src = fetchFromGitHub {
owner = "aconchillo";
repo = "guile-redis";
tag = finalAttrs.version;
hash = "sha256-0lObXRBn4yZi2S+MeesT1Z/vJWb907BHknA4hOQOYzE=";
};
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
guile
pkg-config
];
buildInputs = [ guile ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Redis module for Guile";
homepage = "https://github.com/aconchillo/guile-redis";
changelog = "https://github.com/aconchillo/guile-redis/releases/tag/${finalAttrs.version}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ ethancedwards8 ];
platforms = guile.meta.platforms;
};
})

View file

@ -13,6 +13,7 @@
python3,
readline,
zlib,
buildPackages,
}:
stdenv.mkDerivation rec {
@ -33,8 +34,8 @@ stdenv.mkDerivation rec {
gperf
];
CC_FOR_BUILD = "${stdenv.cc}/bin/cc";
CXX_FOR_BUILD = "${stdenv.cc}/bin/c++";
CC_FOR_BUILD = "${buildPackages.stdenv.cc}/bin/cc";
CXX_FOR_BUILD = "${buildPackages.stdenv.cc}/bin/c++";
patches = [
# NOTE(jleightcap): `-Werror=format-security` warning patched shortly after release, backport the upstream fix

View file

@ -5,7 +5,7 @@
...
}:
let
version = "0.1.2";
version = "0.2.0";
in
buildGoModule {
pname = "izrss";
@ -15,7 +15,7 @@ buildGoModule {
owner = "isabelroses";
repo = "izrss";
tag = "v${version}";
hash = "sha256-t/YvSl6JoYLHsCPkRlbaM8OlAMQc83cb4sOKF7S/CFw=";
hash = "sha256-t+RtdKrYI0MNGSR1ABvClKv+hUJ4Tpg7yKS2qbm7BKc=";
};
ldflags = [
@ -24,7 +24,7 @@ buildGoModule {
"-X main.version=${version}"
];
vendorHash = "sha256-bB6oxIbFqY0rPoGetIGfKEdfPsX9cqeb9WcjtgjAAJA=";
vendorHash = "sha256-2L/EUoPbz6AZqv84XPhiZhImOL4wyBOzx6Od4+nTJeY=";
meta = {
description = "RSS feed reader for the terminal written in Go";

View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "399626345cd7b56932f01477c0ed926e",
"content-hash": "68e4857d05b187b0f49a9eb15dda2c5a",
"packages": [
{
"name": "carbonphp/carbon-doctrine-types",
@ -168,35 +168,36 @@
},
{
"name": "illuminate/collections",
"version": "v11.30.0",
"version": "v12.2.0",
"source": {
"type": "git",
"url": "https://github.com/illuminate/collections.git",
"reference": "2d99ccbb19e34450508ff3ab2f62ba90aa2e9793"
"reference": "8dae6a0e779b07ee17066652334d36ed473ccff2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/illuminate/collections/zipball/2d99ccbb19e34450508ff3ab2f62ba90aa2e9793",
"reference": "2d99ccbb19e34450508ff3ab2f62ba90aa2e9793",
"url": "https://api.github.com/repos/illuminate/collections/zipball/8dae6a0e779b07ee17066652334d36ed473ccff2",
"reference": "8dae6a0e779b07ee17066652334d36ed473ccff2",
"shasum": ""
},
"require": {
"illuminate/conditionable": "^11.0",
"illuminate/contracts": "^11.0",
"illuminate/macroable": "^11.0",
"illuminate/conditionable": "^12.0",
"illuminate/contracts": "^12.0",
"illuminate/macroable": "^12.0",
"php": "^8.2"
},
"suggest": {
"symfony/var-dumper": "Required to use the dump method (^7.0)."
"symfony/var-dumper": "Required to use the dump method (^7.2)."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "11.x-dev"
"dev-master": "12.x-dev"
}
},
"autoload": {
"files": [
"functions.php",
"helpers.php"
],
"psr-4": {
@ -219,29 +220,29 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2024-10-10T19:23:07+00:00"
"time": "2025-03-12T14:22:47+00:00"
},
{
"name": "illuminate/conditionable",
"version": "v11.30.0",
"version": "v12.2.0",
"source": {
"type": "git",
"url": "https://github.com/illuminate/conditionable.git",
"reference": "362dd761b9920367bca1427a902158225e9e3a23"
"reference": "a2b3c66f3ca532e12e694bd5c9254adc303b922d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/illuminate/conditionable/zipball/362dd761b9920367bca1427a902158225e9e3a23",
"reference": "362dd761b9920367bca1427a902158225e9e3a23",
"url": "https://api.github.com/repos/illuminate/conditionable/zipball/a2b3c66f3ca532e12e694bd5c9254adc303b922d",
"reference": "a2b3c66f3ca532e12e694bd5c9254adc303b922d",
"shasum": ""
},
"require": {
"php": "^8.0.2"
"php": "^8.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "11.x-dev"
"dev-master": "12.x-dev"
}
},
"autoload": {
@ -265,20 +266,20 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2024-06-28T20:10:30+00:00"
"time": "2025-02-19T19:08:33+00:00"
},
{
"name": "illuminate/contracts",
"version": "v11.30.0",
"version": "v12.2.0",
"source": {
"type": "git",
"url": "https://github.com/illuminate/contracts.git",
"reference": "56312862af937bd6da8e6dc8bbd88188dfb478f8"
"reference": "6b3e6b148e814077d87a56a6f89b0e3d91e06c56"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/illuminate/contracts/zipball/56312862af937bd6da8e6dc8bbd88188dfb478f8",
"reference": "56312862af937bd6da8e6dc8bbd88188dfb478f8",
"url": "https://api.github.com/repos/illuminate/contracts/zipball/6b3e6b148e814077d87a56a6f89b0e3d91e06c56",
"reference": "6b3e6b148e814077d87a56a6f89b0e3d91e06c56",
"shasum": ""
},
"require": {
@ -289,7 +290,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "11.x-dev"
"dev-master": "12.x-dev"
}
},
"autoload": {
@ -313,47 +314,47 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2024-09-22T15:08:08+00:00"
"time": "2025-03-05T19:37:08+00:00"
},
{
"name": "illuminate/filesystem",
"version": "v11.30.0",
"version": "v12.2.0",
"source": {
"type": "git",
"url": "https://github.com/illuminate/filesystem.git",
"reference": "ce7013a350fb06bc65e8a2cf15fd2015f49e476d"
"reference": "e59cfec3c16d71be2da85cf9385ddd82f0c15857"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/illuminate/filesystem/zipball/ce7013a350fb06bc65e8a2cf15fd2015f49e476d",
"reference": "ce7013a350fb06bc65e8a2cf15fd2015f49e476d",
"url": "https://api.github.com/repos/illuminate/filesystem/zipball/e59cfec3c16d71be2da85cf9385ddd82f0c15857",
"reference": "e59cfec3c16d71be2da85cf9385ddd82f0c15857",
"shasum": ""
},
"require": {
"illuminate/collections": "^11.0",
"illuminate/contracts": "^11.0",
"illuminate/macroable": "^11.0",
"illuminate/support": "^11.0",
"illuminate/collections": "^12.0",
"illuminate/contracts": "^12.0",
"illuminate/macroable": "^12.0",
"illuminate/support": "^12.0",
"php": "^8.2",
"symfony/finder": "^7.0"
"symfony/finder": "^7.2.0"
},
"suggest": {
"ext-fileinfo": "Required to use the Filesystem class.",
"ext-ftp": "Required to use the Flysystem FTP driver.",
"ext-hash": "Required to use the Filesystem class.",
"illuminate/http": "Required for handling uploaded files (^7.0).",
"league/flysystem": "Required to use the Flysystem local driver (^3.0.16).",
"league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).",
"league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).",
"league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).",
"illuminate/http": "Required for handling uploaded files (^12.0).",
"league/flysystem": "Required to use the Flysystem local driver (^3.25.1).",
"league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).",
"league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.25.1).",
"league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.25.1).",
"psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
"symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).",
"symfony/mime": "Required to enable support for guessing extensions (^7.0)."
"symfony/filesystem": "Required to enable support for relative symbolic links (^7.2).",
"symfony/mime": "Required to enable support for guessing extensions (^7.2)."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "11.x-dev"
"dev-master": "12.x-dev"
}
},
"autoload": {
@ -380,20 +381,20 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2024-09-22T15:10:50+00:00"
"time": "2025-03-12T14:22:47+00:00"
},
{
"name": "illuminate/macroable",
"version": "v11.30.0",
"version": "v12.2.0",
"source": {
"type": "git",
"url": "https://github.com/illuminate/macroable.git",
"reference": "e1cb9e51b9ed5d3c9bc1ab431d0a52fe42a990ed"
"reference": "e862e5648ee34004fa56046b746f490dfa86c613"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/illuminate/macroable/zipball/e1cb9e51b9ed5d3c9bc1ab431d0a52fe42a990ed",
"reference": "e1cb9e51b9ed5d3c9bc1ab431d0a52fe42a990ed",
"url": "https://api.github.com/repos/illuminate/macroable/zipball/e862e5648ee34004fa56046b746f490dfa86c613",
"reference": "e862e5648ee34004fa56046b746f490dfa86c613",
"shasum": ""
},
"require": {
@ -402,7 +403,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "11.x-dev"
"dev-master": "12.x-dev"
}
},
"autoload": {
@ -426,20 +427,20 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2024-06-28T20:10:30+00:00"
"time": "2024-07-23T16:31:01+00:00"
},
{
"name": "illuminate/support",
"version": "v11.30.0",
"version": "v12.2.0",
"source": {
"type": "git",
"url": "https://github.com/illuminate/support.git",
"reference": "69453485fa4c76589b5a1a98ebef0e8fee749220"
"reference": "57e684840518d05326cc2958bca8e3790feab3eb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/illuminate/support/zipball/69453485fa4c76589b5a1a98ebef0e8fee749220",
"reference": "69453485fa4c76589b5a1a98ebef0e8fee749220",
"url": "https://api.github.com/repos/illuminate/support/zipball/57e684840518d05326cc2958bca8e3790feab3eb",
"reference": "57e684840518d05326cc2958bca8e3790feab3eb",
"shasum": ""
},
"require": {
@ -447,13 +448,13 @@
"ext-ctype": "*",
"ext-filter": "*",
"ext-mbstring": "*",
"illuminate/collections": "^11.0",
"illuminate/conditionable": "^11.0",
"illuminate/contracts": "^11.0",
"illuminate/macroable": "^11.0",
"nesbot/carbon": "^2.72.2|^3.0",
"illuminate/collections": "^12.0",
"illuminate/conditionable": "^12.0",
"illuminate/contracts": "^12.0",
"illuminate/macroable": "^12.0",
"nesbot/carbon": "^3.8.4",
"php": "^8.2",
"voku/portable-ascii": "^2.0"
"voku/portable-ascii": "^2.0.2"
},
"conflict": {
"tightenco/collect": "<5.5.33"
@ -462,19 +463,20 @@
"spatie/once": "*"
},
"suggest": {
"illuminate/filesystem": "Required to use the composer class (^11.0).",
"laravel/serializable-closure": "Required to use the once function (^1.3).",
"league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^2.0.2).",
"illuminate/filesystem": "Required to use the Composer class (^12.0).",
"laravel/serializable-closure": "Required to use the once function (^1.3|^2.0).",
"league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^2.6).",
"league/uri": "Required to use the Uri class (^7.5.1).",
"ramsey/uuid": "Required to use Str::uuid() (^4.7).",
"symfony/process": "Required to use the composer class (^7.0).",
"symfony/uid": "Required to use Str::ulid() (^7.0).",
"symfony/var-dumper": "Required to use the dd function (^7.0).",
"vlucas/phpdotenv": "Required to use the Env class and env helper (^5.4.1)."
"symfony/process": "Required to use the Composer class (^7.2).",
"symfony/uid": "Required to use Str::ulid() (^7.2).",
"symfony/var-dumper": "Required to use the dd function (^7.2).",
"vlucas/phpdotenv": "Required to use the Env class and env helper (^5.6.1)."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "11.x-dev"
"dev-master": "12.x-dev"
}
},
"autoload": {
@ -502,20 +504,20 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2024-10-29T20:21:52+00:00"
"time": "2025-03-12T14:22:47+00:00"
},
{
"name": "laravel/prompts",
"version": "v0.3.1",
"version": "v0.3.5",
"source": {
"type": "git",
"url": "https://github.com/laravel/prompts.git",
"reference": "0f3848a445562dac376b27968f753c65e7e1036e"
"reference": "57b8f7efe40333cdb925700891c7d7465325d3b1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/prompts/zipball/0f3848a445562dac376b27968f753c65e7e1036e",
"reference": "0f3848a445562dac376b27968f753c65e7e1036e",
"url": "https://api.github.com/repos/laravel/prompts/zipball/57b8f7efe40333cdb925700891c7d7465325d3b1",
"reference": "57b8f7efe40333cdb925700891c7d7465325d3b1",
"shasum": ""
},
"require": {
@ -529,9 +531,9 @@
"laravel/framework": ">=10.17.0 <10.25.0"
},
"require-dev": {
"illuminate/collections": "^10.0|^11.0",
"illuminate/collections": "^10.0|^11.0|^12.0",
"mockery/mockery": "^1.5",
"pestphp/pest": "^2.3",
"pestphp/pest": "^2.3|^3.4",
"phpstan/phpstan": "^1.11",
"phpstan/phpstan-mockery": "^1.1"
},
@ -559,22 +561,22 @@
"description": "Add beautiful and user-friendly forms to your command-line applications.",
"support": {
"issues": "https://github.com/laravel/prompts/issues",
"source": "https://github.com/laravel/prompts/tree/v0.3.1"
"source": "https://github.com/laravel/prompts/tree/v0.3.5"
},
"time": "2024-10-09T19:42:26+00:00"
"time": "2025-02-11T13:34:40+00:00"
},
{
"name": "nesbot/carbon",
"version": "3.8.2",
"version": "3.8.6",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
"reference": "e1268cdbc486d97ce23fef2c666dc3c6b6de9947"
"url": "https://github.com/CarbonPHP/carbon.git",
"reference": "ff2f20cf83bd4d503720632ce8a426dc747bf7fd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e1268cdbc486d97ce23fef2c666dc3c6b6de9947",
"reference": "e1268cdbc486d97ce23fef2c666dc3c6b6de9947",
"url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/ff2f20cf83bd4d503720632ce8a426dc747bf7fd",
"reference": "ff2f20cf83bd4d503720632ce8a426dc747bf7fd",
"shasum": ""
},
"require": {
@ -606,10 +608,6 @@
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.x-dev",
"dev-2.x": "2.x-dev"
},
"laravel": {
"providers": [
"Carbon\\Laravel\\ServiceProvider"
@ -619,6 +617,10 @@
"includes": [
"extension.neon"
]
},
"branch-alias": {
"dev-2.x": "2.x-dev",
"dev-master": "3.x-dev"
}
},
"autoload": {
@ -650,8 +652,8 @@
],
"support": {
"docs": "https://carbon.nesbot.com/docs",
"issues": "https://github.com/briannesbitt/Carbon/issues",
"source": "https://github.com/briannesbitt/Carbon"
"issues": "https://github.com/CarbonPHP/carbon/issues",
"source": "https://github.com/CarbonPHP/carbon"
},
"funding": [
{
@ -667,7 +669,7 @@
"type": "tidelift"
}
],
"time": "2024-11-07T17:46:48+00:00"
"time": "2025-02-20T17:33:38+00:00"
},
{
"name": "psr/clock",
@ -823,16 +825,16 @@
},
{
"name": "symfony/clock",
"version": "v7.1.6",
"version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/clock.git",
"reference": "97bebc53548684c17ed696bc8af016880f0f098d"
"reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/clock/zipball/97bebc53548684c17ed696bc8af016880f0f098d",
"reference": "97bebc53548684c17ed696bc8af016880f0f098d",
"url": "https://api.github.com/repos/symfony/clock/zipball/b81435fbd6648ea425d1ee96a2d8e68f4ceacd24",
"reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24",
"shasum": ""
},
"require": {
@ -877,7 +879,7 @@
"time"
],
"support": {
"source": "https://github.com/symfony/clock/tree/v7.1.6"
"source": "https://github.com/symfony/clock/tree/v7.2.0"
},
"funding": [
{
@ -893,20 +895,20 @@
"type": "tidelift"
}
],
"time": "2024-09-25T14:20:29+00:00"
"time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/console",
"version": "v7.1.7",
"version": "v7.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "3284aafcac338b6e86fd955ee4d794cbe434151a"
"reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/3284aafcac338b6e86fd955ee4d794cbe434151a",
"reference": "3284aafcac338b6e86fd955ee4d794cbe434151a",
"url": "https://api.github.com/repos/symfony/console/zipball/fefcc18c0f5d0efe3ab3152f15857298868dc2c3",
"reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3",
"shasum": ""
},
"require": {
@ -970,7 +972,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v7.1.7"
"source": "https://github.com/symfony/console/tree/v7.2.1"
},
"funding": [
{
@ -986,20 +988,20 @@
"type": "tidelift"
}
],
"time": "2024-11-05T15:34:55+00:00"
"time": "2024-12-11T03:49:26+00:00"
},
{
"name": "symfony/deprecation-contracts",
"version": "v3.5.0",
"version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
"reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
"reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
"reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
"shasum": ""
},
"require": {
@ -1007,12 +1009,12 @@
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/contracts",
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
}
},
"autoload": {
@ -1037,7 +1039,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0"
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1"
},
"funding": [
{
@ -1053,20 +1055,20 @@
"type": "tidelift"
}
],
"time": "2024-04-18T09:32:20+00:00"
"time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/finder",
"version": "v7.1.6",
"version": "v7.2.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "2cb89664897be33f78c65d3d2845954c8d7a43b8"
"reference": "87a71856f2f56e4100373e92529eed3171695cfb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/2cb89664897be33f78c65d3d2845954c8d7a43b8",
"reference": "2cb89664897be33f78c65d3d2845954c8d7a43b8",
"url": "https://api.github.com/repos/symfony/finder/zipball/87a71856f2f56e4100373e92529eed3171695cfb",
"reference": "87a71856f2f56e4100373e92529eed3171695cfb",
"shasum": ""
},
"require": {
@ -1101,7 +1103,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/finder/tree/v7.1.6"
"source": "https://github.com/symfony/finder/tree/v7.2.2"
},
"funding": [
{
@ -1117,7 +1119,7 @@
"type": "tidelift"
}
],
"time": "2024-10-01T08:31:23+00:00"
"time": "2024-12-30T19:00:17+00:00"
},
{
"name": "symfony/polyfill-ctype",
@ -1145,8 +1147,8 @@
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
@ -1221,8 +1223,8 @@
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
@ -1299,8 +1301,8 @@
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
@ -1383,8 +1385,8 @@
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
@ -1457,8 +1459,8 @@
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
@ -1515,16 +1517,16 @@
},
{
"name": "symfony/process",
"version": "v7.1.7",
"version": "v7.2.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "9b8a40b7289767aa7117e957573c2a535efe6585"
"reference": "d8f411ff3c7ddc4ae9166fb388d1190a2df5b5cf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/9b8a40b7289767aa7117e957573c2a535efe6585",
"reference": "9b8a40b7289767aa7117e957573c2a535efe6585",
"url": "https://api.github.com/repos/symfony/process/zipball/d8f411ff3c7ddc4ae9166fb388d1190a2df5b5cf",
"reference": "d8f411ff3c7ddc4ae9166fb388d1190a2df5b5cf",
"shasum": ""
},
"require": {
@ -1556,7 +1558,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/process/tree/v7.1.7"
"source": "https://github.com/symfony/process/tree/v7.2.4"
},
"funding": [
{
@ -1572,20 +1574,20 @@
"type": "tidelift"
}
],
"time": "2024-11-06T09:25:12+00:00"
"time": "2025-02-05T08:33:46+00:00"
},
{
"name": "symfony/service-contracts",
"version": "v3.5.0",
"version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f"
"reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
"reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0",
"reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0",
"shasum": ""
},
"require": {
@ -1598,12 +1600,12 @@
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/contracts",
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
}
},
"autoload": {
@ -1639,7 +1641,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/v3.5.0"
"source": "https://github.com/symfony/service-contracts/tree/v3.5.1"
},
"funding": [
{
@ -1655,20 +1657,20 @@
"type": "tidelift"
}
],
"time": "2024-04-18T09:32:20+00:00"
"time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/string",
"version": "v7.1.6",
"version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "61b72d66bf96c360a727ae6232df5ac83c71f626"
"reference": "446e0d146f991dde3e73f45f2c97a9faad773c82"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/61b72d66bf96c360a727ae6232df5ac83c71f626",
"reference": "61b72d66bf96c360a727ae6232df5ac83c71f626",
"url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82",
"reference": "446e0d146f991dde3e73f45f2c97a9faad773c82",
"shasum": ""
},
"require": {
@ -1726,7 +1728,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v7.1.6"
"source": "https://github.com/symfony/string/tree/v7.2.0"
},
"funding": [
{
@ -1742,24 +1744,25 @@
"type": "tidelift"
}
],
"time": "2024-09-25T14:20:29+00:00"
"time": "2024-11-13T13:31:26+00:00"
},
{
"name": "symfony/translation",
"version": "v7.1.6",
"version": "v7.2.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
"reference": "b9f72ab14efdb6b772f85041fa12f820dee8d55f"
"reference": "283856e6981286cc0d800b53bd5703e8e363f05a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/b9f72ab14efdb6b772f85041fa12f820dee8d55f",
"reference": "b9f72ab14efdb6b772f85041fa12f820dee8d55f",
"url": "https://api.github.com/repos/symfony/translation/zipball/283856e6981286cc0d800b53bd5703e8e363f05a",
"reference": "283856e6981286cc0d800b53bd5703e8e363f05a",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/translation-contracts": "^2.5|^3.0"
},
@ -1820,7 +1823,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/translation/tree/v7.1.6"
"source": "https://github.com/symfony/translation/tree/v7.2.4"
},
"funding": [
{
@ -1836,20 +1839,20 @@
"type": "tidelift"
}
],
"time": "2024-09-28T12:35:13+00:00"
"time": "2025-02-13T10:27:23+00:00"
},
{
"name": "symfony/translation-contracts",
"version": "v3.5.0",
"version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
"reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a"
"reference": "4667ff3bd513750603a09c8dedbea942487fb07c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a",
"reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/4667ff3bd513750603a09c8dedbea942487fb07c",
"reference": "4667ff3bd513750603a09c8dedbea942487fb07c",
"shasum": ""
},
"require": {
@ -1857,12 +1860,12 @@
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/contracts",
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
}
},
"autoload": {
@ -1898,7 +1901,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/translation-contracts/tree/v3.5.0"
"source": "https://github.com/symfony/translation-contracts/tree/v3.5.1"
},
"funding": [
{
@ -1914,20 +1917,20 @@
"type": "tidelift"
}
],
"time": "2024-04-18T09:32:20+00:00"
"time": "2024-09-25T14:20:29+00:00"
},
{
"name": "voku/portable-ascii",
"version": "2.0.1",
"version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/voku/portable-ascii.git",
"reference": "b56450eed252f6801410d810c8e1727224ae0743"
"reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743",
"reference": "b56450eed252f6801410d810c8e1727224ae0743",
"url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d",
"reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d",
"shasum": ""
},
"require": {
@ -1952,7 +1955,7 @@
"authors": [
{
"name": "Lars Moelleken",
"homepage": "http://www.moelleken.org/"
"homepage": "https://www.moelleken.org/"
}
],
"description": "Portable ASCII library - performance optimized (ascii) string functions for php.",
@ -1964,7 +1967,7 @@
],
"support": {
"issues": "https://github.com/voku/portable-ascii/issues",
"source": "https://github.com/voku/portable-ascii/tree/2.0.1"
"source": "https://github.com/voku/portable-ascii/tree/2.0.3"
},
"funding": [
{
@ -1988,22 +1991,22 @@
"type": "tidelift"
}
],
"time": "2022-03-08T17:03:00+00:00"
"time": "2024-11-21T01:49:47+00:00"
}
],
"packages-dev": [
{
"name": "myclabs/deep-copy",
"version": "1.12.1",
"version": "1.13.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
"reference": "123267b2c49fbf30d78a7b2d333f6be754b94845"
"reference": "024473a478be9df5fdaca2c793f2232fe788e414"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845",
"reference": "123267b2c49fbf30d78a7b2d333f6be754b94845",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/024473a478be9df5fdaca2c793f2232fe788e414",
"reference": "024473a478be9df5fdaca2c793f2232fe788e414",
"shasum": ""
},
"require": {
@ -2042,7 +2045,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
"source": "https://github.com/myclabs/DeepCopy/tree/1.12.1"
"source": "https://github.com/myclabs/DeepCopy/tree/1.13.0"
},
"funding": [
{
@ -2050,20 +2053,20 @@
"type": "tidelift"
}
],
"time": "2024-11-08T17:47:46+00:00"
"time": "2025-02-12T12:17:51+00:00"
},
{
"name": "nikic/php-parser",
"version": "v5.3.1",
"version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "8eea230464783aa9671db8eea6f8c6ac5285794b"
"reference": "447a020a1f875a434d62f2a401f53b82a396e494"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b",
"reference": "8eea230464783aa9671db8eea6f8c6ac5285794b",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494",
"reference": "447a020a1f875a434d62f2a401f53b82a396e494",
"shasum": ""
},
"require": {
@ -2106,9 +2109,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v5.3.1"
"source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0"
},
"time": "2024-10-08T18:51:32+00:00"
"time": "2024-12-30T11:07:19+00:00"
},
{
"name": "phar-io/manifest",
@ -2230,20 +2233,20 @@
},
{
"name": "phpstan/phpstan",
"version": "1.12.8",
"version": "2.1.8",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "f6a60a4d66142b8156c9da923f1972657bc4748c"
"reference": "f9adff3b87c03b12cc7e46a30a524648e497758f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/f6a60a4d66142b8156c9da923f1972657bc4748c",
"reference": "f6a60a4d66142b8156c9da923f1972657bc4748c",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/f9adff3b87c03b12cc7e46a30a524648e497758f",
"reference": "f9adff3b87c03b12cc7e46a30a524648e497758f",
"shasum": ""
},
"require": {
"php": "^7.2|^8.0"
"php": "^7.4|^8.0"
},
"conflict": {
"phpstan/phpstan-shim": "*"
@ -2284,7 +2287,7 @@
"type": "github"
}
],
"time": "2024-11-06T19:06:49+00:00"
"time": "2025-03-09T09:30:48+00:00"
},
{
"name": "phpunit/php-code-coverage",
@ -2609,16 +2612,16 @@
},
{
"name": "phpunit/phpunit",
"version": "10.5.38",
"version": "10.5.45",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "a86773b9e887a67bc53efa9da9ad6e3f2498c132"
"reference": "bd68a781d8e30348bc297449f5234b3458267ae8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a86773b9e887a67bc53efa9da9ad6e3f2498c132",
"reference": "a86773b9e887a67bc53efa9da9ad6e3f2498c132",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/bd68a781d8e30348bc297449f5234b3458267ae8",
"reference": "bd68a781d8e30348bc297449f5234b3458267ae8",
"shasum": ""
},
"require": {
@ -2628,7 +2631,7 @@
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
"myclabs/deep-copy": "^1.12.0",
"myclabs/deep-copy": "^1.12.1",
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
"php": ">=8.1",
@ -2690,7 +2693,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.38"
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.45"
},
"funding": [
{
@ -2706,7 +2709,7 @@
"type": "tidelift"
}
],
"time": "2024-10-28T13:06:21+00:00"
"time": "2025-02-06T16:08:12+00:00"
},
{
"name": "sebastian/cli-parser",

View file

@ -3,28 +3,37 @@
fetchFromGitHub,
makeWrapper,
php,
nodejs,
}:
php.buildComposerProject2 (finalAttrs: {
pname = "laravel";
version = "5.9.2";
version = "5.14.0";
src = fetchFromGitHub {
owner = "laravel";
repo = "installer";
tag = "v${finalAttrs.version}";
hash = "sha256-XE1KYOlWehj1peSNj3sKNr6CKchCxRNpIjXHq7slVME=";
hash = "sha256-Ka8bgJA5zR5hWfqAyz/mKjZ22oL9yMpqWGdcCoy6wNQ=";
};
nativeBuildInputs = [ makeWrapper ];
composerLock = ./composer.lock;
vendorHash = "sha256-Kid5Vp42Pme1AO9fI9e/f24Cdzi1uV8qEULFEvQDKnE=";
vendorHash = "sha256-KaPOPPDjiATBAOlEasb22poVMg6w0NEUnpclapuGhw0=";
# Adding npm (nodejs) and php composer to path
postInstall = ''
wrapProgram $out/bin/laravel \
--suffix PATH : ${lib.makeBinPath [ php.packages.composer ]}
--suffix PATH : ${
lib.makeBinPath [
php.packages.composer
nodejs
]
}
'';
passthru.updateScript = ./update.sh;
meta = {
description = "Laravel application installer";
homepage = "https://laravel.com/docs#creating-a-laravel-project";

View file

@ -0,0 +1,29 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq php.packages.composer nix-update coreutils
set -eou pipefail
PACKAGE_NAME="laravel"
PACKAGE_VERSION=$(nix eval --raw -f. $PACKAGE_NAME.version)
PACKAGE_DIR="$(dirname "${BASH_SOURCE[0]}")"
# Get latest version from git
GIT_VERSION="$(curl --silent ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/laravel/installer/releases/latest" | jq '.tag_name' --raw-output)"
NEW_VERSION="${GIT_VERSION#v}"
# Fail if package and git version are the same
if [[ "$PACKAGE_VERSION" == "$NEW_VERSION" ]]; then
echo "${PACKAGE_NAME} is up-to-date: ${PACKAGE_VERSION}"
exit 0
fi
# Generate composer.lock file
TMPDIR=$(mktemp -d)
trap 'rm -rf -- "${TMPDIR}"' EXIT
git clone --depth 1 --branch "${GIT_VERSION}" https://github.com/laravel/installer.git "${TMPDIR}/laravel"
composer -d "${TMPDIR}/laravel" install
cp "${TMPDIR}/laravel/composer.lock" "${PACKAGE_DIR}/composer.lock"
# update package.nix version, hash and vendorHash
nix-update $PACKAGE_NAME --version="${NEW_VERSION}"

View file

@ -31,8 +31,8 @@
},
{
"pname": "Avalonia",
"version": "11.2.2",
"hash": "sha256-lYWqgjYOyh4pg+TdkgqeFhi8OMI1p9IOvSntVXo5zvE="
"version": "11.2.4",
"hash": "sha256-CcdWUxqd43A4KeY1K4T5M6R1M0zuwdwyd5Qh/BAlNT4="
},
{
"pname": "Avalonia.Angle.Windows.Natives",
@ -51,43 +51,43 @@
},
{
"pname": "Avalonia.BuildServices",
"version": "0.0.29",
"hash": "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY="
"version": "0.0.31",
"hash": "sha256-wgtodGf644CsUZEBIpFKcUjYHTbnu7mZmlr8uHIxeKA="
},
{
"pname": "Avalonia.Controls.ColorPicker",
"version": "11.2.2",
"hash": "sha256-Mmp7Mjy9Y6uvkfjE8KLWoJWcVZHiJwqmhQupsxYRExo="
"version": "11.2.4",
"hash": "sha256-21Wfb4p0dCevw8Iu/Fchngt1teAnBaxEWgiUpFkerTo="
},
{
"pname": "Avalonia.Controls.DataGrid",
"version": "11.2.2",
"hash": "sha256-RbkISZEp55N9dtqvPp0Ej2/wpU/YzI4wgJjBCJnIGl4="
"version": "11.2.4",
"hash": "sha256-fqQBKzHcL0CwuOQ90Gp+UUZZP9OQ9U6H41bvikxQJpo="
},
{
"pname": "Avalonia.Controls.TreeDataGrid",
"version": "11.1.0",
"hash": "sha256-WU0vs7a3BTQQiJn+fBhs+o+iKt5aukIVjpfH5LyyWwc="
"version": "11.1.1",
"hash": "sha256-pEh7qGLhkirOW81xqy8iRMmFpOgdyTFpWpUHrkHgmcM="
},
{
"pname": "Avalonia.Desktop",
"version": "11.2.2",
"hash": "sha256-ucd2SH0CAjwE5TSgwhhzYZqMD1zuTlR7qLQDl3mYGvg="
"version": "11.2.4",
"hash": "sha256-WKTOx7RNSb0fOMg5Za4j+u9DwKXDqVzHwQCEXSm7TFo="
},
{
"pname": "Avalonia.Diagnostics",
"version": "11.2.2",
"hash": "sha256-aOji+/TYSP0l3dpn62bvWMdce2YkYi5xzRPC3nS6ZGc="
"version": "11.2.4",
"hash": "sha256-MUSfRXeJ1bstO2rTqWWCQyVq2EpjM5b5bxe0KxVAEU4="
},
{
"pname": "Avalonia.FreeDesktop",
"version": "11.2.2",
"hash": "sha256-c/u6TX1Hl2h8B5xe7Zo1AJ6cR5BazI19NRnw56a36y0="
"version": "11.2.4",
"hash": "sha256-lw8YFXR/pn0awFvFW+OhjZ2LbHonL6zwqLIz+pQp+Sk="
},
{
"pname": "Avalonia.Headless",
"version": "11.2.2",
"hash": "sha256-XGKYwxFAdrOWq2HgFY42+8wS03t2bHGNuajwKC4mLHc="
"version": "11.2.4",
"hash": "sha256-3XvLm+pu+s3gXJVyn8dl8teQX4ikNn+dvKXb18Owsn8="
},
{
"pname": "Avalonia.Labs.Panels",
@ -96,13 +96,13 @@
},
{
"pname": "Avalonia.Native",
"version": "11.2.2",
"hash": "sha256-2Scuc+OCtfLChDYCi4feCh9XUrgJpbVaek3xRnpOGDE="
"version": "11.2.4",
"hash": "sha256-MvxivGjYerXcr70JpWe9CCXO6MU9QQgCkmZfjZCFdJM="
},
{
"pname": "Avalonia.ReactiveUI",
"version": "11.2.2",
"hash": "sha256-Rr/wmmS47korAK0nAplpWCWrS1O9YZZD6i+efR7btN0="
"version": "11.2.4",
"hash": "sha256-LqwLUDCIbJowol6BNTTsK7a7KjcLLbCM3y3KKvuHRGw="
},
{
"pname": "Avalonia.Remote.Protocol",
@ -111,8 +111,8 @@
},
{
"pname": "Avalonia.Remote.Protocol",
"version": "11.2.2",
"hash": "sha256-lMb3VvHXQGxn0dyEGkzKXxFocvPJUaNnOpRJpHF9ORU="
"version": "11.2.4",
"hash": "sha256-mKQVqtzxnZu6p64ZxIHXKSIw3AxAFjhmrxCc5/1VXfc="
},
{
"pname": "Avalonia.Skia",
@ -126,8 +126,8 @@
},
{
"pname": "Avalonia.Skia",
"version": "11.2.2",
"hash": "sha256-YmOT+r4OfyOyg8epho6bVaEW2HImEfsZ5rNqhWIY5Fk="
"version": "11.2.4",
"hash": "sha256-82UQGuCl5hN5kdA3Uz7hptpNnG1EPlSB6k/a6XPSuXI="
},
{
"pname": "Avalonia.Svg.Skia",
@ -136,23 +136,23 @@
},
{
"pname": "Avalonia.Themes.Fluent",
"version": "11.2.2",
"hash": "sha256-+wBsbMAMDMRkZN/t94qwQgyew8eCY2RBreoTCgs3KJU="
"version": "11.2.4",
"hash": "sha256-CPun/JWFCVoGxgMA510/gMP2ZB9aZJ9Bk8yuNjwo738="
},
{
"pname": "Avalonia.Themes.Simple",
"version": "11.2.2",
"hash": "sha256-HXkfpUuTN8hSBMXCCGW78+2GC5w3VdTUp1qm7HvUZPI="
"version": "11.2.4",
"hash": "sha256-rnF2/bzN8AuOFlsuekOxlu+uLI7n1kIAmC36FFXMKak="
},
{
"pname": "Avalonia.Win32",
"version": "11.2.2",
"hash": "sha256-pouvlprL9VeEi1dG5zR6nFj+I/4CIjH1rHbV3N9/FHg="
"version": "11.2.4",
"hash": "sha256-LJSKiLbdof8qouQhN7pY1RkMOb09IiAu/nrJFR2OybY="
},
{
"pname": "Avalonia.X11",
"version": "11.2.2",
"hash": "sha256-86EIfm1zEvKleliP58xAs7KGxP/n7x2m8ca8C9W1XqA="
"version": "11.2.4",
"hash": "sha256-qty8D2/HlZz/7MiEhuagjlKlooDoW3fow5yJY5oX4Uk="
},
{
"pname": "AvaloniaEdit.TextMate",
@ -274,6 +274,11 @@
"version": "9.0.4",
"hash": "sha256-3pyiJeWRwfaT7p1ArsoR13aI78Jo13aHOEw3BelTS9g="
},
{
"pname": "DynamicData",
"version": "9.1.2",
"hash": "sha256-rDbtd7Fw/rhq6s9G4p/rltZ3EIR5r1RcMXsAEe7nZjw="
},
{
"pname": "EmptyFiles",
"version": "8.5.0",
@ -306,8 +311,8 @@
},
{
"pname": "FluentAssertions",
"version": "6.12.2",
"hash": "sha256-yvbnZapTF610zG8YhMOESn0iXudX4xVCdoSKVo6eu+w="
"version": "7.1.0",
"hash": "sha256-AHHBQ5l7RCnjitxNE2aElBkdlg3BCcN9z+r9QrM+GeA="
},
{
"pname": "FluentAssertions.Analyzers",
@ -356,58 +361,58 @@
},
{
"pname": "GameFinder",
"version": "4.4.0",
"hash": "sha256-MaVW4qgbZgsoyIq8cLQLNJnZe2M7wsKAIE+ICxRNyzg="
"version": "4.5.0",
"hash": "sha256-n9LaGrFy4kHTeXfk5HQbnZli1rzIaw0kWx4bXjUuFm8="
},
{
"pname": "GameFinder.Common",
"version": "4.4.0",
"hash": "sha256-7tk84DGPBM2M8KvuTnDm4hLVmLUMd8GSLDFhsjl7Ra0="
"version": "4.5.0",
"hash": "sha256-2HHwusG2DqMSfgH3eD07afvLTmRsUSOcPc6yIuHcMks="
},
{
"pname": "GameFinder.Launcher.Heroic",
"version": "4.4.0",
"hash": "sha256-/fp62b11/TXEMsrZzafHbbZYmU9pGgr7qVE2iUCVJik="
"version": "4.5.0",
"hash": "sha256-N9wQl4kTPcQC0ulqPm5OugCVeBUEstVLyG87/dwu1Fg="
},
{
"pname": "GameFinder.RegistryUtils",
"version": "4.4.0",
"hash": "sha256-6Yk3A88xSWO7wr+1bJQtH6D2DRzQ0AOb8HkmSb34MPk="
"version": "4.5.0",
"hash": "sha256-n6ZmjyUlAp75mVIYi0R4ncQX7hqLAvsgapMf58Mr3Jo="
},
{
"pname": "GameFinder.StoreHandlers.EADesktop",
"version": "4.4.0",
"hash": "sha256-k2tUCIxnKEdIZtaqATpJLoHh6p0mgLIB1UzBWoEcDec="
"version": "4.5.0",
"hash": "sha256-JUt5STjbESpaFmvDeGM0yQqgQziD4Or5FxBPwW4XMJE="
},
{
"pname": "GameFinder.StoreHandlers.EGS",
"version": "4.4.0",
"hash": "sha256-7zxg064pFoHOYOa2kibtC1kpYgXRpbFh1Z9EatEcSNE="
"version": "4.5.0",
"hash": "sha256-O8rFUroxJHQoX0UFK4xmV637Qz+bm5Xk/SCIbhRDZQA="
},
{
"pname": "GameFinder.StoreHandlers.GOG",
"version": "4.4.0",
"hash": "sha256-8LWj1MaEKhukBXs0ZIt5pt5z1H1i3VuoJONqqH6gNvY="
"version": "4.5.0",
"hash": "sha256-EyX15gumoPf4hyZ4Q8YFfyQfD1dj6J2RmilcGnkf7NE="
},
{
"pname": "GameFinder.StoreHandlers.Origin",
"version": "4.4.0",
"hash": "sha256-TP9KYLDIZxFn3+N58zwjBPrL5COl2HxEpfr550OsUrM="
"version": "4.5.0",
"hash": "sha256-N2TS31L6hzJKn4LsW7g31v2LRsCjKyjVdOH6Kum7vWE="
},
{
"pname": "GameFinder.StoreHandlers.Steam",
"version": "4.4.0",
"hash": "sha256-D6ABxneqdc+467RvYMs8qULyYHNTs7I0GsmXBIpiZMM="
"version": "4.5.0",
"hash": "sha256-IjdnksYT1EApOxYix6eInBAE2khwOyTbK11hjNqXZT8="
},
{
"pname": "GameFinder.StoreHandlers.Xbox",
"version": "4.4.0",
"hash": "sha256-xLZJ4J79ptEjPduwdY8E288UJRQ92JnHSjkJc6Ubt+4="
"version": "4.5.0",
"hash": "sha256-CmiTBT2T3pC3GzqxUr6T2hQNDp9gmxrRPDkFOzNC3Yo="
},
{
"pname": "GameFinder.Wine",
"version": "4.4.0",
"hash": "sha256-lmGF+gzipCBIu/c4wR2Qgqq6/5Dd4ZhqlxUuCRX7pmY="
"version": "4.5.0",
"hash": "sha256-QARwwZNoHOEnSnHZXeqoGj9R0uK+hMXte9Hc38vZlAI="
},
{
"pname": "Gee.External.Capstone",
@ -439,6 +444,11 @@
"version": "2.52.0",
"hash": "sha256-XoY+jt+JIt6SzvCjUSXKKa9Q8Bu5UrNJv2z1hCBKDrY="
},
{
"pname": "Halgari.Jamarino.IntervalTree",
"version": "1.0.0-alpha",
"hash": "sha256-EyVYjSpQ3g+N6knSmQzS2j7ueoowZOHxjYX93lSRQns="
},
{
"pname": "HarfBuzzSharp",
"version": "7.3.0.2",
@ -491,28 +501,28 @@
},
{
"pname": "HotChocolate.Language.SyntaxTree",
"version": "14.1.0",
"hash": "sha256-4cRFDfLW+A0378BZ0wzPrc7FOiuTdCtlA4gyitSrhiI="
"version": "15.0.3",
"hash": "sha256-PXlle10Q2Yuhcip1WhY922G5ObD4yRwYyPyUqci7Z7A="
},
{
"pname": "HotChocolate.Transport.Abstractions",
"version": "14.1.0",
"hash": "sha256-i8i4ovnxHcFRrnU/a3U01izWEa+OsOjxgLDRq7wo1vs="
"version": "15.0.3",
"hash": "sha256-uRSetnfWOwar73WO/wplsHexCzpbZf6xYxVBLWaIwLo="
},
{
"pname": "HotChocolate.Transport.Http",
"version": "14.1.0",
"hash": "sha256-e5VoAtmieIhNvhtGMnmPXqYAZE9SrXlfyJmDKF7LBJo="
"version": "15.0.3",
"hash": "sha256-9SkFbGb/uYmIGPDT1LnF3m42c8sEeCZBv4OuClMEU6w="
},
{
"pname": "HotChocolate.Utilities",
"version": "14.1.0",
"hash": "sha256-KIYlc1jDG1BT6gZGZoei6ypHXZo9I3dN4zM/NpDWJuI="
"version": "15.0.3",
"hash": "sha256-9y7iNQqv1wrkuGZ3ovXkQQ+seSB4bZwexfmlneoeEAg="
},
{
"pname": "HtmlAgilityPack",
"version": "1.11.70",
"hash": "sha256-V/SI2N1+jNkwjSQRd2Y/XVVhdOKvSNz3/NeIFE9V3wY="
"version": "1.11.71",
"hash": "sha256-ddNrIXTfiu8gwrUs/5xYDjpD0sOth90kut6qCgxGUSE="
},
{
"pname": "Humanizer",
@ -779,11 +789,6 @@
"version": "2.5.2",
"hash": "sha256-idb2hvuDlxl83x0yttGHnTgEQmwLLdUT7QfMeGDXVJE="
},
{
"pname": "Jamarino.IntervalTree",
"version": "1.2.2",
"hash": "sha256-L8vFWl+1OUviHB+TOkw7Po0+IBLnJMZ1fnvqcYQOuRQ="
},
{
"pname": "JetBrains.Annotations",
"version": "2024.3.0",
@ -839,6 +844,11 @@
"version": "14.0.0",
"hash": "sha256-mwh8d7qmM7m6IbnLSPNq8ZMcD24/1ypM3Gdf6GZm0ao="
},
{
"pname": "Markdig",
"version": "0.38.0",
"hash": "sha256-5DuDlj+TCDJWP8oJM2WU48ps3HFuUg5P28O/SPcjwGk="
},
{
"pname": "Markdown.Avalonia.Tight",
"version": "11.0.3-a1",
@ -879,11 +889,6 @@
"version": "6.0.0",
"hash": "sha256-lNL5C4W7/p8homWooO/3ZKDZQ2M0FUTDixJwqWBPVbo="
},
{
"pname": "Microsoft.AspNetCore.WebUtilities",
"version": "8.0.0",
"hash": "sha256-e4wqTJUgPfq6CfRwuXTw32K9vB+hOpSLxSZDpzv23Yg="
},
{
"pname": "Microsoft.AspNetCore.WebUtilities",
"version": "9.0.0",
@ -1169,11 +1174,6 @@
"version": "8.0.0",
"hash": "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "8.0.1",
"hash": "sha256-lzTYLpRDAi3wW9uRrkTNJtMmaYdtGJJHdBLbUKu60PM="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "8.0.2",
@ -1264,11 +1264,6 @@
"version": "9.0.0",
"hash": "sha256-NhEDqZGnwCDFyK/NKn1dwLQExYE82j1YVFcrhXVczqY="
},
{
"pname": "Microsoft.Extensions.Http",
"version": "8.0.0",
"hash": "sha256-UgljypOLld1lL7k7h1noazNzvyEHIJw+r+6uGzucFSY="
},
{
"pname": "Microsoft.Extensions.Http",
"version": "9.0.0",
@ -1379,11 +1374,6 @@
"version": "9.0.0",
"hash": "sha256-pplZskMsR3gGbs3I0wycGsvIMPIpfWFJpOsR9GkiYRw="
},
{
"pname": "Microsoft.Extensions.ObjectPool",
"version": "8.0.0",
"hash": "sha256-FxFr5GC0y6vnp5YD2A2vISXYizAz3k/QyrH7sBXP5kg="
},
{
"pname": "Microsoft.Extensions.ObjectPool",
"version": "9.0.0",
@ -1554,6 +1544,11 @@
"version": "5.0.0",
"hash": "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="
},
{
"pname": "Microsoft.Win32.SystemEvents",
"version": "6.0.0",
"hash": "sha256-N9EVZbl5w1VnMywGXyaVWzT9lh84iaJ3aD48hIBk1zA="
},
{
"pname": "Nerdbank.FullDuplexStream",
"version": "1.1.12",
@ -1626,18 +1621,18 @@
},
{
"pname": "NexusMods.MnemonicDB",
"version": "0.9.98",
"hash": "sha256-1B1PBH/iUuLOPsUo5WAsSAkDGWQBTlY8sk/sAiugpB0="
"version": "0.9.114",
"hash": "sha256-VE1SEKwsS+XAi12l+0jYOQDG1zYSI1t9wKDjXMMyyng="
},
{
"pname": "NexusMods.MnemonicDB.Abstractions",
"version": "0.9.98",
"hash": "sha256-rZ9UP6BcxYPlHKqyGj0G5q+woEjvpRS/jg69UY4aWDE="
"version": "0.9.114",
"hash": "sha256-6nNJkQp5FhO29oKnwSvP3Qw6/Zab3RwB3F7WkS6mDBY="
},
{
"pname": "NexusMods.MnemonicDB.SourceGenerator",
"version": "0.9.98",
"hash": "sha256-jP07gJZQ9ZT9DXyWIQOlgmZx0onqiUe3w2JiN55NA94="
"version": "0.9.114",
"hash": "sha256-vMGecXrBoDgWFk1VyMqsENEVpWuGVaPULjJ4azZThRE="
},
{
"pname": "NexusMods.Paths",
@ -1719,6 +1714,11 @@
"version": "6.3.4",
"hash": "sha256-rXYXgdJMtwne3skk4jMgqyZlwh3QCTX9hIHvvXafxUM="
},
{
"pname": "NuGet.Versioning",
"version": "6.12.1",
"hash": "sha256-f/ejCuzCAwKs4N4Ec6yf2RovrhBT0nj0hRDP+03/Iy4="
},
{
"pname": "NuGet.Versioning",
"version": "6.3.4",
@ -2236,28 +2236,28 @@
},
{
"pname": "StrawberryShake.Core",
"version": "14.1.0",
"hash": "sha256-h1Ozv0vdR2UvHIw3JqoBNKPVuD1S31aui7IQ8i8hcnE="
"version": "15.0.3",
"hash": "sha256-bAqmB6l6r1GAAm6w0BcUdwGlktU/FAeB3vPiENmOaKg="
},
{
"pname": "StrawberryShake.Resources",
"version": "14.1.0",
"hash": "sha256-6uOb5V7UeHM9OKUTJ4p8/YwvI16LcrC12tPhSAw3U0Q="
"version": "15.0.3",
"hash": "sha256-m50HKpBrcQkrJxlRAfg2RNobMbv9yw3jakDz7Hp/sn8="
},
{
"pname": "StrawberryShake.Server",
"version": "14.1.0",
"hash": "sha256-6K6TnX8YL0Dbt8wTv9FmBlbSo+UfaucHi9a5CqWCjoY="
"version": "15.0.3",
"hash": "sha256-Tdl27WUE0pA+SXZetKjPPcQxM6rxzf1Cnjz6Jw/XZaM="
},
{
"pname": "StrawberryShake.Transport.Http",
"version": "14.1.0",
"hash": "sha256-Pa2vACAYMgLrAxiZUR7PxBvPY9wrclQRYGZod/VMG5Q="
"version": "15.0.3",
"hash": "sha256-UmB5tTEwB0JImx/LDb+ihCao4YxsT3XvHJpuUDBMODc="
},
{
"pname": "StrawberryShake.Transport.WebSockets",
"version": "14.1.0",
"hash": "sha256-Hqp6GSxMcYorg5v8ns24DNfUDwYGY3urg0FKPleD86I="
"version": "15.0.3",
"hash": "sha256-Nz70BHgzDzxIRzIjKgx6Vx1T+K/UKoPkG6wP/yNKVYs="
},
{
"pname": "Svg.Custom",
@ -2436,8 +2436,8 @@
},
{
"pname": "System.Configuration.ConfigurationManager",
"version": "4.4.0",
"hash": "sha256-+8wGYllXnIxRzy9dLhZFB88GoPj8ivYXS0KUfcivT8I="
"version": "6.0.0",
"hash": "sha256-fPV668Cfi+8pNWrvGAarF4fewdPVEDwlJWvJk0y+Cms="
},
{
"pname": "System.Console",
@ -2499,6 +2499,11 @@
"version": "4.3.0",
"hash": "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="
},
{
"pname": "System.Drawing.Common",
"version": "6.0.0",
"hash": "sha256-/9EaAbEeOjELRSMZaImS1O8FmUe8j4WuFUw1VOrPyAo="
},
{
"pname": "System.Dynamic.Runtime",
"version": "4.0.11",
@ -2589,6 +2594,11 @@
"version": "8.0.0",
"hash": "sha256-LdpB1s4vQzsOODaxiKstLks57X9DTD5D6cPx8DE1wwE="
},
{
"pname": "System.IO.Pipelines",
"version": "9.0.0",
"hash": "sha256-vb0NrPjfEao3kfZ0tavp2J/29XnsQTJgXv3/qaAwwz0="
},
{
"pname": "System.Linq",
"version": "4.1.0",
@ -2866,13 +2876,13 @@
},
{
"pname": "System.Security.AccessControl",
"version": "4.5.0",
"hash": "sha256-AFsKPb/nTk2/mqH/PYpaoI8PLsiKKimaXf+7Mb5VfPM="
"version": "5.0.0",
"hash": "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="
},
{
"pname": "System.Security.AccessControl",
"version": "5.0.0",
"hash": "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="
"version": "6.0.0",
"hash": "sha256-qOyWEBbNr3EjyS+etFG8/zMbuPjA+O+di717JP9Cxyg="
},
{
"pname": "System.Security.Claims",
@ -2924,6 +2934,11 @@
"version": "4.4.0",
"hash": "sha256-Ri53QmFX8I8UH0x4PikQ1ZA07ZSnBUXStd5rBfGWFOE="
},
{
"pname": "System.Security.Cryptography.ProtectedData",
"version": "6.0.0",
"hash": "sha256-Wi9I9NbZlpQDXgS7Kl06RIFxY/9674S7hKiYw5EabRY="
},
{
"pname": "System.Security.Cryptography.X509Certificates",
"version": "4.3.0",
@ -2934,6 +2949,11 @@
"version": "4.5.0",
"hash": "sha256-Fa6dX6Gyse1A/RBoin8cVaHQePbfBvp6jjWxUXPhXKQ="
},
{
"pname": "System.Security.Permissions",
"version": "6.0.0",
"hash": "sha256-/MMvtFWGN/vOQfjXdOhet1gsnMgh6lh5DCHimVsnVEs="
},
{
"pname": "System.Security.Principal",
"version": "4.3.0",
@ -2949,11 +2969,6 @@
"version": "4.4.0",
"hash": "sha256-lwNBM33EW45j6o8bM4hKWirEUZCvep0VYFchc50JOYc="
},
{
"pname": "System.Security.Principal.Windows",
"version": "4.5.0",
"hash": "sha256-BkUYNguz0e4NJp1kkW7aJBn3dyH9STwB5N8XqnlCsmY="
},
{
"pname": "System.Security.Principal.Windows",
"version": "5.0.0",
@ -3069,6 +3084,11 @@
"version": "4.3.0",
"hash": "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s="
},
{
"pname": "System.Windows.Extensions",
"version": "6.0.0",
"hash": "sha256-N+qg1E6FDJ9A9L50wmVt3xPQV8ZxlG1xeXgFuxO+yfM="
},
{
"pname": "System.Xml.ReaderWriter",
"version": "4.3.0",
@ -3279,6 +3299,11 @@
"version": "1.4.13",
"hash": "sha256-pLtx0/2oTKYO1Y1Vg3k/Eli2OWHT5uorGdBp2uXvFfw="
},
{
"pname": "YamlDotNet",
"version": "16.3.0",
"hash": "sha256-4Gi8wSQ8Rsi/3+LyegJr//A83nxn2fN8LN1wvSSp39Q="
},
{
"pname": "ZstdSharp.Port",
"version": "0.8.2",

View file

@ -8,8 +8,6 @@
fetchgit,
imagemagick,
lib,
makeFontsConf,
runCommand,
xdg-utils,
nix-update-script,
pname ? "nexusmods-app",
@ -26,12 +24,12 @@ let
in
buildDotnetModule (finalAttrs: {
inherit pname;
version = "0.7.3";
version = "0.8.2";
src = fetchgit {
url = "https://github.com/Nexus-Mods/NexusMods.App.git";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-p3MTxuLR/mkVrL+hwW2R13/eVHWWulZPRh9OsuHq9kU=";
hash = "sha256-qRo+s1Wf6WXR1kFqvGA6n+Bsp6qTzpK8/W9fuiaA+Yo=";
fetchSubmodules = true;
fetchLFS = true;
};
@ -61,18 +59,18 @@ buildDotnetModule (finalAttrs: {
nugetDeps = ./deps.json;
mapNuGetDependencies = true;
# TODO: remove .NET 8; StrawberryShake currently needs it
dotnet-sdk =
with dotnetCorePackages;
combinePackages [
sdk_9_0
runtime_8_0
];
dotnet-sdk = dotnetCorePackages.sdk_9_0;
dotnet-runtime = dotnetCorePackages.runtime_9_0;
postPatch = ''
# for some reason these tests fail (intermittently?) with a zero timestamp
touch tests/NexusMods.UI.Tests/WorkspaceSystem/*.verified.png
# Bump StrawberryShake so we can drop .NET 8
# See https://github.com/Nexus-Mods/NexusMods.App/pull/2830
substituteInPlace Directory.Packages.props \
--replace-fail 'Include="StrawberryShake.Server" Version="14.1.0"' \
'Include="StrawberryShake.Server" Version="15.0.3"'
'';
makeWrapperArgs = [
@ -133,57 +131,22 @@ buildDotnetModule (finalAttrs: {
disabledTests =
[
"NexusMods.UI.Tests.ImageCacheTests.Test_LoadAndCache_RemoteImage"
"NexusMods.UI.Tests.ImageCacheTests.Test_LoadAndCache_ImageStoredFile"
# Fails attempting to download game hashes DB from github:
# HttpRequestException : Resource temporarily unavailable (github.com:443)
"NexusMods.DataModel.SchemaVersions.Tests.LegacyDatabaseSupportTests.TestDatabase"
"NexusMods.DataModel.SchemaVersions.Tests.MigrationSpecificTests.TestsFor_0001_ConvertTimestamps.OldTimestampsAreInRange"
"NexusMods.DataModel.SchemaVersions.Tests.MigrationSpecificTests.TestsFor_0003_FixDuplicates.No_Duplicates"
"NexusMods.DataModel.SchemaVersions.Tests.MigrationSpecificTests.TestsFor_0004_RemoveGameFiles.Test"
# Fails in ofborg with VerifyException tests/Games/NexusMods.Games.StardewValley.Tests
"NexusMods.Games.StardewValley.Tests.StardewValleyInstallersTests.CanInstallMod"
# Fails with: Expected a <System.ArgumentException> to be thrown, but no exception was thrown.
"NexusMods.Networking.ModUpdates.Tests.PerFeedCacheUpdaterTests.Constructor_WithItemsFromDifferentGames_ShouldThrowArgumentException_InDebug"
# Fails attempting to fetch SMAPI version data from github:
# https://github.com/erri120/smapi-versions/raw/main/data/game-smapi-versions.json
"NexusMods.Games.StardewValley.Tests.SMAPIGameVersionDiagnosticEmitterTests.Test_TryGetLastSupportedSMAPIVersion"
]
++ lib.optionals (!_7zz.meta.unfree) [
"NexusMods.Games.FOMOD.Tests.FomodXmlInstallerTests.InstallsFilesSimple_UsingRar"
];
passthru = {
tests =
let
runTest =
name: script:
runCommand "${pname}-test-${name}"
{
nativeBuildInputs = [ finalAttrs.finalPackage ];
FONTCONFIG_FILE = makeFontsConf {
fontDirectories = [ ];
};
}
''
export XDG_DATA_HOME="$PWD/data"
export XDG_STATE_HOME="$PWD/state"
export XDG_CACHE_HOME="$PWD/cache"
mkdir -p "$XDG_DATA_HOME" "$XDG_STATE_HOME" "$XDG_CACHE_HOME"
# TODO: on error, print $XDG_STATE_HOME/NexusMods.App/Logs/nexusmods.app.main.current.log
${script}
touch $out
'';
in
{
serve = runTest "serve" ''
NexusMods.App
'';
help = runTest "help" ''
NexusMods.App --help
'';
associate-nxm = runTest "associate-nxm" ''
NexusMods.App associate-nxm
'';
list-tools = runTest "list-tools" ''
NexusMods.App list-tools
'';
};
updateScript = nix-update-script { };
};
passthru.updateScript = nix-update-script { };
meta = {
mainProgram = "NexusMods.App";

View file

@ -6,16 +6,16 @@ Work-in-Progress rewrite of
## Why the rewrite?
The current state of `nixos-rebuild` is dire: it is one of the most critical
piece of code we have in NixOS, but it has tons of issues:
pieces of code we have in NixOS, but it has tons of issues:
- The code is written in Bash, and while this by itself is not necessary bad,
it means that it is difficult to do refactorings due to the lack of tooling
for the language
- The code itself is a hacky mess. Changing even one line of code can cause
issues that affects dozens of people
issues that affect dozens of people
- Lack of proper testing (we do have some integration tests, but no unit tests
and coverage is probably pitiful)
- The code predates some of the improvements `nix` had over the years, e.g.: it
builds Flakes inside a temporary directory and read the resulting symlink
- The code predates some of the improvements `nix` had over the years, e.g., it
builds Flakes inside a temporary directory and reads the resulting symlink
since the code seems to predate `--print-out-paths` flag
Given all of those above, improvements in the `nixos-rebuild` are difficult to
@ -32,7 +32,7 @@ an attempt of the rewrite.
- It is a scripting language that fits well with the scope of this project
- Python's standard library is great and it means we will need a low number of
external dependencies for this project. For example, `nixos-rebuild`
currently depends in `jq` for JSON parsing, while Python has `json` in
currently depends on `jq` for JSON parsing, while Python has `json` in
standard library
## Do's and Don'ts
@ -44,8 +44,8 @@ an attempt of the rewrite.
## How to use
If you want to use `nixos-rebuild-ng` without replacing `nixos-rebuild`, add to
your NixOS configuration:
If you want to use `nixos-rebuild-ng` without replacing `nixos-rebuild`, add the
following to your NixOS configuration:
```nix
{ pkgs, ... }:
@ -57,7 +57,7 @@ your NixOS configuration:
And use `nixos-rebuild-ng` instead of `nixos-rebuild`.
If you want to completely replace `nixos-rebuild` with `nixos-rebuild-ng`, add
to your NixOS configuration:
the following to your NixOS configuration:
```nix
{ ... }:
@ -104,12 +104,12 @@ ruff format .
## Breaking changes
While `nixos-rebuild-ng` tries to be as much of a clone of the original as
possible, there are still some breaking changes that were done in other to
possible, there are still some breaking changes that were done in order to
improve the user experience. If they break your workflow in some way that is
not possible to fix, please open an issue and we can discuss a solution.
- For `--build-host` and `--target-host`, `nixos-rebuild-ng` does not allocate
a pseudo-TTY via SSH (e.g.: `ssh -t`) anymore. The reason for this is because
a pseudo-TTY via SSH (e.g., `ssh -t`) anymore. The reason for this is that
pseudo-TTY breaks some expectations from SSH, like it mangles stdout and
stderr, and can
[break terminal output](https://github.com/NixOS/nixpkgs/issues/336967) in
@ -122,7 +122,7 @@ not possible to fix, please open an issue and we can discuss a solution.
every `sudo` request. Keep in mind that there is no check, so if you type
your password wrong, it will fail during activation (this can be improved
though)
- When `--build-host` and `--target-host` is used together, we will use `nix
- When `--build-host` and `--target-host` are used together, we will use `nix
copy` (or 2 `nix-copy-closure` if you're using Nix <2.18) instead of SSH'ing
to build host and using `nix-copy-closure --to target-host`. The reason for
this is documented in PR
@ -142,7 +142,7 @@ not possible to fix, please open an issue and we can discuss a solution.
- Bugs in the profile manipulation can cause corruption of your profile that
may be difficult to fix, so right now I only recommend using
`nixos-rebuild-ng` if you are testing in a VM or in a filesystem with
snapshots like btrfs or ZFS. Those bugs are unlikely to be unfixable but the
snapshots like BTRFS or ZFS. Those bugs are unlikely to be unfixable but the
errors can be difficult to understand. If you want to go anyway,
`nix-collect-garbage -d` and `nix store repair` are your friends

View file

@ -2,6 +2,7 @@
fetchFromGitHub,
lib,
stdenv,
bash,
ncurses,
neovim,
procps,
@ -22,11 +23,12 @@ stdenv.mkDerivation rec {
};
buildInputs = [
ncurses # for tput
procps # for nvim_get_proc() which uses ps(1)
bash
];
nativeBuildInputs = [ scdoc ];
strictDeps = true;
makeFlags = [ "PREFIX=$(out)" ];
buildFlags = [
"nvimpager.configured"
@ -40,8 +42,10 @@ stdenv.mkDerivation rec {
doCheck = true;
nativeCheckInputs = [
lua51Packages.busted
util-linux
ncurses # for tput
neovim
procps # for nvim_get_proc() which uses ps(1)
util-linux
];
# filter out one test that fails in the sandbox of nix or with neovim v0.10
# or on macOS
@ -51,6 +55,10 @@ stdenv.mkDerivation rec {
}')
'';
postFixup = ''
patchShebangs --update --host $out/bin/nvimpager
'';
meta = with lib; {
description = "Use neovim as pager";
longDescription = ''

View file

@ -0,0 +1,60 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
openssl,
perl,
libmysqlclient,
mariadb,
postgresql,
mbedtls,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ocsp-server";
version = "0.4.1";
src = fetchFromGitHub {
owner = "DorianCoding";
repo = "OCSP-server";
tag = "v${finalAttrs.version}";
hash = "sha256-xYZ2NM+U7ZW5xDKVUhT+s66i/d7zaDLBbSbr6TDOG0o=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-RFrm2dtjJ2VvOg8ee54ps8MuWgsV0kd9rhpzOFTem2k=";
nativeBuildInputs = [
pkg-config
perl
libmysqlclient
];
buildInputs = [
openssl
mariadb
postgresql
mbedtls
];
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = [ "--version" ];
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "OCSP responder fetching certificate status from MySQL/MariaDB database";
homepage = "https://github.com/DorianCoding/OCSP-server";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ liberodark ];
mainProgram = "ocsp-server";
};
})

View file

@ -0,0 +1,68 @@
{
lib,
buildGoModule,
fetchFromGitHub,
testers,
paretosecurity,
nixosTests,
}:
buildGoModule rec {
pname = "paretosecurity";
version = "0.0.86";
src = fetchFromGitHub {
owner = "ParetoSecurity";
repo = "agent";
rev = version;
hash = "sha256-ASWECYUfG+lmkvAwQf05mCUwwFlUrx3vI0pYbGHdbuI=";
};
# tests do network access, fix pending
doCheck = false;
vendorHash = "sha256-eqwrCbDKmXOCo0+X8w6Me2aaCQ3WQljgOtzqI01FzbU=";
proxyVendor = true;
subPackages = [
"cmd/paretosecurity"
];
ldflags = [
"-s"
"-X=github.com/ParetoSecurity/agent/shared.Version=${version}"
"-X=github.com/ParetoSecurity/agent/shared.Commit=${src.rev}"
"-X=github.com/ParetoSecurity/agent/shared.Date=1970-01-01T00:00:00Z"
];
passthru.tests = {
version = testers.testVersion {
version = "${version}";
package = paretosecurity;
};
integration_test = nixosTests.paretosecurity;
};
meta = {
description = "Pareto Security agent makes sure your laptop is correctly configured for security.";
longDescription = ''
The Pareto Security agent is a free and open source app to help you make
sure that your laptop is configured for security.
By default, it's a CLI command that prints out a report on basic security
settings such as if you have disk encryption and firewall enabled.
If you use the `services.paretosecurity` NixOS module, you also get a
root helper, so that you can run the checker in userspace. Some checks
require root permissions, and the checker asks the helper to run those.
Additionally, you can run `paretosecurity link` to configure the agent
to send the status of checks to https://dash.paretosecurity.com to make
compliance people happy. No sending happens until your device is linked.
'';
homepage = "https://github.com/ParetoSecurity/agent";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ zupo ];
mainProgram = "paretosecurity";
};
}

View file

@ -2,7 +2,6 @@
lib,
stdenv,
fetchzip,
cctools,
gfortran,
replaceVars,
python3,
@ -12,21 +11,24 @@
zlib, # propagated by p4est but required by petsc
mpi, # generic mpi dependency
mpiCheckPhaseHook,
bash,
# Build options
petsc-optimized ? true,
petsc-scalar-type ? "real",
petsc-precision ? "double",
mpiSupport ? true,
withPetsc4py ? false, # petsc python binding
pythonSupport ? false, # petsc python binding
withExamples ? false,
withFullDeps ? false, # full External libraries support
withCommonDeps ? true, # common External libraries support
# External libraries options
withHdf5 ? true,
withMetis ? withFullDeps,
withParmetis ? false, # parmetis is unfree and should be enabled manualy
withPtscotch ? withFullDeps,
withHdf5 ? withCommonDeps,
withMetis ? withCommonDeps,
withScalapack ? withFullDeps,
withParmetis ? withFullDeps, # parmetis is unfree
withPtscotch ? withFullDeps,
withMumps ? withFullDeps,
withP4est ? withFullDeps,
@ -40,6 +42,7 @@
pkg-config,
p4est,
}:
assert withFullDeps -> withCommonDeps;
# This version of PETSc does not support a non-MPI p4est build
assert withP4est -> (p4est.mpiSupport && mpiSupport);
@ -69,7 +72,7 @@ stdenv.mkDerivation rec {
pkg-config
]
++ lib.optional mpiSupport mpi
++ lib.optionals withPetsc4py [
++ lib.optionals pythonSupport [
python3Packages.setuptools
python3Packages.cython
];
@ -87,7 +90,7 @@ stdenv.mkDerivation rec {
++ lib.optional withScalapack scalapack
++ lib.optional withMumps mumps_par;
propagatedBuildInputs = lib.optional withPetsc4py python3Packages.numpy;
propagatedBuildInputs = lib.optional pythonSupport python3Packages.numpy;
patches = [
(replaceVars ./fix-petsc4py-install-prefix.patch {
@ -95,14 +98,12 @@ stdenv.mkDerivation rec {
})
];
postPatch =
''
patchShebangs ./lib/petsc/bin
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace config/install.py \
--replace /usr/bin/install_name_tool ${cctools}/bin/install_name_tool
'';
postPatch = ''
patchShebangs ./lib/petsc/bin
substituteInPlace config/example_template.py \
--replace-fail "/usr/bin/env bash" "${bash}/bin/bash"
'';
configureFlags =
[
@ -112,7 +113,7 @@ stdenv.mkDerivation rec {
"--with-precision=${petsc-precision}"
"--with-mpi=${if mpiSupport then "1" else "0"}"
]
++ lib.optional withPetsc4py "--with-petsc4py=1"
++ lib.optional pythonSupport "--with-petsc4py=1"
++ lib.optionals mpiSupport [
"--CC=mpicc"
"--with-cxx=mpicxx"
@ -163,7 +164,7 @@ stdenv.mkDerivation rec {
"fortify3"
];
configureScript = "python ./configure";
installTargets = [ (if withExamples then "install" else "install-lib") ];
enableParallelBuilding = true;
@ -173,10 +174,31 @@ stdenv.mkDerivation rec {
# the library is installed and available.
doInstallCheck = true;
installCheckTarget = "check_install";
nativeInstallCheckInputs = [ mpiCheckPhaseHook ];
# The PETSC4PY=no flag disables the ex100 test,
# which compiles C code to load Python modules for solving a math problem.
# This test fails on the Darwin platform but is rarely a common use case for petsc4py.
installCheckFlags = lib.optional stdenv.hostPlatform.isDarwin "PETSC4PY=no";
nativeInstallCheckInputs =
[
mpiCheckPhaseHook
]
++ lib.optionals pythonSupport [
python3Packages.pythonImportsCheckHook
python3Packages.unittestCheckHook
];
unittestFlagsArray = [
"-s"
"src/binding/petsc4py/test"
"-v"
];
pythonImportsCheck = [ "petsc4py" ];
passthru = {
inherit mpiSupport;
inherit mpiSupport pythonSupport;
};
setupHook = ./setup-hook.sh;
@ -185,6 +207,7 @@ stdenv.mkDerivation rec {
description = "Portable Extensible Toolkit for Scientific computation";
homepage = "https://petsc.org/release/";
license = licenses.bsd2;
platforms = lib.platforms.unix;
maintainers = with maintainers; [
cburstedde
qbisi

View file

@ -1,68 +0,0 @@
{
lib,
stdenv,
fetchpatch,
fetchFromGitHub,
autoreconfHook,
pkg-config,
flint,
gmp,
python3,
singular,
ncurses,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "pynac";
version = "0.7.29";
src = fetchFromGitHub {
owner = "pynac";
repo = "pynac";
rev = "pynac-${finalAttrs.version}";
hash = "sha256-ocR7emXtKs+Xe2f6dh4xEDAacgiolY8mtlLnWnNBS8A=";
};
patches = [
# the patch below is included in sage 9.4 and should be included
# in a future pynac release. see https://trac.sagemath.org/ticket/28357
(fetchpatch {
name = "realpartloop.patch";
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/realpartloop.patch?h=9.4.beta5";
hash = "sha256-1nj0xtlFN5fZKEiRLD+tiW/ZtxMQre1ziEGA0OVUGE4=";
})
];
# Python 3.11 moved this header file, but is now is imported by default
postPatch = ''
substituteInPlace ginac/numeric.cpp \
--replace-fail "#include <longintrepr.h>" ""
'';
buildInputs = [
flint
gmp
singular
python3
ncurses
];
nativeBuildInputs = [
autoreconfHook
pkg-config
];
meta = with lib; {
description = "Python is Not a CAS -- modified version of Ginac";
longDescription = ''
Pynac -- "Python is Not a CAS" is a modified version of Ginac that
replaces the depency of GiNaC on CLN by a dependency instead of Python.
It is a lite version of GiNaC as well, not implementing all the features
of the full GiNaC, and it is *only* meant to be used as a Python library.
'';
homepage = "http://pynac.org";
license = licenses.gpl2Plus;
maintainers = teams.sage.members;
platforms = platforms.unix;
};
})

View file

@ -9,7 +9,6 @@
polytopes_db,
gap,
combinatorial_designs,
jmol,
mathjax,
three,
cysignals,
@ -37,8 +36,6 @@ writeTextFile rec {
export ECLDIR='${maxima.lisp-compiler}/lib/${maxima.lisp-compiler.pname}-${maxima.lisp-compiler.version}/'
export COMBINATORIAL_DESIGN_DATA_DIR="${combinatorial_designs}/share/combinatorial_designs"
export CREMONA_MINI_DATA_DIR="${elliptic_curves}/share/cremona"
export JMOL_DIR="${jmol}/share/jmol" # point to the directory that contains JmolData.jar
export JSMOL_DIR="${jmol}/share/jsmol"
export MATHJAX_DIR="${mathjax}/lib/node_modules/mathjax"
export THREEJS_DIR="${three}/lib/node_modules/three"
export SAGE_INCLUDE_DIRECTORIES="${cysignals}/${cysignals.pythonModule.sitePackages}"

View file

@ -31,7 +31,6 @@
rWrapper,
gfan,
cddlib,
jmol,
tachyon,
glpk,
eclib,
@ -50,7 +49,6 @@
zlib,
gsl,
ntl,
jre8,
less,
}:
@ -87,7 +85,6 @@ let
rWrapper
gfan
cddlib
jmol
tachyon
glpk
eclib
@ -98,7 +95,6 @@ let
ecm
lcalc
rubiks
jre8 # only needed for `jmol` (https://sourceforge.net/p/jmol/mailman/message/58818762/), which will be optional in sage 10.5
less # needed to prevent transient test errors until https://github.com/ipython/ipython/pull/11864 is resolved
])
);
@ -176,7 +172,6 @@ writeTextFile rec {
eclib
gsl
ntl
jmol
sympow
]
)

View file

@ -23,11 +23,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "SDL2_image";
version = "2.8.4";
version = "2.8.5";
src = fetchurl {
url = "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-${finalAttrs.version}.tar.gz";
hash = "sha256-WomgFCChkridvMX1JnRIGB1dzIHS9aFojLHqxvVX2mc=";
hash = "sha256-i8TFf0HiwNt/m3SbJT72zs3G8LaJ7L427pe1ARX/9kU=";
};
nativeBuildInputs = [

View file

@ -0,0 +1,76 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
nix-update-script,
testers,
validatePkgConfig,
sdl3,
cmake,
freetype,
harfbuzz,
glib,
ninja,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "sdl3-ttf";
version = "3.2.0";
src = fetchFromGitHub {
owner = "libsdl-org";
repo = "SDL_ttf";
tag = "release-${finalAttrs.version}";
hash = "sha256-eq7yWw7PWIeXWjuNHaQUiV+x0qng4FJNscsYRALK40I=";
};
# fix CMake path handling (remove on next update)
patches = [
(fetchpatch {
url = "https://github.com/libsdl-org/SDL_ttf/commit/ad2ffa825d4535ddfb57861a7e33dff4a9bc6a94.patch?full_index=1";
hash = "sha256-emf7UnfB6Rl1+R74lsoIvm9ezDZtjHUS/t4k/RxbaYg=";
})
];
strictDeps = true;
doCheck = true;
nativeBuildInputs = [
cmake
ninja
validatePkgConfig
];
buildInputs = [
sdl3
freetype
harfbuzz
glib
];
cmakeFlags = [
(lib.cmakeBool "SDLTTF_STRICT" true)
(lib.cmakeBool "SDLTTF_HARFBUZZ" true)
# disable plutosvg (not in nixpkgs)
(lib.cmakeBool "SDLTTF_PLUTOSVG" false)
];
passthru = {
updateScript = nix-update-script { };
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
meta = {
description = "SDL TrueType font library";
homepage = "https://github.com/libsdl-org/SDL_ttf";
changelog = "https://github.com/libsdl-org/SDL_ttf/releases/tag/${toString finalAttrs.src.tag}";
license = lib.licenses.zlib;
maintainers = with lib.maintainers; [
charain
Emin017
];
pkgConfigModules = [ "sdl3-ttf" ];
platforms = lib.platforms.all;
};
})

View file

@ -62,13 +62,13 @@ in
rustPlatform.buildRustPackage {
pname = "servo";
version = "0-unstable-2025-03-05";
version = "0-unstable-2025-03-18";
src = fetchFromGitHub {
owner = "servo";
repo = "servo";
rev = "69e749947910480e97ffaf22031316ebe7f67b9c";
hash = "sha256-p06547WijlfAUgMzbCyQUFx7Xq+eUI+iB6inQguzJ1c=";
rev = "8d39d7706aee50971e848a5e31fc6bfd7ef552c1";
hash = "sha256-PdkES7tvECVoJWa78t/K4ab+brqCLHY47c+TnDNQ3Ps=";
# Breaks reproducibility depending on whether the picked commit
# has other ref-names or not, which may change over time, i.e. with
# "ref-names: HEAD -> main" as long this commit is the branch HEAD
@ -79,14 +79,7 @@ rustPlatform.buildRustPackage {
};
useFetchCargoVendor = true;
cargoHash = "sha256-znHKck88XXjl+v3iJFCjq0Cxyxh1HrtLbK9o3y8Kelw=";
postPatch = ''
# Remap absolute path between modules to include SEMVER
substituteInPlace ../servo-0-unstable-*-vendor/servo_atoms-0.0.1/build.rs --replace-fail \
"../style/counter_style/predefined.rs" \
"../style-0.0.1/counter_style/predefined.rs"
'';
cargoHash = "sha256-mxbRqJ+ex9k1h6wOgjPHWfG8RA0vVRBAqsHtwSRI12Y=";
# set `HOME` to a temp dir for write access
# Fix invalid option errors during linking (https://github.com/mozilla/nixpkgs-mozilla/commit/c72ff151a3e25f14182569679ed4cd22ef352328)

View file

@ -0,0 +1,119 @@
{
lib,
stdenv,
fetchFromGitLab,
sowing,
python3,
python3Packages,
arpack-mpi,
petsc,
mpi,
mpiCheckPhaseHook,
pythonSupport ? false,
withExamples ? false,
withArpack ? stdenv.hostPlatform.isLinux,
}:
assert petsc.mpiSupport;
assert pythonSupport -> petsc.pythonSupport;
stdenv.mkDerivation (finalAttrs: {
pname = "slepc";
version = "3.22.2";
src = fetchFromGitLab {
owner = "slepc";
repo = "slepc";
tag = "v${finalAttrs.version}";
hash = "sha256-a5DmsA7NAlhrEaS43TYPk7vtDfhXLEP+5sftu2A9Yt4=";
};
postPatch = ''
# Fix slepc4py install prefix
substituteInPlace config/packages/slepc4py.py \
--replace-fail "slepc.prefixdir,'lib'" \
"slepc.prefixdir,'${python3.sitePackages}'"
patchShebangs lib/slepc/bin
# Use system bfort
substituteInPlace config/packages/sowing.py \
--replace-fail "bfort = os.path.join(archdir,'bin','bfort')" \
"bfort = '${sowing}/bin/bfort'"
'';
# Usually this project is being built as part of a `petsc` build or as part of
# other projects, e.g when `petsc` is `./configure`d with
# `--download-slepc=1`. This instructs the slepc to be built as a standalone
# project.
preConfigure = ''
export SLEPC_DIR=$PWD
'';
nativeBuildInputs =
[
python3
]
++ lib.optionals pythonSupport [
python3Packages.setuptools
python3Packages.cython
];
configureFlags =
lib.optionals withArpack [
"--with-arpack=1"
]
++ lib.optionals pythonSupport [
"--with-slepc4py=1"
];
buildInputs =
[
mpi
]
++ lib.optionals withArpack [
arpack-mpi
];
propagatedBuildInputs = [
petsc
];
enableParallelBuilding = true;
installTargets = [ (if withExamples then "install" else "install-lib") ];
nativeInstallCheckInputs =
[
mpiCheckPhaseHook
]
++ lib.optionals pythonSupport [
python3Packages.pythonImportsCheckHook
python3Packages.unittestCheckHook
];
doInstallCheck = true;
installCheckTarget = [ "check_install" ];
unittestFlagsArray = [
"-s"
"src/binding/slepc4py/test"
"-v"
];
pythonImportsCheck = [ "slepc4py" ];
shellHook = ./setup-hook.sh;
meta = {
description = "Scalable Library for Eigenvalue Problem Computations";
homepage = "https://slepc.upv.es";
changelog = "https://gitlab.com/slepc/slepc/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = with lib.licenses; [
bsd2
];
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ qbisi ];
# Possible error running Fortran src/eps/tests/test7f with 1 MPI process
broken = stdenv.hostPlatform.isDarwin && withArpack;
};
})

View file

@ -0,0 +1 @@
export SLEPC_DIR=@out@

View file

@ -0,0 +1,25 @@
{
lib,
stdenv,
fetchFromBitbucket,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "sowing";
version = "1.1.26.12";
src = fetchFromBitbucket {
owner = "petsc";
repo = "pkg-sowing";
rev = "v${finalAttrs.version}";
hash = "sha256-ol0xNAnL7ULU1CiGCFZrV37IAV4z1bcWa0f+tuMhQC8=";
};
meta = {
description = "Tools for documenting and improving portability";
homepage = "https://wgropp.cs.illinois.edu/projects/software/sowing/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ qbisi ];
platforms = lib.platforms.unix;
};
})

View file

@ -0,0 +1,87 @@
{
fetchFromGitHub,
lib,
nix-update-script,
openssl,
pkg-config,
rust-jemalloc-sys,
rustPlatform,
sqlite,
stdenv,
versionCheckHook,
zstd,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "spider";
version = "2.33.11";
src = fetchFromGitHub {
owner = "spider-rs";
repo = "spider";
tag = "v${finalAttrs.version}";
hash = "sha256-wrtkBqq1wJWg+0K4+PILPdMQe1AFOhJ1dJHvwq2irQo=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-QxfnpiGHYYk8v0rR/eE6KHW1KdZQGuJPz1jGwtl27rs=";
nativeBuildInputs = [
pkg-config
rustPlatform.bindgenHook
];
buildInputs = [
openssl
rust-jemalloc-sys
sqlite
zstd
];
env = {
OPENSSL_NO_VENDOR = true;
ZSTD_SYS_USE_PKG_CONFIG = true;
};
checkFlags =
[
# Sandbox limitation: no network or io_uring
"--skip=website::crawl"
"--skip=website::scrape"
"--skip=website::test_crawl_subdomains"
"--skip=website::test_crawl_tld"
"--skip=website::test_respect_robots_txt"
"--skip=page::parse_links"
"--skip=page::test_status_code"
"--skip=pdl_is_fresh"
"--skip=verify_revision_available"
]
++ lib.optionals stdenv.isDarwin [
# Sandbox limitation: attempted to create a NULL object
"--skip=website::test_link_duplicates"
"--skip=website::not_crawl_blacklist"
"--skip=website::test_crawl_budget"
"--skip=website::test_crawl_subscription"
"--skip=website::Website::subscribe_guard"
"--skip=website::Website::subscribe"
];
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/spider-rs/spider/releases/tag/v${finalAttrs.version}";
description = "Web crawler and scraper, building blocks for data curation workloads";
homepage = "https://github.com/spider-rs/spider";
license = lib.licenses.mit;
mainProgram = "spider";
maintainers = with lib.maintainers; [
j-mendez
KSJ2000
];
platforms = lib.platforms.unix;
};
})

View file

@ -0,0 +1,28 @@
{
rustPlatform,
lib,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "tlafmt";
version = "0.3.0";
src = fetchFromGitHub {
owner = "domodwyer";
repo = "tlafmt";
tag = "v${version}";
hash = "sha256-jBY7erB2LuKwCkshVHLV5kFVRJ8lkT63z1gt1Tikei4=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-765tp4wUh7G92vaoViufo6Kk2c/w2d1XjZ3aN5UUAv0=";
meta = {
description = "Formatter for TLA+ specs";
homepage = "https://github.com/domodwyer/tlafmt";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ ciflire ];
mainProgram = "tlafmt";
};
}

View file

@ -1,5 +1,6 @@
{
lib,
openssl,
stdenv,
fetchurl,
}:
@ -12,9 +13,17 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-hUEZZEulmaV3KfKOqE1wl7y4SRUn2/HoOjVDabk5+YA=";
};
buildInputs = [ openssl ];
makeFlags = [
"ynetd"
"pow-solver"
];
installPhase = ''
runHook preInstall
install -Dm755 ynetd $out/bin/ynetd
install -Dm755 pow-solver $out/bin/pow-solver
runHook postInstall
'';

View file

@ -4,6 +4,7 @@
fetchFromGitHub,
ruby,
zfs,
freebsd,
makeWrapper,
}:
@ -30,7 +31,7 @@ stdenv.mkDerivation rec {
for f in $out/bin/*; do
wrapProgram $f \
--set RUBYLIB $out/lib \
--prefix PATH : ${zfs}/bin
--prefix PATH : ${if stdenv.hostPlatform.isFreeBSD then freebsd.zfs else zfs}/bin
done
'';
@ -43,6 +44,6 @@ stdenv.mkDerivation rec {
for ZFS, which also supports auto snapshotting mysql databases.
'';
license = licenses.bsd2;
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.freebsd;
};
}

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://download.zotero.org/client/release/${version}/Zotero-${version}.dmg";
hash = "sha256-JFzzOwZUhVy7DsD6xehKhhzIKe9j8IKseJTSWhYAkfM=";
hash = "sha256-BAjf43+vihKMTtdEH32S+xLinXxbZh/wSno70U+Q2vs=";
};
sourceRoot = ".";

View file

@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
hash = "sha256-Sldg4sR+wG0XH00mCcns5cyfYzNg7RQP4v95VNM6Ru4=";
hash = "sha256-0WqKyiNWLAJeB+J0Uk+/fMEiX2f2B1sZWOyJbutFI78=";
};
dontPatchELF = true;

View file

@ -6,7 +6,7 @@
let
pname = "zotero";
version = "7.0.11";
version = "7.0.15";
meta = {
homepage = "https://www.zotero.org";
description = "Collect, organize, cite, and share your research sources";

View file

@ -0,0 +1,38 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule rec {
pname = "zvm";
version = "0.8.5";
src = fetchFromGitHub {
owner = "tristanisham";
repo = "zvm";
tag = "v${version}";
hash = "sha256-1m/sNthkT2+qOMGLqXFtoY2F7aFeq5xzENFIEXhp+Z8=";
};
vendorHash = "sha256-QiE+aqiesygClFvdjIlyaRiC1I3qybCPuMxt/3HQUyA=";
doInstallCheck = true;
versionCheckProgramArg = "--version";
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://www.zvm.app/";
downloadPage = "https://github.com/tristanisham/zvm";
changelog = "https://github.com/tristanisham/zvm/releases/tag/v${version}";
description = "Tool to manage and use different Zig versions";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ethancedwards8 ];
platforms = lib.platforms.unix;
mainProgram = "zvm";
};
}

View file

@ -3,6 +3,7 @@
stdenv,
callPackage,
fetchFromGitHub,
fetchpatch,
useMinimalFeatures ? false,
useArmadillo ? (!useMinimalFeatures),
@ -92,6 +93,20 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-PanWqieJU1opR8iAwGsAeAt5cPXNOkwT5E6D6xPNCWs=";
};
patches = [
# Fix tests for GEOS 3.13.1
(fetchpatch {
url = "https://github.com/OSGeo/gdal/commit/e873236abfb7885d0b987934041c6b61f6aea5d0.patch";
hash = "sha256-iThP8Dfu6k6uhb+jB5Vs5P10UVeY6rLotdDAgX1v6vE=";
})
# Fix tests for PROJ 9.6.0
(fetchpatch {
url = "https://github.com/OSGeo/gdal/commit/49ef64108b6875e5b90a4fb6cadd089e84fe53c1.patch";
hash = "sha256-+HQvE5zxwCU03qRRjtzN9t7QgFfgRu4YZNZ9VRfKYEw=";
})
];
nativeBuildInputs =
[
bison

View file

@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "geos";
version = "3.13.0";
version = "3.13.1";
src = fetchFromGitHub {
owner = "libgeos";
repo = "geos";
tag = finalAttrs.version;
hash = "sha256-WcE5dbfbeq9uCRgfVgiA3MTOisRpilXxjquEM5aKTCc=";
hash = "sha256-zPVP01AMIBKMnKi6Sq++CIaVZb5JA1v8/QAdGzKdL8Y=";
};
nativeBuildInputs = [ cmake ];

View file

@ -17,13 +17,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "proj";
version = "9.5.1";
version = "9.6.0";
src = fetchFromGitHub {
owner = "OSGeo";
repo = "PROJ";
rev = finalAttrs.version;
hash = "sha256-gKfsuznAhq29sOw78gpQ7TNZ6xCgmDBad3TcqFzoWVc=";
hash = "sha256-sY3AIvsQnV2zi38nJs/U6zTsIgIv4/CaZaxinCg5nEs=";
};
patches = [

View file

@ -0,0 +1,126 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
hatchling,
scikit-build-core,
hatch-vcs,
nanobind,
# deps
antlr4-python3-runtime,
attrs,
case-converter,
cattrs,
click,
deepdiff,
easyeda2ato,
eseries,
fake-useragent,
fastapi,
gitpython,
igraph,
jinja2,
natsort,
networkx,
pandas,
pint,
pygls,
quart-cors,
quart-schema,
quart,
rich,
ruamel-yaml,
schema,
scipy,
semver,
toolz,
urllib3,
uvicorn,
watchfiles,
pyyaml,
# tests
pytestCheckHook,
pytest-xdist,
pytest-timeout,
}:
buildPythonPackage rec {
pname = "atopile";
version = "0.2.69";
pyproject = true;
src = fetchFromGitHub {
owner = "atopile";
repo = "atopile";
tag = "v${version}";
hash = "sha256-mQYnaWch0lVzz1hV6WboYxBGe3ruw+mK2AwMx13DQJM=";
};
build-system = [
hatchling
scikit-build-core
hatch-vcs
nanobind
];
dependencies = [
antlr4-python3-runtime
attrs
case-converter
cattrs
click
deepdiff
easyeda2ato
eseries
fake-useragent
fastapi
gitpython
igraph
jinja2
natsort
networkx
pandas
pint
pygls
quart-cors
quart-schema
quart
rich
ruamel-yaml
schema
scipy
semver
toolz
urllib3
uvicorn
watchfiles
pyyaml # required for ato
];
pythonRelaxDeps = [ "antlr4-python3-runtime" ];
pythonImportsCheck = [ "atopile" ];
preCheck = ''
substituteInPlace pyproject.toml \
--replace-fail "--html=artifacts/test-report.html" "" \
--replace-fail "--self-contained-html" ""
'';
nativeCheckInputs = [
pytestCheckHook
pytest-xdist
pytest-timeout
];
meta = {
description = "Design circuit boards with code";
homepage = "https://aiopg.readthedocs.io/";
downloadPage = "https://github.com/atopile/atopile";
changelog = "https://github.com/atopile/atopile/releases/tag/${src.rev}";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ sigmanificient ];
mainProgram = "ato";
};
}

View file

@ -24,7 +24,7 @@ buildPythonPackage rec {
doCheck = isPy3k;
meta = with lib; {
homepage = "https://github.com/gristlabs/asttokens";
homepage = "https://github.com/PyCQA/baron";
description = "Abstraction on top of baron, a FST for python to make writing refactoring code a realistic task";
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ marius851000 ];

View file

@ -0,0 +1,36 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "case-converter";
version = "1.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "chrisdoherty4";
repo = "python-case-converter";
tag = "v${version}";
hash = "sha256-PS/9Ndl3oD9zimEf819dNoSAeNJPndVjT+dkfW7FIJs=";
};
build-system = [ setuptools ];
pythonImportsCheck = [ "caseconverter" ];
doCheck = true;
nativeCheckInputs = [ pytestCheckHook ];
meta = {
description = "Case conversion library for Python";
homepage = "https://github.com/chrisdoherty4/python-case-converter";
changelog = "https://github.com/chrisdoherty4/python-case-converter/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ sigmanificient ];
};
}

View file

@ -0,0 +1,40 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
docopt,
pytestCheckHook,
hypothesis,
}:
buildPythonPackage {
pname = "docopt-subcommands";
version = "4.0.0-unstable-2020-01-06";
pyproject = true;
src = fetchFromGitHub {
owner = "abingham";
repo = "docopt-subcommands";
rev = "5693cbac24701c53e55fa182c1d563736e6a0557"; # no tags
hash = "sha256-bNFmRMzyC9BQB/J0ACqYxkS7lHG4CWd5/by7QgCopFo=";
};
build-system = [ setuptools ];
dependencies = [ docopt ];
pythonImportsCheck = [ "docopt_subcommands" ];
nativeCheckInputs = [
pytestCheckHook
hypothesis
];
meta = {
description = "Create subcommand-based CLI programs with docopt";
homepage = "https://github.com/abingham/docopt-subcommands";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ sigmanificient ];
};
}

View file

@ -0,0 +1,41 @@
{
lib,
buildPythonPackage,
fetchPypi,
setuptools,
pydantic,
requests,
}:
buildPythonPackage rec {
pname = "easyeda2ato";
version = "0.2.7";
pyproject = true;
# repo version does not match
src = fetchPypi {
inherit pname version;
hash = "sha256-bHhBN+h9Vx9Q4wZVKxMzkEEXzV7hKoQz8i+JpkSFsYA=";
};
build-system = [ setuptools ];
dependencies = [
pydantic
requests
];
pythonImportsCheck = [ "easyeda2kicad" ];
doCheck = false; # no tests
meta = {
description = "Convert any LCSC components (including EasyEDA) to KiCad library";
homepage = "https://github.com/uPesy/easyeda2kicad.py";
changelog = "https://github.com/uPesy/easyeda2kicad.py/releases/tag/v${version}";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ sigmanificient ];
mainProgram = "easyeda2kicad";
};
}

View file

@ -0,0 +1,45 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
docopt-subcommands,
future,
pytestCheckHook,
hypothesis,
}:
buildPythonPackage {
pname = "eseries";
version = "1.2.1-unstable-2023-12-17";
pyproject = true;
src = fetchFromGitHub {
owner = "rob-smallshire";
repo = "eseries";
rev = "3becd72de8b1b533b4a637169022231271a934fb"; # no tags
hash = "sha256-iQBh4L+t24pOBh86wEqu5e6/RUmTQdCX+rOV/H2ywaY=";
};
build-system = [ setuptools ];
dependencies = [
docopt-subcommands
future
];
pythonImportsCheck = [ "eseries" ];
nativeCheckInputs = [
pytestCheckHook
hypothesis
];
meta = {
description = "Find value in the E-series used for electronic components values";
homepage = "https://github.com/rob-smallshire/eseries";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ sigmanificient ];
mainProgram = "eseries";
};
}

View file

@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "google-genai";
version = "1.5.0";
version = "1.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "googleapis";
repo = "python-genai";
tag = "v${version}";
hash = "sha256-kw4RUcI8ARgVXsyqyo6jysjVn35yAs9//fv60PaOrXI=";
hash = "sha256-HXLo4dmlZNXXXpchO5sRlBzzQBU4cFS5qDpka2NdLTM=";
};
build-system = [ setuptools ];

View file

@ -15,18 +15,20 @@
# tests
pytestCheckHook,
pytest-asyncio,
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
pname = "llm-ollama";
version = "0.8.2";
version = "0.9.1";
pyproject = true;
src = fetchFromGitHub {
owner = "taketwo";
repo = "llm-ollama";
tag = version;
hash = "sha256-/WAugfkI4izIQ7PoKM9epd/4vFxYPvsiwDbEqqTdMq4=";
hash = "sha256-NAJ0tfGRQOxYVAi2X0AI2d9+wyUS3ro1bfMSViZjaR0=";
};
build-system = [
@ -43,14 +45,8 @@ buildPythonPackage rec {
nativeCheckInputs = [
pytestCheckHook
];
# These tests try to access the filesystem and fail
disabledTests = [
"test_registered_model"
"test_registered_chat_models"
"test_registered_embedding_models"
"test_registered_models_when_ollama_is_down"
pytest-asyncio
writableTmpDirAsHomeHook
];
pythonImportsCheck = [

View file

@ -33,13 +33,13 @@
buildPythonPackage rec {
pname = "marimo";
version = "0.11.17";
version = "0.11.20";
pyproject = true;
# The github archive does not include the static assets
src = fetchPypi {
inherit pname version;
hash = "sha256-jKDNbBhDnQyzaPe1JLXpNZaIhQmt0/1LIurT5WAKiNc=";
hash = "sha256-94UP5kDKQ5JS9egEOuMQQoewSTctIRRPt0b50yYg+r8=";
};
build-system = [ hatchling ];

View file

@ -30,20 +30,20 @@
buildPythonPackage rec {
pname = "nutpie";
version = "0.14.2";
version = "0.14.3";
pyproject = true;
src = fetchFromGitHub {
owner = "pymc-devs";
repo = "nutpie";
tag = "v${version}";
hash = "sha256-9sHs2JbzVRvAJEoLcz5NxkbElbXblDzxA6oCBtb4yFE=";
hash = "sha256-l2TEGa9VVJmU4mKZwfUdhiloW6Bh41OqIQzTRvYK3eg=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
name = "${pname}-${version}";
hash = "sha256-j7Vasy4BwOYzH43mWdbu+QsNCdRfvJC6ZvYU8XB5s4E=";
hash = "sha256-hPKT+YM9s7XZhI3sfnLBfokbGQhwDa9y5Fgg1TItO4M=";
};
build-system = [

View file

@ -0,0 +1,34 @@
{
lib,
buildPythonPackage,
fetchPypi,
hatchling,
more-itertools,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "patchpy";
version = "2.0.4";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-q+k9vYz5crCsBjI5QH7Xz3QVpntzrIXeO456dyrzf4I=";
};
build-system = [ hatchling ];
dependencies = [ more-itertools ];
pythonImportsCheck = [ "patchpy" ];
nativeCheckInputs = [ pytestCheckHook ];
meta = {
description = "Modern Python library for patch file parsing";
homepage = "https://github.com/MatthewScholefield/patchpy";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ sigmanificient ];
mainProgram = "patchpy";
};
}

View file

@ -2,19 +2,28 @@
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
flit-core,
# dependencies
attrs,
jsonschema,
nbclient,
nbdime,
nbformat,
# buildInputs
pytest,
# tests
black,
coverage,
ipykernel,
pytest-cov-stub,
pytest-regressions,
pytestCheckHook,
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
@ -29,7 +38,7 @@ buildPythonPackage rec {
hash = "sha256-LoK0wb7rAbVbgyURCbSfckWvJDef3tPY+7V4YU1IBRU=";
};
nativeBuildInputs = [
build-system = [
flit-core
];
@ -38,7 +47,7 @@ buildPythonPackage rec {
"nbclient"
];
propagatedBuildInputs = [
dependencies = [
attrs
jsonschema
nbclient
@ -57,26 +66,26 @@ buildPythonPackage rec {
pytest-cov-stub
pytest-regressions
pytestCheckHook
writableTmpDirAsHomeHook
];
preCheck = ''
export HOME="$TEMP"
'';
disabledTests = [
# AssertionError: FILES DIFFER:
"test_diff_to_string"
# pytest_notebook.execution.CoverageError: An error occurred while executing coverage start-up
# TypeError: expected str, bytes or os.PathLike object, not NoneType
"test_execute_notebook_with_coverage"
"test_regression_coverage"
"test_collection"
"test_setup_with_skip_meta"
"test_run_fail"
"test_run_pass_with_meta"
# pytest_notebook.nb_regression.NBRegressionError
"test_regression_regex_replace_pass"
];
__darwinAllowLocalNetworking = true;
meta = {
changelog = "https://github.com/chrisjsewell/pytest-notebook/blob/${src.rev}/docs/source/changelog.md";
changelog = "https://github.com/chrisjsewell/pytest-notebook/blob/${src.tag}/docs/source/changelog.md";
description = "Pytest plugin for regression testing and regenerating Jupyter Notebooks";
homepage = "https://github.com/chrisjsewell/pytest-notebook";
license = lib.licenses.bsd3;

View file

@ -17,6 +17,7 @@
onnx,
pytestCheckHook,
torchvision,
pythonAtLeast,
}:
buildPythonPackage rec {
@ -60,7 +61,11 @@ buildPythonPackage rec {
# where 4 = <MagicMock id='140733587469184'>.call_count
"test_lr_scheduler_wait_for_first_optimizer_step"
]
++ lib.optionals (stdenv.hostPlatform.isDarwin) [
++ lib.optionals (pythonAtLeast "3.13") [
# RuntimeError: Dynamo is not supported on Python 3.13+
"test_register"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# torch.distributed is not available on darwin
"test_create_distributed_evaluator"
"test_distributed_evaluation"

View file

@ -0,0 +1,60 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
pdm-backend,
pyhumps,
quart,
msgspec,
attrs,
pytestCheckHook,
pytest-asyncio,
pydantic,
hypothesis,
}:
buildPythonPackage rec {
pname = "quart-schema";
version = "0.21.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pgjones";
repo = "quart-schema";
tag = version;
hash = "sha256-FpjnhSTkjskCxT874ABrD3Zew4g4R977xaYvJhVTDxw=";
};
build-system = [ pdm-backend ];
dependencies = [
pyhumps
quart
msgspec
attrs
];
pythonImportsCheck = [
"quart"
"quart_schema"
];
nativeCheckInputs = [
pytestCheckHook
pytest-asyncio
pydantic
hypothesis
];
preCheck = ''
substituteInPlace pyproject.toml \
--replace-fail "--no-cov-on-fail" ""
'';
meta = {
description = "Create subcommand-based CLI programs with docopt";
homepage = "https://github.com/abingham/docopt-subcommands";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ sigmanificient ];
};
}

View file

@ -26,7 +26,7 @@ buildPythonPackage rec {
nativeCheckInputs = [ pytestCheckHook ];
meta = with lib; {
homepage = "https://github.com/gristlabs/asttokens";
homepage = "https://github.com/PyCQA/redbaron";
description = "Abstraction on top of baron, a FST for python to make writing refactoring code a realistic task";
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ marius851000 ];

View file

@ -1,7 +1,7 @@
{ lib, fetchzip }:
let
version = "3.3.0";
srcHash = "sha256-f0XQ3cbao8IM5toSkxvul7pp1L89N9oiEo3Yx3mkGhg=";
version = "3.4.0";
srcHash = "sha256-2zKzNaNe057iJkhhLaEBfE84YkR0X5lGpB4b3WNq3ec=";
# The tarball contains vendored dependencies
vendorHash = null;
in

View file

@ -19,6 +19,9 @@
libobjc,
Accelerate,
# BSD Dependencies
freebsd,
# Optional Dependencies
dbus ? null,
libffado ? null,
@ -84,6 +87,9 @@ stdenv.mkDerivation (finalAttrs: {
CoreAudio
Accelerate
libobjc
]
++ lib.optionals stdenv.hostPlatform.isFreeBSD [
freebsd.libsysinfo
];
patches = [
@ -106,7 +112,10 @@ stdenv.mkDerivation (finalAttrs: {
]
++ lib.optional (optDbus != null) "--dbus"
++ lib.optional (optLibffado != null) "--firewire"
++ lib.optional (optAlsaLib != null) "--alsa";
++ lib.optional (optAlsaLib != null) "--alsa"
++ lib.optional (
stdenv.hostPlatform != stdenv.buildPlatform
) "--platform=${stdenv.hostPlatform.parsed.kernel.name}";
postInstall = (
if libOnly then

View file

@ -1,4 +1,5 @@
{
lib,
mkDerivation,
libgeom,
libufs,
@ -18,6 +19,12 @@ let
"sys/opencrypto"
];
outputs = [
"out"
"man"
"debug"
];
# libgeom needs sbuf and bsdxml but linker doesn't know that
buildInputs = [
libgeom
@ -37,8 +44,19 @@ mkDerivation {
"lib/Makefile.inc"
"lib/geom"
];
outputs = [
"out"
"man"
"debug"
];
GEOM_CLASS_DIR = "${libs}/lib";
# link in man pages from libs
postInstall = ''
mkdir -p $man/share/man/man8
ln -s ${lib.getMan libs}/share/man/man8/*.8* $man/share/man/man8/
'';
buildInputs = [ libgeom ];
}

View file

@ -3,4 +3,8 @@ mkDerivation {
path = "lib/libexpat";
extraPaths = [ "contrib/expat" ];
buildInputs = [ ];
outputs = [
"out"
"debug"
];
}

View file

@ -0,0 +1,15 @@
{
lib,
mkDerivation,
}:
mkDerivation {
path = "lib/libdevdctl";
clangFixup = false;
outputs = [
"out"
"debug"
];
meta.platforms = lib.platforms.freebsd;
}

View file

@ -5,6 +5,13 @@
}:
mkDerivation {
path = "lib/libgeom";
outputs = [
"out"
"man"
"debug"
];
buildInputs = [
libbsdxml
libsbuf

View file

@ -0,0 +1,56 @@
{
lib,
mkDerivation,
fetchurl,
fetchFromGitHub,
}:
let
pcFile = fetchurl {
url = "https://raw.githubusercontent.com/freebsd/freebsd-ports/a613e66a54d54251878412b74c1e99defdac4192/devel/libsysinfo/files/libsysinfo.pc.in";
hash = "sha256-KeCOYLCYeoJm+AwaagygKve2f+jNaIfaO7c/UnMegAg=";
};
in
mkDerivation rec {
pname = "libsysinfo";
path = "...";
version = "0.0.3";
src = fetchFromGitHub {
owner = "bsdimp";
repo = "libsysinfo";
rev = "e535d95d1598932a0084a027402104d6e0276479";
hash = "sha256-HFgaYRR9HQM0iVJBWq1nrPGZIl/Y/5C0JJUunlzCZLI=";
};
outputs = [
"out"
"man"
"debug"
];
env.NIX_LDFLAGS = "-lkvm";
# bash-sh syntax differences
postPatch = ''
substituteInPlace Makefile --replace-fail 'then else' 'then :; else'
substituteInPlace Makefile --replace-fail 'mkdir' 'mkdir -p'
'';
postInstall = ''
mkdir -p $out/lib/pkgconfig
substitute ${pcFile} $out/lib/pkgconfig/libsysinfo.pc \
--replace-fail '%%PREFIX%%' "$out" \
--replace-fail '%%COMMENT%%' "${meta.description}" \
--replace-fail '%%PORTVERSION%%' "${version}"
mkdir -p $out/include/sys
ln -s ../sysinfo.h $out/include/sys/sysinfo.h
'';
meta = {
description = "GNU libc's sysinfo port for FreeBSD";
homepage = "https://github.com/bsdimp/libsysinfo";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ rhelmot ];
platforms = lib.platforms.freebsd;
};
}

View file

@ -0,0 +1,40 @@
{
mkDerivation,
lib,
libgeom,
libzfs,
libdevdctl,
libsbuf,
libbsdxml,
}:
mkDerivation {
path = "cddl/usr.sbin/zfsd";
extraPaths = [
"sys/contrib/openzfs"
];
clangFixup = false;
ouptuts = [
"out"
"man"
"debug"
];
buildInputs = [
libgeom
libzfs
libdevdctl
libsbuf
libbsdxml
];
MK_TESTS = "no";
meta = {
mainProgram = "zfsd";
platforms = lib.platforms.freebsd;
license = with lib.licenses; [
cddl
bsd2
];
};
}

View file

@ -8,7 +8,11 @@
}@args:
let
# comments with variant added for update script
# Default priority is 100 for common kernel options (see common-config.nix
# file), we need something lower to override them, but we still want users to
# override options if they need using lib.mkForce (that has 50 priority)
mkKernelOverride = lib.mkOverride 90;
# Comments with variant added for update script
variants = {
# ./update-zen.py zen
zen = {
@ -49,7 +53,7 @@ let
# This is based on the following sources:
# - zen: https://gitlab.archlinux.org/archlinux/packaging/packages/linux-zen/-/blob/main/config
# - lqx: https://github.com/damentz/liquorix-package/blob/6.8/master/linux-liquorix/debian/config/kernelarch-x86/config-arch-64
# - lqx: https://github.com/damentz/liquorix-package/blob/6.13/master/linux-liquorix/debian/config/kernelarch-x86/config-arch-64
# - Liquorix features: https://liquorix.net/
# The list below is not exhaustive, so the kernels probably doesn't match
# the upstream, but should bring most of the improvements that will be
@ -65,8 +69,8 @@ let
DEFAULT_FQ_CODEL = yes;
# Preempt (low-latency)
PREEMPT = lib.mkOverride 60 yes;
PREEMPT_VOLUNTARY = lib.mkOverride 60 no;
PREEMPT = mkKernelOverride yes;
PREEMPT_VOLUNTARY = mkKernelOverride no;
# Preemptible tree-based hierarchical RCU
TREE_RCU = yes;
@ -88,7 +92,7 @@ let
RCU_DOUBLE_CHECK_CB_TIME = yes;
# BFQ I/O scheduler
IOSCHED_BFQ = lib.mkOverride 60 yes;
IOSCHED_BFQ = mkKernelOverride yes;
# Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync.
FUTEX = yes;
@ -103,6 +107,10 @@ let
}
// lib.optionalAttrs (isLqx) {
# https://github.com/damentz/liquorix-package/commit/07b176edc002f2a7825ae181613e1f79a3650fd2
CMDLINE_BOOL = yes;
CMDLINE = freeform "audit=0 intel_pstate=disable amd_pstate=disable ";
# Google's BBRv3 TCP congestion Control
TCP_CONG_BBR = yes;
DEFAULT_BBR = yes;
@ -113,21 +121,28 @@ let
# https://github.com/damentz/liquorix-package/commit/a7055b936c0f4edb8f6afd5263fe1d2f8a5cd877
RCU_BOOST = no;
RCU_LAZY = lib.mkOverride 60 no;
RCU_LAZY = mkKernelOverride no;
# Swap storage is compressed with LZ4 using zswap
ZSWAP_COMPRESSOR_DEFAULT_LZ4 = lib.mkOptionDefault yes;
ZSWAP_COMPRESSOR_DEFAULT_ZSTD = lib.mkDefault no;
ZSWAP_COMPRESSOR_DEFAULT_LZ4 = yes;
ZSWAP_COMPRESSOR_DEFAULT_ZSTD = mkKernelOverride no;
# https://github.com/damentz/liquorix-package/commit/3a82381a4db3452599e2b2a607046a379c72ad27
SLAB_BUCKETS = mkKernelOverride (option no);
# https://github.com/damentz/liquorix-package/commit/ca7efe07abd478f3f4cbe0725a3383fd235aa5be
ENERGY_MODE = mkKernelOverride (option no);
# https://github.com/damentz/liquorix-package/commit/fdc93f5633d22c26f0994fba751a26de0cb51a17
WQ_POWER_EFFICIENT_DEFAULT = mkKernelOverride (option no);
# Fix error: unused option: XXX.
CFS_BANDWIDTH = lib.mkForce (option no);
PSI = lib.mkForce (option no);
RT_GROUP_SCHED = lib.mkForce (option no);
SCHED_AUTOGROUP = lib.mkForce (option no);
SCHED_CLASS_EXT = lib.mkForce (option no);
SCHED_CORE = lib.mkForce (option no);
UCLAMP_TASK = lib.mkForce (option no);
UCLAMP_TASK_GROUP = lib.mkForce (option no);
CFS_BANDWIDTH = mkKernelOverride (option no);
PSI = mkKernelOverride (option no);
RT_GROUP_SCHED = mkKernelOverride (option no);
SCHED_AUTOGROUP = mkKernelOverride (option no);
SCHED_CLASS_EXT = mkKernelOverride (option no);
SCHED_CORE = mkKernelOverride (option no);
UCLAMP_TASK = mkKernelOverride (option no);
UCLAMP_TASK_GROUP = mkKernelOverride (option no);
};
passthru.updateScript = [

View file

@ -1,14 +1,14 @@
{ fetchFromGitHub }:
rec {
pname = "authelia";
version = "4.38.19";
version = "4.39.1";
src = fetchFromGitHub {
owner = "authelia";
repo = "authelia";
rev = "v${version}";
hash = "sha256-VqdSDrvsue8NqUNN5H++psxAyvvSyFNqt2U8yUXhTo8=";
hash = "sha256-Q/NGjJphuZ7MMnOSTAukzEg4iAQWc/VDFWs0jj4e0dY=";
};
vendorHash = "sha256-NONSCqRalxZq1n0Q3fXKVXpkALkoyIl3+Fsx7Xb3M2w=";
pnpmDepsHash = "sha256-9ZqAoktMS28GTqbOsWDYUsS1H0unWSEPO0Z2b5xXV54=";
vendorHash = "sha256-FE4YABsWKhifVjdzJSnjWPesjuSe/hWDa6oTg8MZjo8=";
pnpmDepsHash = "sha256-TJ/Uz7Q+mXfvZ/Zu12Pv1O8LKTzEPJ+Pa+3vrKghPks=";
}

View file

@ -0,0 +1,14 @@
self: super:
let
inherit (self) lib config;
in
(lib.packagesFromDirectoryRecursive {
inherit (super) callPackage;
directory = ./ext;
})
// {
timescaledb-apache = super.callPackage ./ext/timescaledb.nix { enableUnfree = false; };
}
// lib.optionalAttrs config.allowAliases {
pg_embedding = throw "PostgreSQL extension `pg_embedding` has been removed since the project has been abandoned. Upstream's recommendation is to use pgvector instead (https://neon.tech/docs/extensions/pg_embedding#migrate-from-pg_embedding-to-pgvector)";
}

View file

@ -1,12 +1,12 @@
{
lib,
stdenv,
bison,
fetchFromGitHub,
flex,
lib,
perl,
postgresql,
buildPostgresqlExtension,
postgresqlBuildExtension,
stdenv,
}:
let
@ -17,17 +17,16 @@ let
"15" = "sha256-webZWgWZGnSoXwTpk816tjbtHV1UIlXkogpBDAEL4gM=";
"14" = "sha256-jZXhcYBubpjIJ8M5JHXKV5f6VK/2BkypH3P7nLxZz3E=";
"13" = "sha256-HR6nnWt/V2a0rD5eHHUsFIZ1y7lmvLz36URt9pPJnCw=";
"12" = "sha256-JFNk17ESsIt20dwXrfBkQ5E6DbZzN/Q9eS6+WjCXGd4=";
};
in
buildPostgresqlExtension rec {
postgresqlBuildExtension rec {
pname = "age";
version = "1.5.0-rc0";
src = fetchFromGitHub {
owner = "apache";
repo = "age";
rev = "PG${lib.versions.major postgresql.version}/v${
tag = "PG${lib.versions.major postgresql.version}/v${
builtins.replaceStrings [ "." ] [ "_" ] version
}";
hash =
@ -73,13 +72,13 @@ buildPostgresqlExtension rec {
'';
};
meta = with lib; {
broken = !builtins.elem (versions.major postgresql.version) (builtins.attrNames hashes);
meta = {
broken = !builtins.elem (lib.versions.major postgresql.version) (builtins.attrNames hashes);
description = "Graph database extension for PostgreSQL";
homepage = "https://age.apache.org/";
changelog = "https://github.com/apache/age/raw/v${src.rev}/RELEASE";
maintainers = [ ];
platforms = postgresql.meta.platforms;
license = licenses.asl20;
license = lib.licenses.asl20;
};
}

View file

@ -1,16 +1,16 @@
{
jitSupport,
lib,
stdenv,
llvm,
nixosTests,
pg-dump-anon,
postgresql,
postgresqlBuildExtension,
runtimeShell,
jitSupport,
llvm,
buildPostgresqlExtension,
nixosTests,
stdenv,
}:
buildPostgresqlExtension (finalAttrs: {
postgresqlBuildExtension (finalAttrs: {
pname = "postgresql_anonymizer";
inherit (pg-dump-anon) version src;

View file

@ -1,11 +1,11 @@
{
stdenv,
lib,
fetchFromGitHub,
postgresql,
boost186,
fetchFromGitHub,
lib,
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
buildPostgresqlExtension,
stdenv,
}:
let
@ -15,7 +15,7 @@ let
name = "datasketches-postgresql";
owner = "apache";
repo = "datasketches-postgresql";
rev = "refs/tags/${version}";
tag = version;
hash = "sha256-W41uAs3W4V7c9O/wBw3rut65bcmY8EdQS1/tPszMGqA=";
};
@ -23,12 +23,12 @@ let
name = "datasketches-cpp";
owner = "apache";
repo = "datasketches-cpp";
rev = "refs/tags/5.0.2";
tag = "5.0.2";
hash = "sha256-yGk1OckYipAgLTQK6w6p6EdHMxBIQSjPV/MMND3cDks=";
};
in
buildPostgresqlExtension (finalAttrs: {
postgresqlBuildExtension (finalAttrs: {
pname = "apache_datasketches";
inherit version;

View file

@ -1,43 +1,49 @@
{
lib,
stdenv,
curl,
fetchFromGitHub,
fetchpatch,
lib,
lz4,
postgresql,
buildPostgresqlExtension,
postgresqlBuildExtension,
stdenv,
}:
buildPostgresqlExtension rec {
postgresqlBuildExtension rec {
pname = "citus";
version = "13.0.0";
version = "13.0.2";
src = fetchFromGitHub {
owner = "citusdata";
repo = "citus";
rev = "v${version}";
hash = "sha256-1if/rYMQV1RG4ZkjqTFuFYu5f1JhJiMF4rCVo8gp7+8=";
tag = "v${version}";
hash = "sha256-SuJs6OCHKO7efQagsATgn/V9rgMyuXQIHGCEP9ME7tQ=";
};
patches = [
# Even though this commit is on main since Sep 2023, it hasn't made its way to the release-13.0 branch, yet.
# https://github.com/citusdata/citus/pull/7221
# Fixes build for PG 16 + 17 on darwin
(fetchpatch {
url = "https://github.com/citusdata/citus/commit/0f28a69f12418d211ffba5f7ddd222fd0c47daeb.patch";
hash = "sha256-8JAM+PUswzbdlAZUpRApgO0eBsMbUHFdFGsdATsG88I=";
})
];
buildInputs = [
curl
lz4
];
meta = with lib; {
meta = {
# "Our soft policy for Postgres version compatibility is to support Citus'
# latest release with Postgres' 3 latest releases."
# https://www.citusdata.com/updates/v12-0/#deprecated_features
broken =
versionOlder postgresql.version "14"
||
# PostgreSQL 17 support issue upstream: https://github.com/citusdata/citus/issues/7708
# Check after next package update.
(versionAtLeast postgresql.version "17" && version == "12.1.6");
broken = lib.versionOlder postgresql.version "15";
description = "Distributed PostgreSQL as an extension";
homepage = "https://www.citusdata.com/";
changelog = "https://github.com/citusdata/citus/blob/${src.rev}/CHANGELOG.md";
license = licenses.agpl3Only;
license = lib.licenses.agpl3Only;
maintainers = [ ];
inherit (postgresql.meta) platforms;
};

View file

@ -1,13 +1,13 @@
{
lib,
stdenv,
fetchFromGitHub,
lib,
postgresql,
postgresqlBuildExtension,
protobufc,
buildPostgresqlExtension,
stdenv,
}:
buildPostgresqlExtension {
postgresqlBuildExtension {
pname = "cstore_fdw";
version = "1.7.0-unstable-2021-03-08";
@ -18,15 +18,15 @@ buildPostgresqlExtension {
owner = "citusdata";
repo = "cstore_fdw";
rev = "90e22b62fbee6852529104fdd463f532cf7a3311";
sha256 = "sha256-02wcCqs8A5ZOZX080fgcNJTQrYQctnlwnA8+YPaRTZc=";
hash = "sha256-02wcCqs8A5ZOZX080fgcNJTQrYQctnlwnA8+YPaRTZc=";
};
meta = with lib; {
broken = versionAtLeast postgresql.version "14";
meta = {
broken = lib.versionAtLeast postgresql.version "14";
description = "Columnar storage for PostgreSQL";
homepage = "https://github.com/citusdata/cstore_fdw";
maintainers = with maintainers; [ thoughtpolice ];
maintainers = with lib.maintainers; [ thoughtpolice ];
platforms = postgresql.meta.platforms;
license = licenses.asl20;
license = lib.licenses.asl20;
};
}

View file

@ -1,127 +0,0 @@
self: super: let
inherit (self) lib config;
in {
age = super.callPackage ./age.nix { };
anonymizer = super.callPackage ./anonymizer.nix { };
apache_datasketches = super.callPackage ./apache_datasketches.nix { };
citus = super.callPackage ./citus.nix { };
h3-pg = super.callPackage ./h3-pg.nix { };
hypopg = super.callPackage ./hypopg.nix { };
jsonb_deep_sum = super.callPackage ./jsonb_deep_sum.nix { };
lantern = super.callPackage ./lantern.nix { };
periods = super.callPackage ./periods.nix { };
postgis = super.callPackage ./postgis.nix { };
pg_auto_failover = super.callPackage ./pg_auto_failover.nix { };
pg_byteamagic = super.callPackage ./pg_byteamagic.nix { };
pg_bigm = super.callPackage ./pg_bigm.nix { };
pg_ed25519 = super.callPackage ./pg_ed25519.nix { };
pg_hint_plan = super.callPackage ./pg_hint_plan.nix { };
pg_ivm = super.callPackage ./pg_ivm.nix { };
pg_libversion = super.callPackage ./pg_libversion.nix { };
pg_rational = super.callPackage ./pg_rational.nix { };
pg_repack = super.callPackage ./pg_repack.nix { };
pg_similarity = super.callPackage ./pg_similarity.nix { };
pgaudit = super.callPackage ./pgaudit.nix { };
pgmq = super.callPackage ./pgmq.nix { };
pgroonga = super.callPackage ./pgroonga.nix { };
pgsodium = super.callPackage ./pgsodium.nix { };
pgsql-http = super.callPackage ./pgsql-http.nix { };
pgvecto-rs = super.callPackage ./pgvecto-rs { };
pgvector = super.callPackage ./pgvector.nix { };
plpgsql_check = super.callPackage ./plpgsql_check.nix { };
plr = super.callPackage ./plr.nix { };
plv8 = super.callPackage ./plv8 { };
pgjwt = super.callPackage ./pgjwt.nix { };
cstore_fdw = super.callPackage ./cstore_fdw.nix { };
pg_hll = super.callPackage ./pg_hll.nix { };
pg_cron = super.callPackage ./pg_cron.nix { };
pg_tle = super.callPackage ./pg_tle.nix { };
pg_topn = super.callPackage ./pg_topn.nix { };
pg_net = super.callPackage ./pg_net.nix { };
pg-gvm = super.callPackage ./pg-gvm.nix { };
pg-semver = super.callPackage ./pg-semver.nix { };
pgtap = super.callPackage ./pgtap.nix { };
smlar = super.callPackage ./smlar.nix { };
system_stats = super.callPackage ./system_stats.nix { };
temporal_tables = super.callPackage ./temporal_tables.nix { };
timescaledb = super.callPackage ./timescaledb.nix { };
timescaledb-apache = super.callPackage ./timescaledb.nix { enableUnfree = false; };
timescaledb_toolkit = super.callPackage ./timescaledb_toolkit.nix { };
tds_fdw = super.callPackage ./tds_fdw.nix { };
pgrouting = super.callPackage ./pgrouting.nix { };
pgx_ulid = super.callPackage ./pgx_ulid.nix { };
pg_partman = super.callPackage ./pg_partman.nix { };
pg_relusage = super.callPackage ./pg_relusage.nix { };
pg_roaringbitmap = super.callPackage ./pg_roaringbitmap.nix { };
pg_safeupdate = super.callPackage ./pg_safeupdate.nix { };
pg_squeeze = super.callPackage ./pg_squeeze.nix { };
pg_uuidv7 = super.callPackage ./pg_uuidv7.nix { };
repmgr = super.callPackage ./repmgr.nix { };
rum = super.callPackage ./rum.nix { };
sqlite_fdw = super.callPackage ./sqlite_fdw.nix { };
tsja = super.callPackage ./tsja.nix { };
wal2json = super.callPackage ./wal2json.nix { };
pgddl = super.callPackage ./pgddl.nix {};
} // lib.optionalAttrs config.allowAliases {
pg_embedding = throw "PostgreSQL extension `pg_embedding` has been removed since the project has been abandoned. Upstream's recommendation is to use pgvector instead (https://neon.tech/docs/extensions/pg_embedding#migrate-from-pg_embedding-to-pgvector)";
}

View file

@ -1,22 +1,22 @@
{
lib,
stdenv,
cmake,
fetchFromGitHub,
h3_4,
lib,
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
buildPostgresqlExtension,
stdenv,
}:
buildPostgresqlExtension (finalAttrs: {
postgresqlBuildExtension (finalAttrs: {
pname = "h3-pg";
version = "4.2.2";
src = fetchFromGitHub {
owner = "zachasme";
repo = "h3-pg";
rev = "v${finalAttrs.version}";
tag = "v${finalAttrs.version}";
hash = "sha256-2xp9gssPMTroLT/1Me0VWvtIPyouIk9MW0Rp13uYBEw=";
};
@ -50,10 +50,10 @@ buildPostgresqlExtension (finalAttrs: {
'';
};
meta = with lib; {
meta = {
description = "PostgreSQL bindings for H3, a hierarchical hexagonal geospatial indexing system";
homepage = "https://github.com/zachasme/h3-pg";
license = licenses.asl20;
license = lib.licenses.asl20;
maintainers = [ ];
inherit (postgresql.meta) platforms;
};

View file

@ -1,20 +1,20 @@
{
lib,
stdenv,
fetchFromGitHub,
postgresql,
gitUpdater,
buildPostgresqlExtension,
lib,
postgresql,
postgresqlBuildExtension,
stdenv,
}:
buildPostgresqlExtension rec {
postgresqlBuildExtension rec {
pname = "hypopg";
version = "1.4.1";
src = fetchFromGitHub {
owner = "HypoPG";
repo = "hypopg";
rev = version;
tag = version;
hash = "sha256-88uKPSnITRZ2VkelI56jZ9GWazG/Rn39QlyHKJKSKMM=";
};
@ -24,11 +24,11 @@ buildPostgresqlExtension rec {
};
};
meta = with lib; {
meta = {
description = "Hypothetical Indexes for PostgreSQL";
homepage = "https://hypopg.readthedocs.io";
license = licenses.postgresql;
license = lib.licenses.postgresql;
platforms = postgresql.meta.platforms;
maintainers = with maintainers; [ bbigras ];
maintainers = with lib.maintainers; [ bbigras ];
};
}

View file

@ -1,12 +1,12 @@
{
lib,
stdenv,
fetchFromGitHub,
lib,
postgresql,
buildPostgresqlExtension,
postgresqlBuildExtension,
stdenv,
}:
buildPostgresqlExtension {
postgresqlBuildExtension {
pname = "jsonb_deep_sum";
version = "0-unstable-2021-12-24";
@ -14,14 +14,14 @@ buildPostgresqlExtension {
owner = "furstenheim";
repo = "jsonb_deep_sum";
rev = "d9c69aa6b7da860e5522a9426467e67cb787980c";
sha256 = "sha256-W1wNILAwTAjFPezq+grdRMA59KEnMZDz69n9xQUqdc0=";
hash = "sha256-W1wNILAwTAjFPezq+grdRMA59KEnMZDz69n9xQUqdc0=";
};
meta = with lib; {
meta = {
description = "PostgreSQL extension to easily add jsonb numeric";
homepage = "https://github.com/furstenheim/jsonb_deep_sum";
maintainers = with maintainers; [ _1000101 ];
maintainers = with lib.maintainers; [ _1000101 ];
platforms = postgresql.meta.platforms;
license = licenses.mit;
license = lib.licenses.mit;
};
}

View file

@ -1,22 +1,22 @@
{
lib,
stdenv,
cmake,
fetchFromGitHub,
lib,
openssl,
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
buildPostgresqlExtension,
stdenv,
}:
buildPostgresqlExtension (finalAttrs: {
postgresqlBuildExtension (finalAttrs: {
pname = "postgresql-lantern";
version = "0.5.0";
src = fetchFromGitHub {
owner = "lanterndata";
repo = "lantern";
rev = "v${finalAttrs.version}";
tag = "v${finalAttrs.version}";
hash = "sha256-IsDD/um5pVvbzin8onf45DQVszl+Id/pJSQ2iijgHmg=";
fetchSubmodules = true;
};
@ -51,11 +51,11 @@ buildPostgresqlExtension (finalAttrs: {
'';
};
meta = with lib; {
meta = {
description = "PostgreSQL vector database extension for building AI applications";
homepage = "https://lantern.dev/";
changelog = "https://github.com/lanterndata/lantern/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = licenses.agpl3Only;
license = lib.licenses.agpl3Only;
maintainers = [ ];
platforms = postgresql.meta.platforms;
};

View file

@ -1,27 +1,27 @@
{
lib,
stdenv,
fetchFromGitHub,
lib,
postgresql,
buildPostgresqlExtension,
postgresqlBuildExtension,
stdenv,
}:
buildPostgresqlExtension rec {
postgresqlBuildExtension rec {
pname = "periods";
version = "1.2.3";
src = fetchFromGitHub {
owner = "xocolatl";
repo = pname;
rev = "v${version}";
sha256 = "sha256-97v6+WNDcYb/KivlE/JBlRIZ3gYHj68AlK0fylp1cPo=";
repo = "periods";
tag = "v${version}";
hash = "sha256-97v6+WNDcYb/KivlE/JBlRIZ3gYHj68AlK0fylp1cPo=";
};
meta = with lib; {
meta = {
description = "PostgreSQL extension implementing SQL standard functionality for PERIODs and SYSTEM VERSIONING";
homepage = "https://github.com/xocolatl/periods";
maintainers = with maintainers; [ ivan ];
maintainers = with lib.maintainers; [ ivan ];
platforms = postgresql.meta.platforms;
license = licenses.postgresql;
license = lib.licenses.postgresql;
};
}

View file

@ -1,5 +1,4 @@
{
buildPostgresqlExtension,
cmake,
fetchFromGitHub,
glib,
@ -10,17 +9,18 @@
pcre2,
pkg-config,
postgresql,
postgresqlBuildExtension,
}:
buildPostgresqlExtension (finalAttrs: {
postgresqlBuildExtension (finalAttrs: {
pname = "pg-gvm";
version = "22.6.7";
version = "22.6.8";
src = fetchFromGitHub {
owner = "greenbone";
repo = "pg-gvm";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-Sa9ltW3KV/69OCxD3gRcp5owL0oW+z3fs4fRBHbSh30=";
tag = "v${finalAttrs.version}";
hash = "sha256-D8KpOTF+vcBNIn//8Y0Hwk4B+OBF2Hh3dkWyO2KYeqw=";
};
nativeBuildInputs = [
@ -42,7 +42,6 @@ buildPostgresqlExtension (finalAttrs: {
changelog = "https://github.com/greenbone/pg-gvm/releases/tag/v${finalAttrs.version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ tochiaha ];
mainProgram = "pg-gvm";
platforms = postgresql.meta.platforms;
};
})

View file

@ -1,20 +1,20 @@
{
lib,
fetchFromGitHub,
lib,
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
testers,
buildPostgresqlExtension,
}:
buildPostgresqlExtension (finalAttrs: {
postgresqlBuildExtension (finalAttrs: {
pname = "pg-semver";
version = "0.40.0";
src = fetchFromGitHub {
owner = "theory";
repo = "pg-semver";
rev = "refs/tags/v${finalAttrs.version}";
tag = "v${finalAttrs.version}";
hash = "sha256-9f+QuGupjTUK3cQk7DFDrL7MOIwDE9SAUyVZ9RfrdDM=";
};

View file

@ -1,34 +1,34 @@
{
lib,
stdenv,
fetchFromGitHub,
lib,
postgresql,
buildPostgresqlExtension,
postgresqlBuildExtension,
stdenv,
}:
buildPostgresqlExtension rec {
postgresqlBuildExtension rec {
pname = "pg_auto_failover";
version = "2.1";
src = fetchFromGitHub {
owner = "citusdata";
repo = pname;
rev = "v${version}";
sha256 = "sha256-OIWykfFbVskrkPG/zSmZtZjc+W956KSfIzK7f5QOqpI=";
repo = "pg_auto_failover";
tag = "v${version}";
hash = "sha256-OIWykfFbVskrkPG/zSmZtZjc+W956KSfIzK7f5QOqpI=";
};
buildInputs = postgresql.buildInputs;
meta = with lib; {
meta = {
description = "PostgreSQL extension and service for automated failover and high-availability";
mainProgram = "pg_autoctl";
homepage = "https://github.com/citusdata/pg_auto_failover";
changelog = "https://github.com/citusdata/pg_auto_failover/blob/v${version}/CHANGELOG.md";
maintainers = [ ];
platforms = postgresql.meta.platforms;
license = licenses.postgresql;
license = lib.licenses.postgresql;
# PostgreSQL 17 support issue upstream: https://github.com/hapostgres/pg_auto_failover/issues/1048
# Check after next package update.
broken = versionAtLeast postgresql.version "17" && version == "2.1";
broken = lib.versionAtLeast postgresql.version "17" && version == "2.1";
};
}

View file

@ -1,28 +1,28 @@
{
lib,
fetchFromGitHub,
lib,
postgresql,
buildPostgresqlExtension,
postgresqlBuildExtension,
}:
buildPostgresqlExtension rec {
postgresqlBuildExtension rec {
pname = "pg_bigm";
version = "1.2-20240606";
src = fetchFromGitHub {
owner = "pgbigm";
repo = "pg_bigm";
rev = "v${version}";
tag = "v${version}";
hash = "sha256-5Uy1DmGZR4WdtRUvNdZ5b9zBHJUb9idcEzW20rkreBs=";
};
makeFlags = [ "USE_PGXS=1" ];
meta = with lib; {
meta = {
description = "Text similarity measurement and index searching based on bigrams";
homepage = "https://pgbigm.osdn.jp/";
maintainers = [ ];
platforms = postgresql.meta.platforms;
license = licenses.postgresql;
license = lib.licenses.postgresql;
};
}

View file

@ -1,13 +1,13 @@
{
buildPostgresqlExtension,
fetchFromGitHub,
file,
lib,
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
}:
buildPostgresqlExtension (finalAttrs: {
postgresqlBuildExtension (finalAttrs: {
pname = "pg_byteamagic";
version = "0.2.4";

View file

@ -1,28 +1,28 @@
{
lib,
stdenv,
fetchFromGitHub,
lib,
postgresql,
buildPostgresqlExtension,
postgresqlBuildExtension,
stdenv,
}:
buildPostgresqlExtension rec {
postgresqlBuildExtension rec {
pname = "pg_cron";
version = "1.6.5";
src = fetchFromGitHub {
owner = "citusdata";
repo = pname;
rev = "v${version}";
repo = "pg_cron";
tag = "v${version}";
hash = "sha256-Llksil7Fk7jvJJmCpfCN0Qm2b2I4J1VOA7/ibytO+KM=";
};
meta = with lib; {
meta = {
description = "Run Cron jobs through PostgreSQL";
homepage = "https://github.com/citusdata/pg_cron";
changelog = "https://github.com/citusdata/pg_cron/releases/tag/v${version}";
maintainers = with maintainers; [ thoughtpolice ];
maintainers = with lib.maintainers; [ thoughtpolice ];
platforms = postgresql.meta.platforms;
license = licenses.postgresql;
license = lib.licenses.postgresql;
};
}

View file

@ -1,28 +1,28 @@
{
lib,
stdenv,
fetchFromGitLab,
lib,
postgresql,
buildPostgresqlExtension,
postgresqlBuildExtension,
stdenv,
}:
buildPostgresqlExtension rec {
postgresqlBuildExtension rec {
pname = "pg_ed25519";
version = "0.2";
src = fetchFromGitLab {
owner = "dwagin";
repo = "pg_ed25519";
rev = version;
sha256 = "16w3qx3wj81bzfhydl2pjhn8b1jak6h7ja9wq1kc626g0siggqi0";
tag = version;
hash = "sha256-IOL3ogbPCMNmwDwpeaCZSoaFLJRX0Oah+ysgyUfHg5s=";
};
meta = with lib; {
meta = {
description = "PostgreSQL extension for signing and verifying ed25519 signatures";
homepage = "https://gitlab.com/dwagin/pg_ed25519";
maintainers = [ maintainers.renzo ];
maintainers = with lib.maintainers; [ renzo ];
platforms = postgresql.meta.platforms;
license = licenses.mit;
license = lib.licenses.mit;
# Broken with no upstream fix available.
broken = lib.versionAtLeast postgresql.version "16";
};

View file

@ -1,9 +1,9 @@
{
lib,
stdenv,
fetchFromGitHub,
lib,
postgresql,
buildPostgresqlExtension,
postgresqlBuildExtension,
stdenv,
}:
let
@ -29,22 +29,18 @@ let
version = "1.3.9";
hash = "sha256-KGcHDwk8CgNHPZARfLBfS8r7TRCP9LPjT+m4fNSnnW0=";
};
"12" = {
version = "1.3.9";
hash = "sha256-64/dlm6e4flCxMQ8efsxfKSlja+Tko0zsghTgLatN+Y=";
};
}
.${lib.versions.major postgresql.version}
or (throw "Source for pg_hint_plan is not available for ${postgresql.version}");
in
buildPostgresqlExtension {
postgresqlBuildExtension {
pname = "pg_hint_plan";
inherit (source) version;
src = fetchFromGitHub {
owner = "ossc-db";
repo = "pg_hint_plan";
rev = "REL${lib.versions.major postgresql.version}_${
tag = "REL${lib.versions.major postgresql.version}_${
builtins.replaceStrings [ "." ] [ "_" ] source.version
}";
inherit (source) hash;
@ -57,11 +53,11 @@ buildPostgresqlExtension {
enableUpdateScript = false;
meta = with lib; {
meta = {
description = "Extension to tweak PostgreSQL execution plans using so-called 'hints' in SQL comments";
homepage = "https://github.com/ossc-db/pg_hint_plan";
maintainers = with maintainers; [ _1000101 ];
maintainers = with lib.maintainers; [ _1000101 ];
platforms = postgresql.meta.platforms;
license = licenses.bsd3;
license = lib.licenses.bsd3;
};
}

View file

@ -1,28 +1,28 @@
{
lib,
stdenv,
fetchFromGitHub,
lib,
postgresql,
buildPostgresqlExtension,
postgresqlBuildExtension,
stdenv,
}:
buildPostgresqlExtension rec {
postgresqlBuildExtension rec {
pname = "pg_hll";
version = "2.18";
src = fetchFromGitHub {
owner = "citusdata";
repo = "postgresql-hll";
rev = "refs/tags/v${version}";
tag = "v${version}";
hash = "sha256-Latdxph1Ura8yKEokEjalJ+/GY+pAKOT3GXjuLprj6c=";
};
meta = with lib; {
meta = {
description = "HyperLogLog for PostgreSQL";
homepage = "https://github.com/citusdata/postgresql-hll";
changelog = "https://github.com/citusdata/postgresql-hll/blob/v${version}/CHANGELOG.md";
maintainers = with maintainers; [ thoughtpolice ];
maintainers = with lib.maintainers; [ thoughtpolice ];
platforms = postgresql.meta.platforms;
license = licenses.asl20;
license = lib.licenses.asl20;
};
}

View file

@ -1,29 +1,29 @@
{
lib,
stdenv,
fetchFromGitHub,
lib,
postgresql,
buildPostgresqlExtension,
postgresqlBuildExtension,
stdenv,
}:
buildPostgresqlExtension rec {
postgresqlBuildExtension rec {
pname = "pg_ivm";
version = "1.9";
src = fetchFromGitHub {
owner = "sraoss";
repo = pname;
rev = "v${version}";
repo = "pg_ivm";
tag = "v${version}";
hash = "sha256-Qcie7sbXcMbQkMoFIYBfttmvlYooESdSk2DyebHKPlk=";
};
meta = with lib; {
meta = {
description = "Materialized views with IVM (Incremental View Maintenance) for PostgreSQL";
homepage = "https://github.com/sraoss/pg_ivm";
changelog = "https://github.com/sraoss/pg_ivm/releases/tag/v${version}";
maintainers = with maintainers; [ ivan ];
maintainers = with lib.maintainers; [ ivan ];
platforms = postgresql.meta.platforms;
license = licenses.postgresql;
broken = versionOlder postgresql.version "13";
license = lib.licenses.postgresql;
broken = lib.versionOlder postgresql.version "13";
};
}

View file

@ -1,22 +1,22 @@
{
lib,
stdenv,
fetchFromGitHub,
gitUpdater,
lib,
libversion,
pkg-config,
postgresql,
libversion,
buildPostgresqlExtension,
postgresqlBuildExtension,
stdenv,
}:
buildPostgresqlExtension (finalAttrs: {
postgresqlBuildExtension (finalAttrs: {
pname = "pg_libversion";
version = "2.0.1";
src = fetchFromGitHub {
owner = "repology";
repo = "postgresql-libversion";
rev = finalAttrs.version;
tag = finalAttrs.version;
hash = "sha256-3nqXaBwPRUSo6wUY5YMjJ/nFFKmhgP1zFKapD+RqSDw=";
};
@ -30,11 +30,11 @@ buildPostgresqlExtension (finalAttrs: {
passthru.updateScript = gitUpdater { };
meta = with lib; {
meta = {
description = "PostgreSQL extension with support for version string comparison";
homepage = "https://github.com/repology/postgresql-libversion";
license = licenses.mit;
maintainers = [ maintainers.jopejoe1 ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ jopejoe1 ];
platforms = postgresql.meta.platforms;
};
})

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