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

Merge remote-tracking branch 'origin/staging-next' into staging

This commit is contained in:
K900 2025-01-02 19:21:56 +03:00
commit 936f4e016d
72 changed files with 1220 additions and 391 deletions

View file

@ -19,6 +19,8 @@ name: Codeowners v2
#
# This split is done because checking code owners requires handling untrusted PR input,
# while requesting code owners requires PR write access, and those shouldn't be mixed.
#
# Note that the latter is also used for ./eval.yml requesting reviewers.
on:
pull_request_target:

View file

@ -133,6 +133,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ needs.get-merge-commit.outputs.mergedSha }}
fetch-depth: 2
path: nixpkgs
- name: Install Nix
@ -194,12 +195,18 @@ jobs:
- name: Compare against the base branch
if: steps.baseRunId.outputs.baseRunId
run: |
nix-build nixpkgs/ci -A eval.compare \
git -C nixpkgs worktree add ../base ${{ needs.attrs.outputs.baseSha }}
git -C nixpkgs diff --name-only ${{ needs.attrs.outputs.baseSha }} ${{ needs.attrs.outputs.mergedSha }} \
| jq --raw-input --slurp 'split("\n")[:-1]' > touched-files.json
# Use the base branch to get accurate maintainer info
nix-build base/ci -A eval.compare \
--arg beforeResultDir ./baseResult \
--arg afterResultDir ./prResult \
--arg touchedFilesJson ./touched-files.json \
-o comparison
cat comparison/step-summary.md >> "$GITHUB_STEP_SUMMARY"
# TODO: Request reviews from maintainers for packages whose files are modified in the PR
- name: Upload the combined results
if: steps.baseRunId.outputs.baseRunId
@ -218,6 +225,14 @@ jobs:
pull-requests: write
statuses: write
steps:
# See ./codeowners-v2.yml, reuse the same App because we need the same permissions
# Can't use the token received from permissions above, because it can't get enough permissions
- uses: actions/create-github-app-token@5d869da34e18e7287c1daad50e0b8ea0f506ce69 # v1.11.0
id: app-token
with:
app-id: ${{ vars.OWNER_APP_ID }}
private-key: ${{ secrets.OWNER_APP_PRIVATE_KEY }}
- name: Download process result
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
@ -252,6 +267,20 @@ jobs:
/repos/"$REPOSITORY"/issues/"$NUMBER"/labels \
-f "labels[]=$toAdd"
done < <(comm -13 before after)
# maintainers.json contains GitHub IDs. Look up handles to request reviews from.
# There appears to be no API to request reviews based on GitHub IDs
jq -r 'keys[]' comparison/maintainers.json \
| while read -r id; do gh api /user/"$id"; done \
| jq -s '{ reviewers: map(.login) }' \
> reviewers.json
# Request reviewers from maintainers of changed output paths
GH_TOKEN=${{ steps.app-token.outputs.token }} gh api \
--method POST \
/repos/${{ github.repository }}/pulls/${{ github.event.number }}/requested_reviewers \
--input reviewers.json
env:
GH_TOKEN: ${{ github.token }}
REPOSITORY: ${{ github.repository }}

View file

