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

K900 713d6542 5fa748a2

Changed files
+205 -89
doc
pkgs
applications
graphics
ImageMagick
by-name
co
copybara
la
rs
rshim-user-space
te
zo
zoom-us
os-specific
linux
top-level
+2 -2
doc/build-helpers/trivial-build-helpers.chapter.md
···
You have to create a file or directory `$out` for Nix to be able to run the builder successfully.
:::
-
[allowSubstitutes]: https://nixos.org/nix/manual/#adv-attr-allowSubstitutes
-
[preferLocalBuild]: https://nixos.org/nix/manual/#adv-attr-preferLocalBuild
+
[allowSubstitutes]: https://nix.dev/manual/nix/latest/language/advanced-attributes.html#adv-attr-allowSubstitutes
+
[preferLocalBuild]: https://nix.dev/manual/nix/latest/language/advanced-attributes.html#adv-attr-preferLocalBuild
[substituter]: https://nix.dev/manual/nix/latest/glossary#gloss-substituter
[substitutes]: https://nix.dev/manual/nix/2.23/glossary#gloss-substitute
+2 -2
pkgs/applications/graphics/ImageMagick/default.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "imagemagick";
-
version = "7.1.2-0";
+
version = "7.1.2-1";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick";
tag = finalAttrs.version;
-
hash = "sha256-4x0+yELmXstv9hPuwzMGcKiTa1rZtURZgwSSVIhzAkE=";
+
hash = "sha256-SHzDSknIHz8/CHV0Lnlr8YtOhs67MPMXiVHfv50gfwY=";
};
outputs = [
+2 -2
pkgs/by-name/co/copybara/package.nix
···
}:
stdenv.mkDerivation (finalAttrs: {
pname = "copybara";
-
version = "20250804";
+
version = "20250811";
src = fetchurl {
url = "https://github.com/google/copybara/releases/download/v${finalAttrs.version}/copybara_deploy.jar";
-
hash = "sha256-lus3WEwpd9TIGy7IO11d8eZ3S6J/jHzWRFQ76gRiVXg=";
+
hash = "sha256-UT2YlHo0aLLfdLjz1STSYb7VRgl5G7eJBg9uqsmu5Xs=";
};
nativeBuildInputs = [
+5 -4
pkgs/by-name/la/lanraragi/fix-paths.patch
···
# Folder location can be overriden by LRR_LOG_DIRECTORY
if ( $ENV{LRR_LOG_DIRECTORY} ) {
diff --git a/lib/LANraragi/Utils/TempFolder.pm b/lib/LANraragi/Utils/TempFolder.pm
-
index 792b1c1b..f0eb341b 100644
+
index a5ab8a83..64a56255 100644
--- a/lib/LANraragi/Utils/TempFolder.pm
+++ b/lib/LANraragi/Utils/TempFolder.pm
-
@@ -20,7 +20,7 @@ our @EXPORT_OK = qw(get_temp get_tempsize clean_temp_full clean_temp_partial);
+
@@ -13,7 +13,7 @@ our @EXPORT_OK = qw(get_temp);
#Get the current tempfolder.
#This can be called from any process safely as it uses FindBin.
sub get_temp {
-
- my $temp_folder = "$FindBin::Bin/../public/temp";
-
+ my $temp_folder = "./public/temp";
+
- my $temp_folder = "$FindBin::Bin/../temp";
+
+ my $temp_folder = "./temp";
# Folder location can be overriden by LRR_TEMP_DIRECTORY
if ( $ENV{LRR_TEMP_DIRECTORY} ) {
+
+5 -4
pkgs/by-name/la/lanraragi/install.patch
···
diff --git a/tools/install.pl b/tools/install.pl
-
index f09218f..a63de58 100644
+
index 9e155f0..a63de58 100644
--- a/tools/install.pl
+++ b/tools/install.pl
@@ -9,6 +9,7 @@ use Config;
···
#Vendor dependencies
my @vendor_css = (
-
@@ -90,32 +91,6 @@ if ( $ENV{HOMEBREW_FORMULA_PREFIX} ) {
+
@@ -90,33 +91,6 @@ if ( $ENV{HOMEBREW_FORMULA_PREFIX} ) {
$cpanopt = " -l " . $ENV{HOMEBREW_FORMULA_PREFIX} . "/libexec";
}
···
-install_package( "Config::AutoConf", $cpanopt );
-IPC::Cmd->import('can_run');
-require Config::AutoConf;
+
-
-
-say("\r\nWill now check if all LRR software dependencies are met. \r\n");
-
···
#Check for PerlMagick
say("Checking for ImageMagick/PerlMagick...");
my $imgk;
-
@@ -135,37 +110,11 @@ if ($@) {
+
@@ -136,37 +110,11 @@ if ($@) {
say("OK!");
}
···
make_path getcwd . "/public/css/vendor";
make_path getcwd . "/public/css/webfonts";
make_path getcwd . "/public/js/vendor";
-
@@ -212,19 +161,3 @@ sub cp_node_module {
+
@@ -213,19 +161,3 @@ sub cp_node_module {
}
+7 -4
pkgs/by-name/la/lanraragi/package.nix
···
buildNpmPackage rec {
pname = "lanraragi";
-
version = "0.9.21";
+
version = "0.9.41";
src = fetchFromGitHub {
owner = "Difegue";
repo = "LANraragi";
-
rev = "v.${version}";
-
hash = "sha256-2YdQeBW1MQiUs5nliloISaxG0yhFJ6ulkU/Urx8PN3Y=";
+
tag = "v.${version}";
+
hash = "sha256-HF2g8rrcV6f6ZTKmveS/yjil/mBxpvRUFyauv5f+qQ8=";
};
patches = [
···
TimeLocal
YAMLPP
StringSimilarity
+
CHI
+
CacheFastMmap
+
LocaleMaketextLexicon
]
++ lib.optionals stdenv.hostPlatform.isLinux [ LinuxInotify2 ];
···
passthru.tests.module = nixosTests.lanraragi;
meta = {
-
changelog = "https://github.com/Difegue/LANraragi/releases/tag/${src.rev}";
+
changelog = "https://github.com/Difegue/LANraragi/releases/tag/${src.tag}";
description = "Web application for archival and reading of manga/doujinshi";
homepage = "https://github.com/Difegue/LANraragi";
license = lib.licenses.mit;
+23 -8
pkgs/by-name/rs/rshim-user-space/package.nix
···
{
-
stdenv,
-
lib,
-
fetchFromGitHub,
autoconf,
automake,
+
bashNonInteractive,
+
coreutils,
+
fetchFromGitHub,
+
fuse,
+
gawk,
+
gnugrep,
+
gnused,
+
lib,
+
libusb1,
makeBinaryWrapper,
-
pkg-config,
pciutils,
-
libusb1,
-
fuse,
-
busybox,
+
pkg-config,
+
procps,
pv,
+
stdenv,
+
which,
+
util-linux,
withBfbInstall ? true,
}:
···
wrapProgram $out/bin/bfb-install \
--set PATH ${
lib.makeBinPath [
-
busybox
+
bashNonInteractive
+
coreutils
+
gawk
+
gnugrep
+
gnused
+
pciutils
+
procps
pv
+
util-linux
+
which
]
}
'';
+68
pkgs/by-name/te/textlint-rule-preset-ja-spacing/package.nix
···
+
{
+
lib,
+
stdenv,
+
fetchFromGitHub,
+
fetchYarnDeps,
+
nodejs,
+
yarnBuildHook,
+
yarnConfigHook,
+
textlint,
+
textlint-rule-preset-ja-spacing,
+
}:
+
+
stdenv.mkDerivation (finalAttrs: {
+
pname = "textlint-rule-preset-ja-spacing";
+
version = "2.4.3";
+
+
src = fetchFromGitHub {
+
owner = "textlint-ja";
+
repo = "textlint-rule-preset-ja-spacing";
+
tag = "v${finalAttrs.version}";
+
hash = "sha256-M27qhjIHMcKbuPAh523Pi5IB5BD0VWawh84kUyLcKvg=";
+
};
+
+
offlineCache = fetchYarnDeps {
+
yarnLock = "${finalAttrs.src}/yarn.lock";
+
hash = "sha256-AfbYACqYBvfsKzhryQabXQQmera19N/UH67sR5kbihM=";
+
};
+
+
nativeBuildInputs = [
+
nodejs
+
yarnBuildHook
+
yarnConfigHook
+
];
+
+
installPhase = ''
+
runHook preInstall
+
+
yarn install \
+
--force \
+
--frozen-lockfile \
+
--ignore-engines \
+
--ignore-platform \
+
--ignore-scripts \
+
--no-progress \
+
--non-interactive \
+
--offline \
+
--production=true
+
+
mkdir -p $out/lib
+
cp -r . $out/lib
+
+
runHook postInstall
+
'';
+
+
passthru.tests = textlint.testPackages {
+
rule = textlint-rule-preset-ja-spacing;
+
testFile = ./test.md;
+
};
+
+
meta = {
+
description = "スペース周りのスタイルを扱うtextlintルールプリセット";
+
homepage = "https://github.com/textlint-ja/textlint-rule-preset-ja-spacing";
+
changelog = "https://github.com/textlint-ja/textlint-rule-preset-ja-spacing/blob/${finalAttrs.src.tag}/CHANGELOG.md";
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [ natsukium ];
+
platforms = textlint.meta.platforms;
+
};
+
})
+1
pkgs/by-name/te/textlint-rule-preset-ja-spacing/test.md
···
+
Nix は純粋関数型パッケージマネージャーです。
+62 -30
pkgs/by-name/te/textlint/package.nix
···
{
lib,
stdenv,
-
buildNpmPackage,
fetchFromGitHub,
-
autoconf,
-
automake,
makeWrapper,
-
python311,
+
nodejs-slim,
+
pnpm_9,
+
versionCheckHook,
runCommand,
textlint,
textlint-plugin-latex2e,
···
textlint-rule-max-comma,
textlint-rule-no-start-duplicated-conjunction,
textlint-rule-period-in-list-item,
+
textlint-rule-preset-ja-spacing,
textlint-rule-preset-ja-technical-writing,
textlint-rule-prh,
textlint-rule-stop-words,
···
textlint-rule-write-good,
}:
-
buildNpmPackage rec {
+
stdenv.mkDerivation (finalAttrs: {
pname = "textlint";
-
version = "14.3.0";
+
version = "15.2.1";
src = fetchFromGitHub {
owner = "textlint";
repo = "textlint";
-
tag = "v${version}";
-
hash = "sha256-FbPJr7oTsU7WC5RTXyG7X5d0KPJJqRbjGwM/F023Cx8=";
+
tag = "v${finalAttrs.version}";
+
hash = "sha256-xjtmYz+O+Sn697OrBkPddv1Ma5UsOkO5v4SGlhsaYWA=";
};
patches = [
-
# this package uses lerna and requires building many workspaces.
-
# this patch removes unnecessary workspaces,
-
# reducing package size and build time.
-
./remove-workspaces.patch
+
# The upstream lockfile contains "overrides" configuration that conflicts with Nix's build environment.
+
# We remove these overrides to allow pnpm to install dependencies without modifying the lockfile,
+
# which would break the reproducible build process.
+
#
+
# Without this patch, pnpm fails with:
+
# ERR_PNPM_LOCKFILE_CONFIG_MISMATCH Cannot proceed with the frozen installation. The current "overrides" configuration doesn't match the value found in the lockfile
+
# Update your lockfile using "pnpm install --no-frozen-lockfile"
+
# ERROR: pnpm failed to install dependencies
+
./remove-overrides.patch
];
-
npmDepsHash = "sha256-l+1JntqIPttuYXKsVEdJOB1qQfsoheZk+7Z7OJ67z5E=";
+
pnpmDeps = pnpm_9.fetchDeps {
+
inherit (finalAttrs)
+
pname
+
version
+
src
+
patches
+
;
+
fetcherVersion = 1;
+
hash = "sha256-TyKtH4HjCDTydVd/poG05Yh5nRSfcrSPzFLEE3Oq2uo=";
+
};
nativeBuildInputs = [
-
autoconf
-
automake
-
]
-
++ lib.optionals (stdenv.hostPlatform.system == "aarch64-linux") [
-
# File "/build/source/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module>
-
# npm error ModuleNotFoundError: No module named 'distutils'
-
python311
+
makeWrapper
+
nodejs-slim
+
pnpm_9.configHook
];
+
+
buildPhase = ''
+
runHook preBuild
+
+
pnpm --filter textlint... build
+
+
runHook postBuild
+
'';
installPhase = ''
runHook preInstall
-
mkdir -p $out/{bin,lib}
+
mkdir -p $out/{bin,lib/node_modules}
-
npm prune --omit=dev --no-save
-
rm -r node_modules/.cache
-
rm -r packages/textlint-{scripts,tester}
-
rm -r packages/@textlint/*/test
+
rm -r node_modules
+
rm -r packages/textlint/node_modules
+
rm -r packages/@textlint/**/node_modules
+
pnpm install --offline --ignore-scripts --frozen-lockfile --prod --filter textlint...
-
cp -r node_modules $out/lib
-
cp -r packages $out/lib
-
ln -s $out/lib/node_modules/textlint/bin/textlint.js $out/bin/textlint
+
cp -r packages/{textlint,@textlint} $out/lib/node_modules
+
cp -r node_modules/.pnpm $out/lib/node_modules
+
+
makeWrapper "${lib.getExe nodejs-slim}" "$out/bin/textlint" \
+
--add-flags "$out/lib/node_modules/textlint/bin/textlint.js"
+
+
# Remove dangling symlinks to packages we didn't copy to $out
+
find $out/lib/node_modules/.pnpm -type l -exec test ! -e {} \; -delete
+
+
# Remove test directories recursively
+
find $out/lib/node_modules -type d -name "test" -exec rm -rf {} +
runHook postInstall
'';
+
+
nativeInstallCheckInputs = [ versionCheckHook ];
+
+
doInstallCheck = true;
passthru = {
withPackages =
···
textlint-rule-max-comma
textlint-rule-no-start-duplicated-conjunction
textlint-rule-period-in-list-item
+
textlint-rule-preset-ja-spacing
textlint-rule-preset-ja-technical-writing
textlint-rule-prh
textlint-rule-stop-words
···
meta = {
description = "Pluggable natural language linter for text and markdown";
homepage = "https://github.com/textlint/textlint";
-
changelog = "https://github.com/textlint/textlint/blob/${src.rev}/CHANGELOG.md";
+
changelog = "https://github.com/textlint/textlint/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ natsukium ];
mainProgram = "textlint";
+
platforms = nodejs-slim.meta.platforms;
};
-
}
+
})
+14
pkgs/by-name/te/textlint/remove-overrides.patch
···
+
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
+
index 1f0e8f8b..68a9c06a 100644
+
--- a/pnpm-lock.yaml
+
+++ b/pnpm-lock.yaml
+
@@ -4,9 +4,6 @@ settings:
+
autoInstallPeers: true
+
excludeLinksFromLockfile: false
+
+
-overrides:
+
- '@textlint/ast-node-types': workspace:*
+
-
+
importers:
+
+
.:
-19
pkgs/by-name/te/textlint/remove-workspaces.patch
···
-
diff --git a/package.json b/package.json
-
index 9dd7fdc6..c5e74f88 100644
-
--- a/package.json
-
+++ b/package.json
-
@@ -56,12 +56,8 @@
-
"trailingComma": "none"
-
},
-
"workspaces": [
-
- "packages/*",
-
- "examples/*",
-
- "packages/@textlint/*",
-
- "packages/textlint-scripts/examples/*",
-
- "test/*",
-
- "website"
-
+ "packages/textlint",
-
+ "packages/@textlint/*"
-
],
-
"packageManager": "npm@9.9.2"
-
}
+6 -6
pkgs/by-name/zo/zoom-us/package.nix
···
# Zoom versions are released at different times per platform and often with different versions.
# We write them on three lines like this (rather than using {}) so that the updater script can
# find where to edit them.
-
versions.aarch64-darwin = "6.5.7.60598";
-
versions.x86_64-darwin = "6.5.7.60598";
+
versions.aarch64-darwin = "6.5.9.61929";
+
versions.x86_64-darwin = "6.5.9.61929";
# This is the fallback version so that evaluation can produce a meaningful result.
-
versions.x86_64-linux = "6.5.8.3527";
+
versions.x86_64-linux = "6.5.9.3723";
srcs = {
aarch64-darwin = fetchurl {
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
name = "zoomusInstallerFull.pkg";
-
hash = "sha256-o7ZxDYQS0J9Tl8kECSms1XQ6CVgxt453lDuFyZSZBv4=";
+
hash = "sha256-2V4Cad7/YcI5rSuUu8GI1GCEgio/rG/ZRpedNKqoGvc=";
};
x86_64-darwin = fetchurl {
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
-
hash = "sha256-y5/8xNtQTAbsXwbajFfzx0iNPEMQ0S+DAw2eS2mf5SQ=";
+
hash = "sha256-RO+kIHvmvCj9bun2BeCzAm9XMYQOobYyVKqA5ruG0I8=";
};
x86_64-linux = fetchurl {
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
-
hash = "sha256-qTehkDMyc28XHtta7taNYn8gPCYS/Qdr2VMUIDDC/68=";
+
hash = "sha256-OOa4zRRekXEWLl+BH3bPtCQzRaQAo742C9EqPTZnDR8=";
};
};
+2 -2
pkgs/os-specific/linux/kernel/zen-kernels.nix
···
variants = {
# ./update-zen.py zen
zen = {
-
version = "6.16"; # zen
+
version = "6.16.1"; # zen
suffix = "zen1"; # zen
-
sha256 = "1ckysnshlrhfycz0yppna6jrnvgc9k49wr5srvl15wj1hck84p7d"; # zen
+
sha256 = "1z20d53hz1zwg65x8jbq57v7snh9z5qk0gnvw4v6xfn9hwi79sjs"; # zen
isLqx = false;
};
# ./update-zen.py lqx
+6 -6
pkgs/top-level/perl-packages.nix
···
Minion = buildPerlPackage {
pname = "Minion";
-
version = "10.30";
+
version = "10.31";
src = fetchurl {
-
url = "mirror://cpan/authors/id/S/SR/SRI/Minion-10.30.tar.gz";
-
hash = "sha256-twS9ZuxK8cAzlGifAsCsBIDr0GzpzKFykVAbkgLG7Rw=";
+
url = "mirror://cpan/authors/id/S/SR/SRI/Minion-10.31.tar.gz";
+
hash = "sha256-MGj5kDPmnfCBRbWEqR7iJPTpfcYkLhAiIegiCj8oUDs=";
propagatedBuildInputs = [
Mojolicious
···
Mojolicious = buildPerlPackage {
pname = "Mojolicious";
-
version = "9.36";
+
version = "9.39";
src = fetchurl {
-
url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-9.36.tar.gz";
-
hash = "sha256-UX7Pb9hqC3xhadVRAiOL+YUWGNt2L7ANTPDZTGJSAV8=";
+
url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-9.39.tar.gz";
+
hash = "sha256-EwpJDXfXYTn3NM4biU1Fm64DgF+x89/dWPxE/oKvPP0=";
meta = {
description = "Real-time web framework";