@ -5,7 +5,11 @@
writeText,
...
}:
{ beforeResultDir, afterResultDir }:
{
beforeResultDir,
afterResultDir,
touchedFilesJson,
}:
let
/*
Derivation that computes which packages are affected (added, changed or removed) between two revisions of nixpkgs.
@ -77,11 +81,11 @@ let
# - values: lists of `packagePlatformPath`s
diffAttrs = diff beforeAttrs afterAttrs;
rebuilds = uniqueStrings (diffAttrs.added ++ diffAttrs.changed);
rebuildsPackagePlatformAttrs = convertToPackagePlatformAttrs rebuilds;
changed-paths =
let
rebuilds = uniqueStrings (diffAttrs.added ++ diffAttrs.changed);
rebuildsPackagePlatformAttrs = convertToPackagePlatformAttrs rebuilds;
rebuildsByPlatform = groupByPlatform rebuildsPackagePlatformAttrs;
rebuildsByKernel = groupByKernel rebuildsPackagePlatformAttrs;
rebuildCountByKernel = lib.mapAttrs (
@ -104,10 +108,17 @@ let
);
}
);
maintainers = import ./maintainers.nix {
changedattrs = lib.unique (map (a: a.packagePath) rebuildsPackagePlatformAttrs);
changedpathsjson = touchedFilesJson;
};
in
runCommand "compare"
{
nativeBuildInputs = [ jq ];
maintainers = builtins.toJSON maintainers;
passAsFile = [ "maintainers" ];
}
''
mkdir $out
@ -115,5 +126,8 @@ runCommand "compare"
cp ${changed-paths} $out/changed-paths.json
jq -r -f ${./generate-step-summary.jq} < ${changed-paths} > $out/step-summary.md
cp "$maintainersPath" "$out/maintainers.json"
# TODO: Compare eval stats
''

View file

@ -0,0 +1,123 @@
# Almost directly vendored from https://github.com/NixOS/ofborg/blob/5a4e743f192fb151915fcbe8789922fa401ecf48/ofborg/src/maintainers.nix
{ changedattrs, changedpathsjson }:
let
pkgs = import ../../.. {
system = "x86_64-linux";
config = { };
overlays = [ ];
};
inherit (pkgs) lib;
changedpaths = builtins.fromJSON (builtins.readFile changedpathsjson);
anyMatchingFile =
filename:
let
matching = builtins.filter (changed: lib.strings.hasSuffix changed filename) changedpaths;
in
(builtins.length matching) > 0;
anyMatchingFiles = files: (builtins.length (builtins.filter anyMatchingFile files)) > 0;
enrichedAttrs = builtins.map (path: {
path = path;
name = builtins.concatStringsSep "." path;
}) changedattrs;
validPackageAttributes = builtins.filter (
pkg:
if (lib.attrsets.hasAttrByPath pkg.path pkgs) then
(
if (builtins.tryEval (lib.attrsets.attrByPath pkg.path null pkgs)).success then
true
else
builtins.trace "Failed to access ${pkg.name} even though it exists" false
)
else
builtins.trace "Failed to locate ${pkg.name}." false
) enrichedAttrs;
attrsWithPackages = builtins.map (
pkg: pkg // { package = lib.attrsets.attrByPath pkg.path null pkgs; }
) validPackageAttributes;
attrsWithMaintainers = builtins.map (
pkg: pkg // { maintainers = (pkg.package.meta or { }).maintainers or [ ]; }
) attrsWithPackages;
attrsWeCanPing = builtins.filter (
pkg:
if (builtins.length pkg.maintainers) > 0 then
true
else
builtins.trace "Package has no maintainers: ${pkg.name}" false
) attrsWithMaintainers;
relevantFilenames =
drv:
(lib.lists.unique (
builtins.map (pos: lib.strings.removePrefix (toString ../..) pos.file) (
builtins.filter (x: x != null) [
(builtins.unsafeGetAttrPos "maintainers" (drv.meta or { }))
(builtins.unsafeGetAttrPos "src" drv)
# broken because name is always set by stdenv:
# # A hack to make `nix-env -qa` and `nix search` ignore broken packages.
# # TODO(@oxij): remove this assert when something like NixOS/nix#1771 gets merged into nix.
# name = assert validity.handled; name + lib.optionalString
#(builtins.unsafeGetAttrPos "name" drv)
(builtins.unsafeGetAttrPos "pname" drv)
(builtins.unsafeGetAttrPos "version" drv)
# Use ".meta.position" for cases when most of the package is
# defined in a "common" section and the only place where
# reference to the file with a derivation the "pos"
# attribute.
#
# ".meta.position" has the following form:
# "pkgs/tools/package-management/nix/default.nix:155"
# We transform it to the following:
# { file = "pkgs/tools/package-management/nix/default.nix"; }
{ file = lib.head (lib.splitString ":" (drv.meta.position or "")); }
]
)
));
attrsWithFilenames = builtins.map (
pkg: pkg // { filenames = relevantFilenames pkg.package; }
) attrsWithMaintainers;
attrsWithModifiedFiles = builtins.filter (pkg: anyMatchingFiles pkg.filenames) attrsWithFilenames;
listToPing = lib.lists.flatten (
builtins.map (
pkg:
builtins.map (maintainer: {
id = maintainer.githubId;
packageName = pkg.name;
dueToFiles = pkg.filenames;
}) pkg.maintainers
) attrsWithModifiedFiles
);
byMaintainer = lib.lists.foldr (
ping: collector:
collector
// {
"${toString ping.id}" = [
{ inherit (ping) packageName dueToFiles; }
] ++ (collector."${toString ping.id}" or [ ]);
}
) { } listToPing;
textForPackages =
packages: lib.strings.concatStringsSep ", " (builtins.map (pkg: pkg.packageName) packages);
textPerMaintainer = lib.attrsets.mapAttrs (
maintainer: packages: "- @${maintainer} for ${textForPackages packages}"
) byMaintainer;
packagesPerMaintainer = lib.attrsets.mapAttrs (
maintainer: packages: builtins.map (pkg: pkg.packageName) packages
) byMaintainer;
in
packagesPerMaintainer

View file

@ -11,6 +11,7 @@ rec {
into
{
name = "hello";
packagePath = [ "hello" ];
platform = "aarch64-linux";
}
*/
@ -30,6 +31,9 @@ rec {
null
else
{
# [ "python312Packages" "numpy" ]
inherit packagePath;
# python312Packages.numpy
inherit name;
@ -52,12 +56,12 @@ rec {
]
into
[
{ name = "hello"; platform = "aarch64-linux"; }
{ name = "hello"; platform = "x86_64-linux"; }
{ name = "hello"; platform = "aarch64-darwin"; }
{ name = "hello"; platform = "x86_64-darwin"; }
{ name = "bye"; platform = "aarch64-darwin"; }
{ name = "bye"; platform = "x86_64-darwin"; }
{ name = "hello"; platform = "aarch64-linux"; packagePath = [ "hello" ]; }
{ name = "hello"; platform = "x86_64-linux"; packagePath = [ "hello" ]; }
{ name = "hello"; platform = "aarch64-darwin"; packagePath = [ "hello" ]; }
{ name = "hello"; platform = "x86_64-darwin"; packagePath = [ "hello" ]; }
{ name = "bye"; platform = "aarch64-darwin"; packagePath = [ "hello" ]; }
{ name = "bye"; platform = "x86_64-darwin"; packagePath = [ "hello" ]; }
]
*/
convertToPackagePlatformAttrs =
@ -120,12 +124,12 @@ rec {
Turns
[
{ name = "hello"; platform = "aarch64-linux"; }
{ name = "hello"; platform = "x86_64-linux"; }
{ name = "hello"; platform = "aarch64-darwin"; }
{ name = "hello"; platform = "x86_64-darwin"; }
{ name = "bye"; platform = "aarch64-darwin"; }
{ name = "bye"; platform = "x86_64-darwin"; }
{ name = "hello"; platform = "aarch64-linux"; ... }
{ name = "hello"; platform = "x86_64-linux"; ... }
{ name = "hello"; platform = "aarch64-darwin"; ... }
{ name = "hello"; platform = "x86_64-darwin"; ... }
{ name = "bye"; platform = "aarch64-darwin"; ... }
{ name = "bye"; platform = "x86_64-darwin"; ... }
]
into
{
@ -145,12 +149,12 @@ rec {
# Turns
# [
# { name = "hello"; platform = "aarch64-linux"; }
# { name = "hello"; platform = "x86_64-linux"; }
# { name = "hello"; platform = "aarch64-darwin"; }
# { name = "hello"; platform = "x86_64-darwin"; }
# { name = "bye"; platform = "aarch64-darwin"; }
# { name = "bye"; platform = "x86_64-darwin"; }
# { name = "hello"; platform = "aarch64-linux"; ... }
# { name = "hello"; platform = "x86_64-linux"; ... }
# { name = "hello"; platform = "aarch64-darwin"; ... }
# { name = "hello"; platform = "x86_64-darwin"; ... }
# { name = "bye"; platform = "aarch64-darwin"; ... }
# { name = "bye"; platform = "x86_64-darwin"; ... }
# ]
#
# into

View file

@ -15661,6 +15661,12 @@
githubId = 9636071;
name = "Myrl Hex";
};
myypo = {
email = "nikirsmcgl@gmail.com";
github = "myypo";
githubId = 110892040;
name = "Mykyta Polchanov";
};
mzacho = {
email = "nixpkgs@martinzacho.net";
github = "mzacho";

View file

@ -717,17 +717,14 @@ let
# Set up core system link, bootloader (sd-boot, GRUB, uboot, etc.), etc.
# NOTE: systemd-boot-builder.py calls nix-env --list-generations which
# clobbers $HOME/.nix-defexpr/channels/nixos This would cause a folder
# /homeless-shelter to show up in the final image which in turn breaks
# nix builds in the target image if sandboxing is turned off (through
# __noChroot for example).
export HOME=$TMPDIR
NIXOS_INSTALL_BOOTLOADER=1 nixos-enter --root $mountPoint -- /nix/var/nix/profiles/system/bin/switch-to-configuration boot
# The above scripts will generate a random machine-id and we don't want to bake a single ID into all our images
rm -f $mountPoint/etc/machine-id
''}
# NOTE: systemd-boot-builder.py calls nix-env --list-generations which
# clobbers $HOME/.nix-defexpr/channels/nixos This would cause a folder
# /homeless-shelter to show up in the final image which in turn breaks
# nix builds in the target image if sandboxing is turned off (through
# __noChroot for example).
export HOME=$TMPDIR
NIXOS_INSTALL_BOOTLOADER=1 nixos-enter --root $mountPoint -- /nix/var/nix/profiles/system/bin/switch-to-configuration boot
''}
# Set the ownerships of the contents. The modes are set in preVM.
# No globbing on targets, so no need to set -f

View file

@ -80,9 +80,10 @@ in
let
args = lib.map lib.escapeShellArg (
[
"-l"
"--verbose"
"--user"
cfg.username
"-i"
"--identity-file"
cfg.identityFilePath
cfg.host
cfg.remoteFilesystem

View file

@ -159,7 +159,7 @@ def copy_from_file(file: str, dry_run: bool = False) -> str:
def write_entry(profile: str | None, generation: int, specialisation: str | None,
machine_id: str, bootspec: BootSpec, current: bool) -> None:
machine_id: str | None, bootspec: BootSpec, current: bool) -> None:
if specialisation:
bootspec = bootspec.specialisations[specialisation]
kernel = copy_from_file(bootspec.kernel)
@ -281,11 +281,7 @@ def install_bootloader(args: argparse.Namespace) -> None:
except IOError as e:
if e.errno != errno.ENOENT:
raise
# Since systemd version 232 a machine ID is required and it might not
# be there on newly installed systems, so let's generate one so that
# bootctl can find it and we can also pass it to write_entry() later.
cmd = [f"{SYSTEMD}/bin/systemd-machine-id-setup", "--print"]
machine_id = run(cmd, stdout=subprocess.PIPE).stdout.rstrip()
machine_id = None
if os.getenv("NIXOS_INSTALL_GRUB") == "1":
warnings.warn("NIXOS_INSTALL_GRUB env var deprecated, use NIXOS_INSTALL_BOOTLOADER", DeprecationWarning)

View file

@ -144,6 +144,7 @@ in {
audiobookshelf = handleTest ./audiobookshelf.nix {};
auth-mysql = handleTest ./auth-mysql.nix {};
authelia = handleTest ./authelia.nix {};
auto-cpufreq = handleTest ./auto-cpufreq.nix {};
avahi = handleTest ./avahi.nix {};
avahi-with-resolved = handleTest ./avahi.nix { networkd = true; };
ayatana-indicators = runTest ./ayatana-indicators.nix;

View file

@ -0,0 +1,33 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
name = "auto-cpufreq-server";
nodes = {
machine =
{ pkgs, ... }:
{
# service will still start but since vm inside qemu cpufreq adjustments
# cannot be made. This will resource in the following error but the service
# remains up:
# ERROR:
# Couldn't find any of the necessary scaling governors.
services.auto-cpufreq = {
enable = true;
settings = {
charger = {
turbo = "auto";
};
};
};
};
};
testScript = ''
machine.start()
machine.wait_for_unit("auto-cpufreq.service")
machine.succeed("auto-cpufreq --force reset")
'';
}
)

View file

@ -6062,6 +6062,18 @@ final: prev:
meta.homepage = "https://github.com/junegunn/limelight.vim/";
};
linediff-vim = buildVimPlugin {
pname = "linediff.vim";
version = "2024-04-22";
src = fetchFromGitHub {
owner = "AndrewRadev";
repo = "linediff.vim";
rev = "ddae71ef5f94775d101c1c70032ebe8799f32745";
sha256 = "01dshpxm1svfhw9l447mz224qbvlbvywd7ai4wxwyjzgkhp36937";
};
meta.homepage = "https://github.com/AndrewRadev/linediff.vim/";
};
lingua-franca-vim = buildVimPlugin {
pname = "lingua-franca.vim";
version = "2021-09-05";
@ -9389,6 +9401,18 @@ final: prev:
meta.homepage = "https://github.com/LhKipp/nvim-nu/";
};
nvim-numbertoggle = buildVimPlugin {
pname = "nvim-numbertoggle";
version = "2024-03-29";
src = fetchFromGitHub {
owner = "sitiom";
repo = "nvim-numbertoggle";
rev = "c5827153f8a955886f1b38eaea6998c067d2992f";
sha256 = "18nxqi3a3xamrjzpsabww411ix6vr44smprqi9prd47238lpshi2";
};
meta.homepage = "https://github.com/sitiom/nvim-numbertoggle/";
};
nvim-osc52 = buildVimPlugin {
pname = "nvim-osc52";
version = "2024-05-24";

View file

@ -502,6 +502,7 @@ https://github.com/spywhere/lightline-lsp/,,
https://github.com/itchyny/lightline.vim/,,
https://github.com/ggandor/lightspeed.nvim/,,
https://github.com/junegunn/limelight.vim/,,
https://github.com/AndrewRadev/linediff.vim/,HEAD,
https://github.com/lf-lang/lingua-franca.vim/,,
https://github.com/tamago324/lir.nvim/,,
https://github.com/kkharji/lispdocs.nvim/,,
@ -779,6 +780,7 @@ https://github.com/nvim-neotest/nvim-nio/,HEAD,
https://github.com/ya2s/nvim-nonicons/,,
https://github.com/rcarriga/nvim-notify/,,
https://github.com/LhKipp/nvim-nu/,HEAD,
https://github.com/sitiom/nvim-numbertoggle/,HEAD,
https://github.com/ojroques/nvim-osc52/,,
https://github.com/julienvincent/nvim-paredit/,,
https://github.com/gpanders/nvim-parinfer/,HEAD,

View file

@ -1,48 +1,14 @@
{
lib,
stdenv,
vscode-utils,
fetchurl,
}:
let
version = "0.13.4";
sources = {
"x86_64-linux" = {
arch = "linux-x64";
url = "https://download.visualjj.com/visualjj-linux-x64-${version}.vsix";
hash = "sha256-q9ubYkhrV28sB9CV1dyBEIFEkTrkGHRXdz5+4xjeVzI=";
};
"x86_64-darwin" = {
arch = "darwin-x64";
url = "https://download.visualjj.com/visualjj-darwin-x64-${version}.vsix";
hash = "sha256-vV5u1QBICz3GIYRgH9UWM38a8YXtvW0u8r7c1SaKwxM=";
};
"aarch64-linux" = {
arch = "linux-arm64";
url = "https://download.visualjj.com/visualjj-linux-arm64-${version}.vsix";
hash = "sha256-fgT4brIhHI6gNCcsbHpz+v4/diyox2VoFlvCnhPIbPM=";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
url = "https://download.visualjj.com/visualjj-darwin-arm64-${version}.vsix";
hash = "sha256-/uuLRkEY430R5RS7B6972iginpA3pWpApjI6RUTxcHM=";
};
};
in
vscode-utils.buildVscodeMarketplaceExtension {
vsix = fetchurl {
url = sources.${stdenv.hostPlatform.system}.url;
hash = sources.${stdenv.hostPlatform.system}.hash;
name = "visualjj-visualjj-${version}.zip";
};
mktplcRef = {
inherit version;
name = "visualjj";
publisher = "visualjj";
arch = sources.${stdenv.hostPlatform.system}.arch;
version = "0.13.4";
hash = "sha256-/uuLRkEY430R5RS7B6972iginpA3pWpApjI6RUTxcHM=";
};
meta = {

View file

@ -29,13 +29,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dosbox-x";
version = "2024.12.04";
version = "2025.01.01";
src = fetchFromGitHub {
owner = "joncampbell123";
repo = "dosbox-x";
rev = "dosbox-x-v${finalAttrs.version}";
hash = "sha256-wZCLwEInUfzuOCcUsz8W+Gi00lp4Nwc0QZjLF8/e9iM=";
hash = "sha256-3zE/VDCFNQRgqpIL5hRAafDoc7agX2LIsiL4xwDBLJY=";
};
# sips is unavailable in sandbox, replacing with imagemagick breaks build due to wrong Foundation propagation(?) so don't generate resolution variants

View file

@ -16,13 +16,13 @@
mkDerivation rec {
pname = "yacreader";
version = "9.14.2";
version = "9.15.0";
src = fetchFromGitHub {
owner = "YACReader";
repo = pname;
rev = version;
sha256 = "sha256-gQ4Aaapini6j3lCtowFbrfwbe91aFl50hp1EfxTO8uY=";
sha256 = "sha256-5vCjr8WRwa7Q/84Itgg07K1CJKGnWA1z53et2IxxReE=";
};
nativeBuildInputs = [

View file

@ -117,7 +117,7 @@ in
export GIT_SSL_CAINFO=$NIX_SSL_CERT_FILE
${if finalAttrs.proxyVendor then ''
mkdir -p "''${GOPATH}/pkg/mod/cache/download"
mkdir -p "$GOPATH/pkg/mod/cache/download"
go mod download
'' else ''
if (( "''${NIX_DEBUG:-0}" >= 1 )); then
@ -135,8 +135,8 @@ in
runHook preInstall
${if finalAttrs.proxyVendor then ''
rm -rf "''${GOPATH}/pkg/mod/cache/download/sumdb"
cp -r --reflink=auto "''${GOPATH}/pkg/mod/cache/download" $out
rm -rf "$GOPATH/pkg/mod/cache/download/sumdb"
cp -r --reflink=auto "$GOPATH/pkg/mod/cache/download" $out
'' else ''
cp -r --reflink=auto vendor $out
''}

View file

@ -7,6 +7,7 @@
wrapGAppsHook3,
gtk3,
getent,
nixosTests,
}:
python3Packages.buildPythonPackage rec {
pname = "auto-cpufreq";
@ -92,6 +93,10 @@ python3Packages.buildPythonPackage rec {
cp scripts/org.auto-cpufreq.pkexec.policy $out/share/polkit-1/actions
'';
passthru.tests = {
inherit (nixosTests) auto-cpufreq;
};
meta = {
mainProgram = "auto-cpufreq";
homepage = "https://github.com/AdnanHodzic/auto-cpufreq";

View file

@ -44,6 +44,10 @@ stdenv.mkDerivation rec {
url = "mirror://kernel/linux/daemons/autofs/v5/patches-5.2.0/autofs-5.1.9-fix-crash-in-make_options_string.patch";
hash = "sha256-YjTdJ50iNhJ2UjFdrKYEFNt04z0PfmElbFa4GuSskLA=";
})
(fetchpatch {
url = "mirror://kernel/linux/daemons/autofs/v5/patches-5.2.0/autofs-5.1.9-Fix-incompatible-function-pointer-types-in-cyrus-sasl-module.patch";
hash = "sha256-erLlqZtVmYqUOsk3S7S50yA0VB8Gzibsv+X50+gcA58=";
})
];
preConfigure = ''

View file

@ -645,10 +645,10 @@
},
"managednetworkfabric": {
"pname": "managednetworkfabric",
"version": "6.4.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/managednetworkfabric-6.4.0-py3-none-any.whl",
"hash": "sha256-nUEHjgZUqq42pfDyg/Ud6YzENgWCkgU2VCVG7TTKC8Q=",
"description": "Support for managednetworkfabric commands based on 2023-06-15 API version"
"version": "7.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/managednetworkfabric-7.0.0-py3-none-any.whl",
"hash": "sha256-I+K24xxpm8DoyNsvqjv9Yi1ewVZeCDCVIizYUB7TKW8=",
"description": "Support for managednetworkfabric commands based on 2024-02-15-preview API version"
},
"managementpartner": {
"pname": "managementpartner",
@ -729,9 +729,9 @@
},
"networkcloud": {
"pname": "networkcloud",
"version": "2.0.0b6",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/networkcloud-2.0.0b6-py3-none-any.whl",
"hash": "sha256-1T+IepVTU7DLHQ7CfcEltQG+/lryktzUFB7RY9O9hzM=",
"version": "2.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/networkcloud-2.0.0-py3-none-any.whl",
"hash": "sha256-8ntKTSkGJwdhHJCeClEd7A0cUgRed8sV/l7qP5jAQhQ=",
"description": "Support for Azure Operator Nexus network cloud commands based on 2024-07-01 API version"
},
"new-relic": {
@ -841,9 +841,9 @@
},
"qumulo": {
"pname": "qumulo",
"version": "1.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/qumulo-1.0.0-py3-none-any.whl",
"hash": "sha256-mXP1gKP8IMwv5VWKHP3BDd/GVnmC0S83AIu/7Hqvz5s=",
"version": "2.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/qumulo-2.0.0-py3-none-any.whl",
"hash": "sha256-fsUZyd0s+Rv1Sy6Lm2iq2xNMsrv+xU6KLLCOo6DkfmI=",
"description": "Microsoft Azure Command-Line Tools Qumulo Extension"
},
"quota": {
@ -953,9 +953,9 @@
},
"stack-hci-vm": {
"pname": "stack-hci-vm",
"version": "1.4.3",
"url": "https://hciarcvmsstorage.z13.web.core.windows.net/cli-extensions/stack_hci_vm-1.4.3-py3-none-any.whl",
"hash": "sha256-T1ulOOgw3O8ZUUfIunHHObK9SUy7moq1HoMcQLwfMyk=",
"version": "1.5.0",
"url": "https://hciarcvmsstorage.z13.web.core.windows.net/cli-extensions/stack_hci_vm-1.5.0-py3-none-any.whl",
"hash": "sha256-otixJPDbQp0+eugYFcVEzgAjGrFkDCHdqRUwT3WQ+Pg=",
"description": "Microsoft Azure Command-Line Tools Stack-HCi-VM Extension"
},
"standbypool": {

View file

@ -10,13 +10,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "btrfs-list";
version = "2.3";
version = "2.4";
src = fetchFromGitHub {
owner = "speed47";
repo = "btrfs-list";
rev = "v${finalAttrs.version}";
hash = "sha256-cWzDRop0cyrjVIJzuZxTqELgec66GiPAUJY1xIBr3OY=";
hash = "sha256-K6/xFR4Qmr6ynH5rZfOTN8nkl99iqcJPmKPwtp9FYyc=";
};
buildInputs = [ perl ];

View file

@ -1,33 +1,50 @@
{ lib, stdenv, fetchurl, zlib, bzip2, openssl, fetchpatch }:
{
bzip2,
fetchFromGitHub,
lib,
openssl,
stdenv,
unstableGitUpdater,
zlib,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "dmg2img";
version = "1.6.7";
version = "1.6.7-unstable-2020-12-27";
src = fetchurl {
url = "http://vu1tur.eu.org/tools/dmg2img-${version}.tar.gz";
sha256 = "066hqhg7k90xcw5aq86pgr4l7apzvnb4559vj5s010avbk8adbh2";
src = fetchFromGitHub {
owner = "Lekensteyn";
repo = "dmg2img";
rev = "a3e413489ccdd05431401357bf21690536425012";
hash = "sha256-DewU5jz2lRjIRiT0ebjPRArsoye33xlEGfhzd4xnT4A=";
};
buildInputs = [ zlib bzip2 openssl ];
patches = [
(fetchpatch {
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/85fa66a9/dmg2img/openssl-1.1.diff";
sha256 = "076sz69hf3ryylplg025vl8sj991cb81g3yazsmrf8anrd7ffmxx";
})
buildInputs = [
bzip2
openssl
zlib
];
patchFlags = [ "-p0" ];
installPhase = ''
install -D dmg2img $out/bin/dmg2img
install -D vfdecrypt $out/bin/vfdecrypt
preBuild = ''
sed -i "s/1.6.5/${finalAttrs.version}/" dmg2img.c
'';
installPhase = ''
runHook preInstall
install -Dm755 dmg2img vfdecrypt -t $out/bin
runHook postInstall
'';
passthru.updateScript = unstableGitUpdater { };
meta = {
description = "Tool which allows converting Apple compressed dmg archives to standard (hfsplus) image disk files";
homepage = "https://github.com/Lekensteyn/dmg2img";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.unix;
description = "Apple's compressed dmg to standard (hfsplus) image disk file convert tool";
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [ KSJ2000 ];
mainProgram = "dmg2img";
};
}
})

View file

@ -0,0 +1,44 @@
{ lib, fetchurl }:
let
mkDprintPlugin =
{
url,
hash,
pname,
version,
description,
initConfig,
updateUrl,
license ? lib.licenses.mit,
maintainers ? [ lib.maintainers.phanirithvij ],
}:
fetchurl {
inherit hash url;
name = "${pname}-${version}.wasm";
meta = {
inherit
description
license
maintainers
;
};
passthru = {
updateScript = ./update-plugins.py;
inherit initConfig updateUrl;
};
};
inherit (lib)
filterAttrs
mapAttrs'
nameValuePair
removeSuffix
;
files = filterAttrs (
name: type: type == "regular" && name != "default.nix" && lib.hasSuffix ".nix" name
) (builtins.readDir ./.);
plugins = mapAttrs' (
name: _:
nameValuePair (removeSuffix ".nix" name) (import (./. + "/${name}") { inherit mkDprintPlugin; })
) files;
in
plugins // { inherit mkDprintPlugin; }

View file

@ -0,0 +1,21 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "Biome (JS/TS) wrapper plugin.";
hash = "sha256-+zY+myazFAUxeNuWFigkvF4zpKBs+jzVYQT09jRWFKI=";
initConfig = {
configExcludes = [ "**/node_modules" ];
configKey = "biome";
fileExtensions = [
"ts"
"tsx"
"js"
"jsx"
"cjs"
"mjs"
];
};
pname = "dprint-plugin-biome";
updateUrl = "https://plugins.dprint.dev/dprint/biome/latest.json";
url = "https://plugins.dprint.dev/biome-0.7.1.wasm";
version = "0.7.1";
}

View file

@ -0,0 +1,14 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "Dockerfile code formatter.";
hash = "sha256-gsfMLa4zw8AblOS459ZS9OZrkGCQi5gBN+a3hvOsspk=";
initConfig = {
configExcludes = [ ];
configKey = "dockerfile";
fileExtensions = [ "dockerfile" ];
};
pname = "dprint-plugin-dockerfile";
updateUrl = "https://plugins.dprint.dev/dprint/dockerfile/latest.json";
url = "https://plugins.dprint.dev/dockerfile-0.3.2.wasm";
version = "0.3.2";
}

View file

@ -0,0 +1,14 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "JSON/JSONC code formatter.";
hash = "sha256-Sw+HkUb4K2wrLuQRZibr8gOCR3Rz36IeId4Vd4LijmY=";
initConfig = {
configExcludes = [ "**/*-lock.json" ];
configKey = "json";
fileExtensions = [ "json" ];
};
pname = "dprint-plugin-json";
updateUrl = "https://plugins.dprint.dev/dprint/json/latest.json";
url = "https://plugins.dprint.dev/json-0.19.4.wasm";
version = "0.19.4";
}

View file

@ -0,0 +1,14 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "Jupyter notebook code block formatter.";
hash = "sha256-877CEZbMlj9cHkFtl16XCnan37SeEGUL3BHaUKUv8S4=";
initConfig = {
configExcludes = [ ];
configKey = "jupyter";
fileExtensions = [ "ipynb" ];
};
pname = "dprint-plugin-jupyter";
updateUrl = "https://plugins.dprint.dev/dprint/jupyter/latest.json";
url = "https://plugins.dprint.dev/jupyter-0.1.5.wasm";
version = "0.1.5";
}

View file

@ -0,0 +1,14 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "Markdown code formatter.";
hash = "sha256-PIEN9UnYC8doJpdzS7M6QEHQNQtj7WwXAgvewPsTjqs=";
initConfig = {
configExcludes = [ ];
configKey = "markdown";
fileExtensions = [ "md" ];
};
pname = "dprint-plugin-markdown";
updateUrl = "https://plugins.dprint.dev/dprint/markdown/latest.json";
url = "https://plugins.dprint.dev/markdown-0.17.8.wasm";
version = "0.17.8";
}

View file

@ -0,0 +1,17 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "Ruff (Python) wrapper plugin.";
hash = "sha256-15InHQgF9c0Js4yUJxmZ1oNj1O16FBU12u/GOoaSAJ8=";
initConfig = {
configExcludes = [ ];
configKey = "ruff";
fileExtensions = [
"py"
"pyi"
];
};
pname = "dprint-plugin-ruff";
updateUrl = "https://plugins.dprint.dev/dprint/ruff/latest.json";
url = "https://plugins.dprint.dev/ruff-0.3.9.wasm";
version = "0.3.9";
}

View file

@ -0,0 +1,14 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "TOML code formatter.";
hash = "sha256-aDfo/sKfOeNpyfd/4N1LgL1bObTTnviYrA8T7M/1KNs=";
initConfig = {
configExcludes = [ ];
configKey = "toml";
fileExtensions = [ "toml" ];
};
pname = "dprint-plugin-toml";
updateUrl = "https://plugins.dprint.dev/dprint/toml/latest.json";
url = "https://plugins.dprint.dev/toml-0.6.3.wasm";
version = "0.6.3";
}

View file

@ -0,0 +1,21 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "TypeScript/JavaScript code formatter.";
hash = "sha256-urgKQOjgkoDJCH/K7DWLJCkD0iH0Ok+rvrNDI0i4uS0=";
initConfig = {
configExcludes = [ "**/node_modules" ];
configKey = "typescript";
fileExtensions = [
"ts"
"tsx"
"js"
"jsx"
"cjs"
"mjs"
];
};
pname = "dprint-plugin-typescript";
updateUrl = "https://plugins.dprint.dev/dprint/typescript/latest.json";
url = "https://plugins.dprint.dev/typescript-0.93.3.wasm";
version = "0.93.3";
}

View file

@ -0,0 +1,19 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "CSS, SCSS, Sass and Less formatter.";
hash = "sha256-zt7F1tgPhPAn+gtps6+JB5RtvjIZw2n/G85Bv6kazgU=";
initConfig = {
configExcludes = [ "**/node_modules" ];
configKey = "malva";
fileExtensions = [
"css"
"scss"
"sass"
"less"
];
};
pname = "g-plane-malva";
updateUrl = "https://plugins.dprint.dev/g-plane/malva/latest.json";
url = "https://plugins.dprint.dev/g-plane/malva-v0.11.1.wasm";
version = "0.11.1";
}

View file

@ -0,0 +1,24 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "HTML, Vue, Svelte, Astro, Angular, Jinja, Twig, Nunjucks, and Vento formatter.";
hash = "sha256-G8UnJbc+oZ60V3oi8W2SS6H06zEYfY3wpmSUp+1GF8k=";
initConfig = {
configExcludes = [ ];
configKey = "markup";
fileExtensions = [
"html"
"vue"
"svelte"
"astro"
"jinja"
"jinja2"
"twig"
"njk"
"vto"
];
};
pname = "g-plane-markup_fmt";
updateUrl = "https://plugins.dprint.dev/g-plane/markup_fmt/latest.json";
url = "https://plugins.dprint.dev/g-plane/markup_fmt-v0.18.0.wasm";
version = "0.18.0";
}

View file

@ -0,0 +1,17 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "GraphQL formatter.";
hash = "sha256-PlQwpR0tMsghMrOX7is+anN57t9xa9weNtoWpc0E9ec=";
initConfig = {
configExcludes = [ ];
configKey = "graphql";
fileExtensions = [
"graphql"
"gql"
];
};
pname = "g-plane-pretty_graphql";
updateUrl = "https://plugins.dprint.dev/g-plane/pretty_graphql/latest.json";
url = "https://plugins.dprint.dev/g-plane/pretty_graphql-v0.2.1.wasm";
version = "0.2.1";
}

View file

@ -0,0 +1,17 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "YAML formatter.";
hash = "sha256-6ua021G7ZW7Ciwy/OHXTA1Joj9PGEx3SZGtvaA//gzo=";
initConfig = {
configExcludes = [ ];
configKey = "yaml";
fileExtensions = [
"yaml"
"yml"
];
};
pname = "g-plane-pretty_yaml";
updateUrl = "https://plugins.dprint.dev/g-plane/pretty_yaml/latest.json";
url = "https://plugins.dprint.dev/g-plane/pretty_yaml-v0.5.0.wasm";
version = "0.5.0";
}

View file

@ -0,0 +1,156 @@
#!/usr/bin/env nix-shell
#!nix-shell -i python -p nix nixfmt-rfc-style 'python3.withPackages (pp: [ pp.requests ])'
import json
import os
from pathlib import Path
import sys
import subprocess
import requests
USAGE = """Usage: {0} [ | plugin-name | plugin-file-path]
eg.
{0}
{0} dprint-plugin-json
{0} /path/to/dprint-plugin-json.nix"""
FILE_PATH = Path(os.path.realpath(__file__))
SCRIPT_DIR = FILE_PATH.parent
pname = ""
if len(sys.argv) > 1:
if "-help" in "".join(sys.argv):
print(USAGE.format(FILE_PATH.name))
exit(0)
pname = sys.argv[1]
else:
pname = os.environ.get("UPDATE_NIX_PNAME", "")
# get sri hash for a url, no unpack
def nix_prefetch_url(url, name, algo="sha256"):
hash = (
subprocess.check_output(
["nix-prefetch-url", "--type", algo, "--name", name, url]
)
.decode("utf-8")
.rstrip()
)
sri = (
subprocess.check_output(
# split by space is enough for this command
"nix --extra-experimental-features nix-command "
f"hash convert --hash-algo {algo} --to sri {hash}".split(" ")
)
.decode("utf-8")
.rstrip()
)
return sri
# json object to nix string
def json_to_nix(jsondata):
# to quote strings, dumps twice does it
json_str = json.dumps(json.dumps(jsondata))
return (
subprocess.check_output(
"nix --extra-experimental-features nix-command eval "
f"--expr 'builtins.fromJSON ''{json_str}''' --impure | nixfmt",
shell=True,
)
.decode("utf-8")
.rstrip()
)
# nix string to json object
def nix_to_json(nixstr):
return json.loads(
subprocess.check_output(
f"nix --extra-experimental-features nix-command eval --json --expr '{nixstr}'",
shell=True,
)
.decode("utf-8")
.rstrip()
)
# nixfmt a file
def nixfmt(nixfile):
subprocess.run(["nixfmt", nixfile])
def get_update_url(plugin_url):
"""Get a single plugin's update url given the plugin's url"""
# remove -version.wasm at the end
url = "-".join(plugin_url.split("-")[:-1])
names = url.split("/")[3:]
# if single name then -> dprint/<name>
if len(names) == 1:
names.insert(0, "dprint")
return "https://plugins.dprint.dev/" + "/".join(names) + "/latest.json"
def write_plugin_derivation(drv_attrs):
drv = f"{{ mkDprintPlugin }}: mkDprintPlugin {json_to_nix(drv_attrs)}"
filepath = SCRIPT_DIR / f"{drv_attrs["pname"]}.nix"
with open(filepath, "w+", encoding="utf8") as f:
f.write(drv)
nixfmt(filepath)
def update_plugin_by_name(name):
"""Update a single plugin by name"""
# allow passing in filename as well as pname
if name.endswith(".nix"):
name = Path(name[:-4]).name
try:
p = (SCRIPT_DIR / f"{name}.nix").read_text().replace("\n", "")
except OSError as e:
print(f"failed to update plugin {name}: error: {e}")
exit(1)
start_idx = p.find("mkDprintPlugin {") + len("mkDprintPlugin {")
p = nix_to_json("{" + p[start_idx:].strip())
data = requests.get(p["updateUrl"]).json()
p["url"] = data["url"]
p["version"] = data["version"]
p["hash"] = nix_prefetch_url(data["url"], f"{name}-{data["version"]}.wasm")
write_plugin_derivation(p)
def update_plugins():
"""Update all the plugins"""
data = requests.get("https://plugins.dprint.dev/info.json").json()["latest"]
for e in data:
update_url = get_update_url(e["url"])
pname = e["name"]
if "/" in e["name"]:
pname = pname.replace("/", "-")
drv_attrs = {
"url": e["url"],
"hash": nix_prefetch_url(e["url"], f"{pname}-{e["version"]}.wasm"),
"updateUrl": update_url,
"pname": pname,
"version": e["version"],
"description": e["description"],
"initConfig": {
"configKey": e["configKey"],
"configExcludes": e["configExcludes"],
"fileExtensions": e["fileExtensions"],
},
}
write_plugin_derivation(drv_attrs)
if pname != "":
update_plugin_by_name(pname)
else:
update_plugins()

View file

@ -15,16 +15,16 @@
rustPlatform.buildRustPackage rec {
pname = "eza";
version = "0.20.14";
version = "0.20.15";
src = fetchFromGitHub {
owner = "eza-community";
repo = "eza";
rev = "v${version}";
hash = "sha256-5sZlpJ7xzQsjvECN4pjPndM39qonbgNy4zew6AE06D0=";
hash = "sha256-r68zuMCFIccA0cRLC2RNYCWoFh7tYiGu97Kid4hh0Uw=";
};
cargoHash = "sha256-A8vE2Q/HEMgX6HC+nwR63Kr84gy2iZ5BzYDzaZz/h9Q=";
cargoHash = "sha256-hBsb62fcIrSR2w9O5+UaMUadyUUtu2PLODRg70wG/Xc=";
nativeBuildInputs = [
cmake

View file

@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "fluent-bit";
version = "3.2.3";
version = "3.2.4";
src = fetchFromGitHub {
owner = "fluent";
repo = "fluent-bit";
rev = "v${finalAttrs.version}";
hash = "sha256-5Oyw3nHlAyywF+G0UiGyi1v+jAr8eyKt/1cDT5FdJXQ=";
hash = "sha256-oTCGjDmGVovsfj+4fjIKy/xpiuYc0Q44LYwYPI4dSF8=";
};
# optional only to avoid linux rebuild

View file

@ -19,6 +19,14 @@ stdenv.mkDerivation rec {
patches =
[
./gfan-0.6.2-cddlib-prefix.patch
(fetchpatch {
# removes dead code with invalid member reference in gfanlib
name = "clang-19.patch";
url = "https://github.com/Singular/Singular/commit/d3f73432d73ac0dd041af83cb35301498e9b57d9.patch";
stripLen = 2;
extraPrefix = "src/";
hash = "sha256-jPGMYx/GOFV7Tk3CqaRWeX/UHkzjeL57eZj4r40s8/g=";
})
]
++ lib.optionals (stdenv.cc.isClang) [
(fetchpatch {

View file

@ -56,8 +56,8 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
sed -i '/examples/d' CMakeLists.txt
substituteInPlace libhs.pc.in \
--replace "libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@" "libdir=@CMAKE_INSTALL_LIBDIR@" \
--replace "includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@" "includedir=@CMAKE_INSTALL_INCLUDEDIR@"
--replace-fail "libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@" "libdir=@CMAKE_INSTALL_LIBDIR@" \
--replace-fail "includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@" "includedir=@CMAKE_INSTALL_INCLUDEDIR@"
'';
doCheck = true;

View file

@ -1,37 +1,44 @@
{ lib
, buildPackages
, fetchFromGitHub
, buildNpmPackage
, fetchFromGitea
, nix-update-script
{
lib,
buildPackages,
fetchFromGitHub,
buildNpmPackage,
fetchFromGitea,
nix-update-script,
}:
let
esbuild' = buildPackages.esbuild.override {
buildGoModule = args: buildPackages.buildGoModule (args // rec {
version = "0.19.11";
src = fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
rev = "v${version}";
hash = "sha256-NUwjzOpHA0Ijuh0E69KXx8YVS5GTnKmob9HepqugbIU=";
};
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
});
buildGoModule =
args:
buildPackages.buildGoModule (
args
// rec {
version = "0.21.5";
src = fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
rev = "v${version}";
hash = "sha256-FpvXWIlt67G8w3pBKZo/mcp57LunxDmRUaCU/Ne89B8=";
};
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
}
);
};
in buildNpmPackage rec {
in
buildNpmPackage rec {
pname = "kaufkauflist";
version = "4.0.0";
version = "4.0.2";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "annaaurora";
repo = "kaufkauflist";
rev = "v${version}";
hash = "sha256-x30K2dYxawfebdq//9OmCCG48w0V04tDTXpvRW7lfJI=";
hash = "sha256-tvkicYFQewQdcz3e+ETLiCK/c3eNPlxxZNzt+OpIbN0=";
};
npmDepsHash = "sha256-E3AXFwiRvrE2Swt7BfSfAoU5mQplSaSJ4q56pVfoEkQ=";
npmDepsHash = "sha256-HDv6sW6FmKZpUjymrUjz/WG9XrKgLmM6qHMAxP6gBtU=";
ESBUILD_BINARY_PATH = lib.getExe esbuild';

View file

@ -0,0 +1,47 @@
{
buildGoModule,
dbmate,
fetchFromGitHub,
lib,
}:
let
finalAttrs = {
pname = "ncps";
version = "v0.1.1";
src = fetchFromGitHub {
owner = "kalbasit";
repo = "ncps";
rev = finalAttrs.version;
hash = "sha256-Vr/thppCABdZDl1LEc7l7c7Ih55U/EFwJInWSUWoLJA";
};
ldflags = [
"-X github.com/kalbasit/ncps/cmd.Version=${finalAttrs.version}"
];
subPackages = [ "." ];
vendorHash = "sha256-xPrWofNyDFrUPQ42AYDs2x2gGoQ2w3tRrMIsu3SVyHA=";
doCheck = true;
nativeBuildInputs = [
dbmate # used for testing
];
postInstall = ''
mkdir -p $out/share/ncps
cp -r db $out/share/ncps/db
'';
meta = {
description = "Nix binary cache proxy service";
homepage = "https://github.com/kalbasit/ncps";
license = lib.licenses.mit;
mainProgram = "ncps";
maintainers = [ lib.maintainers.kalbasit ];
};
};
in
buildGoModule finalAttrs

View file

@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication {
pname = "renode-dts2repl";
version = "0-unstable-2024-12-20";
version = "0-unstable-2024-12-28";
pyproject = true;
src = fetchFromGitHub {
owner = "antmicro";
repo = "dts2repl";
rev = "323cc41b6864e53cb1b99bf909c779b739a8fccb";
hash = "sha256-CYgQ5CMVkHqOEPPaG74GVNhm8pa6ZpAtt54JrrDn+2M=";
rev = "f655a1380364fdab9fa0f72909c19ab8ff16dbb6";
hash = "sha256-mErr95/Ew9HwKDJhQy7V86H1MJb5Y7IFzg7Id8Llqy8=";
};
nativeBuildInputs = [

View file

@ -0,0 +1,121 @@
{
lib,
stdenv,
testers,
versionCheckHook,
nix-update-script,
rustPlatform,
fetchFromGitHub,
protobuf,
restate,
pkg-config,
openssl,
perl,
cmake,
cacert,
rdkafka,
}:
rustPlatform.buildRustPackage rec {
pname = "restate";
version = "1.1.6";
src = fetchFromGitHub {
owner = "restatedev";
repo = "restate";
tag = "v${version}";
hash = "sha256-uDNPIL9Ox5rwWVzqWe74elHPGy6lSvWR1S7HsY6ATjc=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-z7VAKU4bi6pX2z4jCKWDfQt8FFLN7ugnW2LOy6IHz/w=";
env = {
PROTOC = lib.getExe protobuf;
PROTOC_INCLUDE = "${protobuf}/include";
VERGEN_GIT_COMMIT_DATE = "2024-12-23";
VERGEN_GIT_SHA = "v${version}";
# rustflags as defined in the upstream's .cargo/config.toml
RUSTFLAGS =
let
target = stdenv.hostPlatform.config;
targetFlags = rec {
build = [
"-C force-unwind-tables"
"-C debug-assertions"
"--cfg uuid_unstable"
"--cfg tokio_unstable"
];
"aarch64-unknown-linux-gnu" = build ++ [
# Enable frame pointers to support Parca (https://github.com/parca-dev/parca-agent/pull/1805)
"-C force-frame-pointers=yes"
];
"x86_64-unknown-linux-musl" = build ++ [
"-C link-self-contained=yes"
];
"aarch64-unknown-linux-musl" = build ++ [
# Enable frame pointers to support Parca (https://github.com/parca-dev/parca-agent/pull/1805)
"-C force-frame-pointers=yes"
"-C link-self-contained=yes"
];
};
in
lib.concatStringsSep " " (lib.attrsets.attrByPath [ target ] targetFlags.build targetFlags);
# Have to be set to dynamically link librdkafka
CARGO_FEATURE_DYNAMIC_LINKING = 1;
};
nativeBuildInputs = [
pkg-config
openssl
perl
rustPlatform.bindgenHook
cmake
];
buildInputs = [ rdkafka ];
nativeCheckInputs = [
cacert
];
useNextest = true;
# Feature resolution seems to be failing due to this https://github.com/rust-lang/cargo/issues/7754
auditable = false;
__darwinAllowLocalNetworking = true;
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = [ "--version" ];
doInstallCheck = true;
passthru = {
tests.restateCliVersion = testers.testVersion {
package = restate;
command = "restate --version";
};
tests.restateServerVersion = testers.testVersion {
package = restate;
command = "restate-server --version";
};
tests.restateCtlVersion = testers.testVersion {
package = restate;
command = "restatectl --version";
};
updateScript = nix-update-script { };
};
meta = {
description = "Restate is a platform for developing distributed fault-tolerant applications.";
homepage = "https://restate.dev";
changelog = "https://github.com/restatedev/restate/releases/tag/v${version}";
mainProgram = "restate";
license = lib.licenses.bsl11;
maintainers = with lib.maintainers; [ myypo ];
};
}

View file

@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "rip2";
version = "0.9.0";
version = "0.9.2";
src = fetchFromGitHub {
owner = "MilesCranmer";
repo = "rip2";
rev = "v${version}";
hash = "sha256-9leLWfPilDQHzQRzTUjAFt9olTPEL4GcQgYFWZu3dug=";
hash = "sha256-OZsiAh0sQygLdVdA1QxCf7FTvP5CrlDNeOQLv2G2X3U=";
};
cargoHash = "sha256-l6rbeiyIsr1csBcp+428TpQYSs9RvfJutGoL/wtSGR8=";
cargoHash = "sha256-9wbHXgjOWyQS8JOMQQTVetMacdjWD9C4NBWxUpcjbdg=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -14,7 +14,7 @@
sqlite,
ragel,
icu,
hyperscan,
vectorscan,
jemalloc,
blas,
lapack,
@ -24,13 +24,10 @@
zstd,
libarchive,
withBlas ? true,
withHyperscan ? stdenv.hostPlatform.isx86_64,
withLuaJIT ? stdenv.hostPlatform.isx86_64,
nixosTests,
}:
assert withHyperscan -> stdenv.hostPlatform.isx86_64;
stdenv.mkDerivation rec {
pname = "rspamd";
version = "3.11.0";
@ -48,7 +45,9 @@ stdenv.mkDerivation rec {
cmake
pkg-config
perl
ragel
];
buildInputs =
[
doctest
@ -64,8 +63,8 @@ stdenv.mkDerivation rec {
xxHash
zstd
libarchive
vectorscan
]
++ lib.optional withHyperscan hyperscan
++ lib.optionals withBlas [
blas
lapack
@ -73,23 +72,21 @@ stdenv.mkDerivation rec {
++ lib.optional withLuaJIT luajit
++ lib.optional (!withLuaJIT) lua;
cmakeFlags =
[
# pcre2 jit seems to cause crashes: https://github.com/NixOS/nixpkgs/pull/181908
"-DENABLE_PCRE2=OFF"
"-DDEBIAN_BUILD=ON"
"-DRUNDIR=/run/rspamd"
"-DDBDIR=/var/lib/rspamd"
"-DLOGDIR=/var/log/rspamd"
"-DLOCAL_CONFDIR=/etc/rspamd"
"-DENABLE_JEMALLOC=ON"
"-DSYSTEM_DOCTEST=ON"
"-DSYSTEM_FMT=ON"
"-DSYSTEM_XXHASH=ON"
"-DSYSTEM_ZSTD=ON"
]
++ lib.optional withHyperscan "-DENABLE_HYPERSCAN=ON"
++ lib.optional (!withLuaJIT) "-DENABLE_LUAJIT=OFF";
cmakeFlags = [
# pcre2 jit seems to cause crashes: https://github.com/NixOS/nixpkgs/pull/181908
"-DENABLE_PCRE2=OFF"
"-DDEBIAN_BUILD=ON"
"-DRUNDIR=/run/rspamd"
"-DDBDIR=/var/lib/rspamd"
"-DLOGDIR=/var/log/rspamd"
"-DLOCAL_CONFDIR=/etc/rspamd"
"-DENABLE_JEMALLOC=ON"
"-DSYSTEM_DOCTEST=ON"
"-DSYSTEM_FMT=ON"
"-DSYSTEM_XXHASH=ON"
"-DSYSTEM_ZSTD=ON"
"-DENABLE_HYPERSCAN=ON"
] ++ lib.optional (!withLuaJIT) "-DENABLE_LUAJIT=OFF";
passthru.tests.rspamd = nixosTests.rspamd;

View file

@ -1,6 +1,7 @@
{
stdenv,
fetchFromGitHub,
fetchpatch,
gmp,
bison,
perl,
@ -48,6 +49,15 @@ stdenv.mkDerivation rec {
forceFetchGit = true;
};
patches = [
(fetchpatch {
# removes dead code with invalid member reference in gfanlib
name = "clang-19.patch";
url = "https://github.com/Singular/Singular/commit/d3f73432d73ac0dd041af83cb35301498e9b57d9.patch";
hash = "sha256-1KOk+yrTvHWY4aSK9QcByHIwKwe71QIYTMx8zo7XNos=";
})
];
configureFlags =
[
"--enable-gfanlib"
@ -173,6 +183,7 @@ stdenv.mkDerivation rec {
'';
enableParallelBuilding = true;
__darwinAllowLocalNetworking = true;
meta = with lib; {
description = "CAS for polynomial computations";

View file

@ -2,10 +2,10 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
pkg-config,
SDL2,
wxGTK32,
darwin,
}:
stdenv.mkDerivation (finalAttrs: {
@ -19,18 +19,32 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-cBrTvFoz6WZIsh5qPPiWxQ338Z0OfcIefiI8CZF6nn8=";
};
patches = [
(fetchpatch {
url = "https://github.com/freebsd/freebsd-ports/raw/31ec0266e31910c16b0f69e16a2a693aae20abdf/math/sound-of-sorting/files/patch-src_SortAlgo.cpp";
extraPrefix = "";
hash = "sha256-mOo3GsEZ8r8p9ROoel2TO9Z4yF5SmCN0/fUn/2qUKAo=";
})
(fetchpatch {
url = "https://github.com/freebsd/freebsd-ports/raw/31ec0266e31910c16b0f69e16a2a693aae20abdf/math/sound-of-sorting/files/patch-src_SortAlgo.h";
extraPrefix = "";
hash = "sha256-NNSPs0gT6ndeMQWHLHAwLR5nMQGP880Qd6kulDYJYF0=";
})
(fetchpatch {
url = "https://github.com/freebsd/freebsd-ports/raw/31ec0266e31910c16b0f69e16a2a693aae20abdf/math/sound-of-sorting/files/patch-src_SortArray.cpp";
extraPrefix = "";
hash = "sha256-WxqwcZ2L9HPG4QNf1Xi624aKTM3cRBWN+W00htcIJ5k=";
})
];
nativeBuildInputs = [
pkg-config
];
buildInputs =
[
wxGTK32
SDL2
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.Cocoa
];
buildInputs = [
wxGTK32
SDL2
];
meta = {
description = "Audibilization and Visualization of Sorting Algorithms";

View file

@ -23,12 +23,12 @@ let
in
stdenv.mkDerivation rec {
pname = "spacevim";
version = "2.3.0";
version = "2.4.0";
src = fetchFromGitHub {
owner = "SpaceVim";
repo = "SpaceVim";
rev = "v${version}";
hash = "sha256-MHsAA0x/rfwRupe8aW1JVKGiYkySAX0AhOkBuScpn7I=";
hash = "sha256-qiNadhQJjU9RY14X8+pd4Ul+NLoNqbxuh3Kenw1dHDc=";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "spectra";
version = "1.0.1";
version = "1.1.0";
src = fetchFromGitHub {
owner = "yixuan";
repo = pname;
rev = "v${version}";
sha256 = "sha256-HaJmMo4jYmO/j53/nHrL3bvdQMAvp4Nuhhe8Yc7pL88=";
sha256 = "sha256-ut6nEOpzIoFy+IUWQy9x2pJ4+sA0d/Dt8WaNq5AFCFg=";
};
nativeBuildInputs = [ cmake ];

View file

@ -28,7 +28,7 @@ let
inherit src;
sourceRoot = "source/ms-tools";
vendorHash = "sha256-imHpsos7RDpATSZFWRxug67F7VgjRTT1SkLt7cWk6tU=";
vendorHash = null; # dependencies are vendored in the release tarball
buildInputs = [
hidapi

View file

@ -1,15 +1,16 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, pkg-config
, ragel
, util-linux
, python3
, boost
, sqlite
, pcre
, enableShared ? !stdenv.hostPlatform.isStatic
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
ragel,
util-linux,
python3,
boost,
sqlite,
pcre,
enableShared ? !stdenv.hostPlatform.isStatic,
}:
stdenv.mkDerivation rec {
@ -23,6 +24,16 @@ stdenv.mkDerivation rec {
hash = "sha256-wz2oIhau/vjnri3LOyPZSCFAWg694FTLVt7+SZYEsL4=";
};
postPatch = ''
sed -i '/examples/d' CMakeLists.txt
substituteInPlace libhs.pc.in \
--replace-fail "libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@" "libdir=@CMAKE_INSTALL_LIBDIR@" \
--replace-fail "includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@" "includedir=@CMAKE_INSTALL_INCLUDEDIR@"
substituteInPlace cmake/build_wrapper.sh \
--replace-fail 'nm' '${stdenv.cc.targetPrefix}nm' \
--replace-fail 'objcopy' '${stdenv.cc.targetPrefix}objcopy'
'';
nativeBuildInputs = [
cmake
pkg-config
@ -45,18 +56,35 @@ stdenv.mkDerivation rec {
#
# For generic builds (e.g. x86_64) this can mean using an implementation not optimized for the
# potentially available more modern hardware extensions (e.g. x86_64 with AVX512).
cmakeFlags = [ (if enableShared then "-DBUILD_SHARED_LIBS=ON" else "BUILD_STATIC_LIBS=ON") ]
++
(if lib.elem stdenv.hostPlatform.system [ "x86_64-linux" "i686-linux" ] then
[ "-DBUILD_AVX2=ON" "-DBUILD_AVX512=ON" "-DBUILD_AVX512VBMI=ON" "-DFAT_RUNTIME=ON" ]
else
(if (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) then
[ "-DBUILD_SVE=ON" "-DBUILD_SVE2=ON" "-DBUILD_SVE2_BITPERM=ON" "-DFAT_RUNTIME=ON" ]
cmakeFlags =
[ (if enableShared then "-DBUILD_SHARED_LIBS=ON" else "BUILD_STATIC_LIBS=ON") ]
++ (
if
lib.elem stdenv.hostPlatform.system [
"x86_64-linux"
"i686-linux"
]
then
[
"-DBUILD_AVX2=ON"
"-DBUILD_AVX512=ON"
"-DBUILD_AVX512VBMI=ON"
"-DFAT_RUNTIME=ON"
]
else
[ "-DFAT_RUNTIME=OFF" ]
++ lib.optional stdenv.hostPlatform.avx2Support "-DBUILD_AVX2=ON"
++ lib.optional stdenv.hostPlatform.avx512Support "-DBUILD_AVX512=ON"
)
(
if (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) then
[
"-DBUILD_SVE=ON"
"-DBUILD_SVE2=ON"
"-DBUILD_SVE2_BITPERM=ON"
"-DFAT_RUNTIME=ON"
]
else
[ "-DFAT_RUNTIME=OFF" ]
++ lib.optional stdenv.hostPlatform.avx2Support "-DBUILD_AVX2=ON"
++ lib.optional stdenv.hostPlatform.avx512Support "-DBUILD_AVX512=ON"
)
);
doCheck = true;
@ -85,7 +113,14 @@ stdenv.mkDerivation rec {
homepage = "https://www.vectorcamp.gr/vectorscan/";
changelog = "https://github.com/VectorCamp/vectorscan/blob/${src.rev}/CHANGELOG-vectorscan.md";
platforms = platforms.unix;
license = with licenses; [ bsd3 /* and */ bsd2 /* and */ licenses.boost ];
maintainers = with maintainers; [ tnias vlaci ];
license = with licenses; [
bsd3 # and
bsd2 # and
licenses.boost
];
maintainers = with maintainers; [
tnias
vlaci
];
};
}

View file

@ -60,7 +60,7 @@
libxml2,
lz4,
netcdf,
openexr,
openexr_3,
openjpeg,
openssl,
pcre2,
@ -167,7 +167,7 @@ stdenv.mkDerivation (finalAttrs: {
nonDarwinDeps = lib.optionals (!stdenv.hostPlatform.isDarwin) (
[
# tests for formats enabled by these packages fail on macos
openexr
openexr_3
xercesc
]
++ arrowDeps

View file

@ -32,6 +32,7 @@
zlib,
Cocoa,
enablePython ? false,
enableRtk ? true,
}:
let
@ -116,6 +117,8 @@ stdenv.mkDerivation {
"-DModule_MGHIO=ON"
"-DModule_AdaptiveDenoising=ON"
"-DModule_GenericLabelInterpolator=ON"
]
++ lib.optionals enableRtk [
"-DModule_RTK=ON"
]
++ lib.optionals enablePython [
@ -153,20 +156,23 @@ stdenv.mkDerivation {
# These deps were propagated from VTK 9 in https://github.com/NixOS/nixpkgs/pull/206935,
# so we simply propagate them again from ITK.
# This admittedly is a hack and seems like an issue with VTK 9's CMake configuration.
propagatedBuildInputs = [
# The dependencies we've un-vendored from ITK, such as GDCM, must be propagated,
# otherwise other software built against ITK fails to configure since ITK headers
# refer to these previously vendored libraries:
expat
fftw
gdcm
hdf5-cpp
libjpeg
libminc
libpng
libtiff
zlib
] ++ lib.optionals withVtk vtk.propagatedBuildInputs ++ lib.optionals enablePython [ numpy ];
propagatedBuildInputs =
[
# The dependencies we've un-vendored from ITK, such as GDCM, must be propagated,
# otherwise other software built against ITK fails to configure since ITK headers
# refer to these previously vendored libraries:
expat
fftw
gdcm
hdf5-cpp
libjpeg
libminc
libpng
libtiff
zlib
]
++ lib.optionals withVtk vtk.propagatedBuildInputs
++ lib.optionals enablePython [ numpy ];
postInstall = lib.optionalString enablePython ''
substitute \

View file

@ -13,6 +13,10 @@ let
inherit sha256;
};
patches = [
./dont-set-cmake-skip-rpath-${version}.patch
];
nativeBuildInputs = [ cmake doxygen ];
buildInputs = [ zlib ]

View file

@ -0,0 +1,16 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b4ef61e..7b2f26c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,11 +29,6 @@ if(APPLE)
set(PHYSFS_M_SRCS src/physfs_platform_apple.m)
endif()
-if(CMAKE_COMPILER_IS_GNUCC)
- # Don't use -rpath.
- set(CMAKE_SKIP_RPATH ON CACHE BOOL "Skip RPATH" FORCE)
-endif()
-
if(CMAKE_C_COMPILER_ID STREQUAL "SunPro")
add_definitions(-erroff=E_EMPTY_TRANSLATION_UNIT)
add_definitions(-xldscope=hidden)

View file

@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b3291cc..11e7ad1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -32,8 +32,6 @@ endif()
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall)
- # Don't use -rpath.
- set(CMAKE_SKIP_RPATH ON CACHE BOOL "Skip RPATH" FORCE)
endif()
if(CMAKE_C_COMPILER_ID STREQUAL "SunPro")

View file

@ -23,14 +23,7 @@
withWebKit ? stdenv.hostPlatform.isDarwin,
webkitgtk_4_0,
setfile,
AGL,
Carbon,
Cocoa,
Kernel,
QTKit,
AVFoundation,
AVKit,
WebKit,
libpng,
}:
stdenv.mkDerivation rec {
@ -68,20 +61,11 @@ stdenv.mkDerivation rec {
++ lib.optional withCurl curl
++ lib.optional withMesa libGLU
++ lib.optional (withWebKit && !stdenv.hostPlatform.isDarwin) webkitgtk_4_0
++ lib.optional (withWebKit && stdenv.hostPlatform.isDarwin) WebKit
++ lib.optionals stdenv.hostPlatform.isDarwin [
setfile
Carbon
Cocoa
Kernel
QTKit
AVFoundation
AVKit
WebKit
libpng
];
propagatedBuildInputs = lib.optional stdenv.hostPlatform.isDarwin AGL;
configureFlags =
[
"--disable-precomp-headers"

View file

@ -25,14 +25,6 @@
, withWebKit ? true
, webkitgtk_4_0
, setfile
, AGL
, Carbon
, Cocoa
, Kernel
, QTKit
, AVFoundation
, AVKit
, WebKit
}:
let
catch = fetchFromGitHub {
@ -81,21 +73,11 @@ stdenv.mkDerivation rec {
]
++ lib.optional withMesa libGLU
++ lib.optional (withWebKit && stdenv.hostPlatform.isLinux) webkitgtk_4_0
++ lib.optional (withWebKit && stdenv.hostPlatform.isDarwin) WebKit
++ lib.optionals stdenv.hostPlatform.isDarwin [
expat
setfile
Carbon
Cocoa
Kernel
QTKit
AVFoundation
AVKit
WebKit
];
propagatedBuildInputs = lib.optional stdenv.hostPlatform.isDarwin AGL;
configureFlags = [
"--disable-precomp-headers"
# This is the default option, but be explicit

View file

@ -58,6 +58,7 @@ buildPythonPackage rec {
funcparserlib
pillow
reportlab
setuptools
webcolors
];

View file

@ -1,12 +0,0 @@
diff --git a/pyproject.toml b/pyproject.toml
index 2c93a39..6c800e2 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -24,3 +24,7 @@ isort = "^4.3"
[tool.black]
line-length = 120
+
+[build-system]
+requires = ["poetry_core>=1.0.0"]
+build-backend = "poetry.core.masonry.api"

View file

@ -1,47 +1,52 @@
{
lib,
buildPythonPackage,
pythonOlder,
fetchFromGitHub,
fetchpatch,
graphviz,
imagemagick,
inkscape,
jinja2,
poetry-core,
round,
graphviz,
inkscape,
imagemagick,
pytestCheckHook,
typed-ast,
pythonOlder,
round,
}:
buildPythonPackage rec {
pname = "diagrams";
version = "0.23.4";
format = "pyproject";
version = "0.24.2";
pyproject = true;
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "mingrammer";
repo = pname;
repo = "diagrams";
rev = "refs/tags/v${version}";
hash = "sha256-2jRWN2glGEr51fzny8nkqa5c2EdJG5aZPG2eTD7AISY=";
hash = "sha256-xdc8qHvLKy5QV/1c87o7H/VhitUhpH/+VgqBHn2a8lg=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'graphviz = ">=0.13.2,<0.20.0"' 'graphviz = "*"'
'';
patches = [
# Add build-system, https://github.com/mingrammer/diagrams/pull/1089
(fetchpatch {
name = "add-build-system.patch";
url = "https://github.com/mingrammer/diagrams/commit/59b84698b142f5a0998ee9e395df717a1b77e9b2.patch";
hash = "sha256-/zV5X4qgHJs+KO9gHyu6LqQ3hB8Zx+BzOFo7K1vQK78=";
})
./remove-black-requirement.patch
];
pythonRemoveDeps = [ "pre-commit" ];
pythonRelaxDeps = [ "graphviz" ];
preConfigure = ''
patchShebangs autogen.sh
./autogen.sh
'';
patches = [
# The build-system section is missing
./build_poetry.patch
./remove-black-requirement.patch
];
build-system = [ poetry-core ];
# Despite living in 'tool.poetry.dependencies',
# these are only used at build time to process the image resource files
@ -49,14 +54,10 @@ buildPythonPackage rec {
inkscape
imagemagick
jinja2
poetry-core
round
];
propagatedBuildInputs = [
graphviz
typed-ast
];
dependencies = [ graphviz ];
nativeCheckInputs = [ pytestCheckHook ];

View file

@ -1,36 +0,0 @@
{
lib,
buildPythonPackage,
fetchPypi,
flask,
gevent,
gevent-websocket,
}:
buildPythonPackage rec {
pname = "Flask-Sockets";
version = "0.2.1";
src = fetchPypi {
inherit pname version;
sha256 = "072927da8edca0e81e024f5787e643c87d80b351b714de95d723becb30e0643b";
};
propagatedBuildInputs = [
flask
gevent
gevent-websocket
];
# upstream doesn't have any tests, single file
doCheck = false;
pythonImportsCheck = [ "flask_sockets" ];
meta = with lib; {
description = "Elegant WebSockets for your Flask apps";
homepage = "https://github.com/heroku-python/flask-sockets";
license = licenses.mit;
maintainers = [ maintainers.prusnak ];
};
}

View file

@ -70,7 +70,11 @@ buildPythonPackage rec {
freezegun
grpcio
mock
]
++ lib.optionals (pythonOlder "3.13") [
oauth2client
]
++ [
pytest-asyncio
pytest-localserver
pytestCheckHook

View file

@ -21,7 +21,6 @@
falcon,
fastapi,
flask,
flask-sockets,
gunicorn,
moto,
pyramid,
@ -73,7 +72,6 @@ buildPythonPackage rec {
falcon
fastapi
flask
flask-sockets
gunicorn
moto
pyramid

View file

@ -6,7 +6,6 @@
buildPythonPackage,
fetchFromGitHub,
flake8,
flask-sockets,
moto,
psutil,
pytest-asyncio,
@ -49,7 +48,6 @@ buildPythonPackage rec {
nativeCheckInputs = [
flake8
flask-sockets
moto
psutil
pytest-asyncio

View file

@ -147,6 +147,7 @@ buildPythonPackage rec {
"tests/cli/"
"tests/django/test_dataloaders.py"
"tests/exceptions/"
"tests/experimental/pydantic/test_fields.py"
"tests/http/"
"tests/schema/extensions/"
"tests/schema/test_dataloaders.py"

View file

@ -7,59 +7,48 @@
numpy,
lightning-utilities,
packaging,
pretty-errors,
# buildInputs
torch,
# tests
cloudpickle,
psutil,
pytestCheckHook,
pytest-doctestplus,
pytest-xdist,
pytorch-lightning,
scikit-image,
scikit-learn,
# passthru
torchmetrics,
}:
let
buildPythonPackage rec {
pname = "torchmetrics";
version = "1.4.3";
in
buildPythonPackage {
inherit pname version;
version = "1.6.1";
pyproject = true;
src = fetchFromGitHub {
owner = "Lightning-AI";
repo = "torchmetrics";
rev = "refs/tags/v${version}";
hash = "sha256-527cHPFdFw/JajHe7Kkz7+zl4EfePaLx77I2OTjjxaA=";
tag = "v${version}";
hash = "sha256-itLFJB920hQGX2VLOLolHhmXFVHAOkfRRFtUGB9neKM=";
};
dependencies = [
numpy
lightning-utilities
packaging
pretty-errors
];
# Let the user bring their own instance
buildInputs = [ torch ];
nativeCheckInputs = [
cloudpickle
psutil
pytestCheckHook
pytest-doctestplus
pytest-xdist
pytorch-lightning
scikit-image
scikit-learn
];
# A cyclic dependency in: integrations/test_lightning.py
@ -73,16 +62,20 @@ buildPythonPackage {
dontInstall = true;
});
disabledTests = [
# `IndexError: list index out of range`
"test_metric_lightning_log"
];
disabledTestPaths = [
# These require too many "leftpad-level" dependencies
# Also too cross-dependent
"tests/unittests"
# AttributeError: partially initialized module 'pesq' has no attribute 'pesq' (most likely due to a circular import)
"examples/audio/pesq.py"
# Require internet access
"examples/text/bertscore.py"
"examples/image/clip_score.py"
"examples/text/perplexity.py"
"examples/text/rouge.py"
# A trillion import path mismatch errors
"src/torchmetrics"
];

View file

@ -5,6 +5,7 @@
nix-update-script,
pnpm,
nodejs,
python3,
makeWrapper,
electron,
vulkan-helper,
@ -33,6 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
nodejs
pnpm.configHook
python3
makeWrapper
];
@ -41,21 +43,25 @@ stdenv.mkDerivation (finalAttrs: {
./fix-non-steam-shortcuts.patch
];
postPatch = ''
# We are not packaging this as an Electron application bundle, so Electron
# reports to the application that is is not "packaged", which causes Heroic
# to take some incorrect codepaths meant for development environments.
substituteInPlace src/**/*.ts --replace-quiet 'app.isPackaged' 'true'
'';
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
buildPhase = ''
runHook preBuild
# set nodedir to prevent node-gyp from downloading headers
# taken from https://nixos.org/manual/nixpkgs/stable/#javascript-tool-specific
mkdir -p $HOME/.node-gyp/${nodejs.version}
echo 9 > $HOME/.node-gyp/${nodejs.version}/installVersion
ln -sfv ${nodejs}/include $HOME/.node-gyp/${nodejs.version}
export npm_config_nodedir=${nodejs}
pnpm --offline electron-vite build
# Remove dev dependencies.
pnpm --ignore-scripts prune --prod
# Clean up broken symlinks left behind by `pnpm prune`
find node_modules/.bin -xtype l -delete
pnpm --offline electron-builder \
--linux \
--dir \
-c.asarUnpack="**/*.node" \
-c.electronDist=${electron.dist} \
-c.electronVersion=${electron.version}
runHook postBuild
'';
@ -65,33 +71,32 @@ stdenv.mkDerivation (finalAttrs: {
installPhase = ''
runHook preInstall
mkdir -p $out/share/{applications,heroic}
cp -r . $out/share/heroic
rm -rf $out/share/heroic/{.devcontainer,.vscode,.husky,.idea,.github}
mkdir -p "$out/opt/heroic"
cp -r dist/linux-unpacked/resources "$out/opt/heroic"
chmod -R u+w "$out/share/heroic/public/bin" "$out/share/heroic/build/bin"
rm -rf "$out/share/heroic/public/bin" "$out/share/heroic/build/bin"
mkdir -p "$out/share/heroic/build/bin/x64/linux"
cp -r public "$out/opt/heroic/resources/app.asar.unpacked/build"
rm -rf "$out/opt/heroic/resources/app.asar.unpacked/build/bin"
mkdir -p "$out/opt/heroic/resources/app.asar.unpacked/build/bin/x64/linux"
ln -s \
"${lib.getExe gogdl}" \
"${lib.getExe legendary-gl}" \
"${lib.getExe nile}" \
"${lib.getExe comet-gog}" \
"${lib.getExe vulkan-helper}" \
"$out/share/heroic/build/bin/x64/linux/"
"$out/opt/heroic/resources/app.asar.unpacked/build/bin/x64/linux"
makeWrapper "${electron}/bin/electron" "$out/bin/heroic" \
--inherit-argv0 \
--set ELECTRON_FORCE_IS_PACKAGED 1 \
--add-flags --disable-gpu-compositing \
--add-flags $out/share/heroic \
--add-flags $out/opt/heroic/resources/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
substituteInPlace "$out/share/heroic/flatpak/com.heroicgameslauncher.hgl.desktop" \
install -D "flatpak/com.heroicgameslauncher.hgl.desktop" "$out/share/applications/com.heroicgameslauncher.hgl.desktop"
install -D "src/frontend/assets/heroic-icon.svg" "$out/share/icons/hicolor/scalable/apps/com.heroicgameslauncher.hgl.svg"
substituteInPlace "$out/share/applications/com.heroicgameslauncher.hgl.desktop" \
--replace-fail "StartupWMClass=Heroic" "StartupWMClass=heroic" \
--replace-fail "Exec=heroic-run" "Exec=heroic"
mkdir -p "$out/share/applications" "$out/share/icons/hicolor/scalable/apps"
ln -s "$out/share/heroic/flatpak/com.heroicgameslauncher.hgl.desktop" "$out/share/applications"
ln -s "$out/share/heroic/src/frontend/assets/heroic-icon.svg" "$out/share/icons/hicolor/scalable/apps/com.heroicgameslauncher.hgl.svg"
runHook postInstall
'';

View file

@ -5892,6 +5892,8 @@ with pkgs;
devpi-server = python3Packages.callPackage ../development/tools/devpi-server { };
dprint-plugins = recurseIntoAttrs (callPackage ../by-name/dp/dprint/plugins { });
elm2nix = haskell.lib.compose.justStaticExecutables haskellPackages.elm2nix;
elmPackages = recurseIntoAttrs (callPackage ../development/compilers/elm { });
@ -9476,6 +9478,7 @@ with pkgs;
itk_5_2 = callPackage ../development/libraries/itk/5.2.x.nix {
inherit (darwin.apple_sdk.frameworks) Cocoa;
enableRtk = false;
};
itk_5 = callPackage ../development/libraries/itk/5.x.nix {
@ -10950,12 +10953,10 @@ with pkgs;
wxGTK31 = callPackage ../development/libraries/wxwidgets/wxGTK31.nix {
inherit (darwin.stubs) setfile;
inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit AVFoundation AVKit WebKit;
};
wxGTK32 = callPackage ../development/libraries/wxwidgets/wxGTK32.nix {
inherit (darwin.stubs) setfile;
inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit AVFoundation AVKit WebKit;
};
wxSVG = callPackage ../development/libraries/wxSVG {

View file

@ -224,6 +224,7 @@ mapAliases ({
flask-autoindex = throw "flask-autoindex was removed, as it is not compatible with flask 3.0 and unmaintained since 2020.";
flask-basicauth = throw "flask-basicauth was removed, as it is not compatible with flask 3.0 and unmaintained since 2016.";
flask-sessionstore = throw "flask-sessionstore was removed, as it is not compatible with flask 3.0 and unmaintained since 2017.";
flask-sockets = throw "flask-sockets has been removed as the upstream repository was archived in 2022"; # Added 2025-01-01
flowlogs_reader = flowlogs-reader; # added 2024-01-03
flufl_bounce = flufl-bounce; # added 2023-11-03
flufl_i18n = flufl-i18n; # added 2023-11-03

View file

@ -4734,8 +4734,6 @@ self: super: with self; {
flask-socketio = callPackage ../development/python-modules/flask-socketio { };
flask-sockets = callPackage ../development/python-modules/flask-sockets { };
flask-sqlalchemy = callPackage ../development/python-modules/flask-sqlalchemy { };
flask-sqlalchemy-lite = callPackage ../development/python-modules/flask-sqlalchemy-lite { };
@ -6491,6 +6489,7 @@ self: super: with self; {
itk = toPythonModule (pkgs.itk.override {
inherit python numpy;
enablePython = true;
enableRtk = false;
});