Merge master into staging-next
This commit is contained in:
@@ -85,7 +85,9 @@ jobs:
|
||||
- name: Build NixOS manual
|
||||
if: |
|
||||
contains(matrix.builds, 'manual-nixos') && !cancelled() &&
|
||||
contains(fromJSON(inputs.baseBranch).type, 'primary')
|
||||
(contains(fromJSON(inputs.baseBranch).type, 'primary')
|
||||
|| startsWith(fromJSON(inputs.baseBranch).branch, 'staging-nixos')
|
||||
)
|
||||
run: nix-build-uncached nixpkgs/untrusted/ci --arg nixpkgs ./nixpkgs/untrusted-pinned -A manual-nixos --out-link nixos-manual
|
||||
|
||||
- name: Build Nixpkgs manual
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule {
|
||||
pname = "ldk-node-go";
|
||||
version = "0-unstable-2026-02-10";
|
||||
version = "0-unstable-2026-04-24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "getAlby";
|
||||
repo = "ldk-node-go";
|
||||
rev = "f4fc565783308dd4835ba1473a17f25162db9c36";
|
||||
hash = "sha256-jemAzRuZU9aQpENwWtvyGAh9EJUgeb1f1SCx/FpOOPc=";
|
||||
rev = "3690cdb3031c75f0ee0a67222c2db3c69fea8f2c";
|
||||
hash = "sha256-OlJGHhal5fkR0r0FtsVbG1aILZSTLsSRcqrZ84pIRLU=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "ldk-node";
|
||||
version = "0-unstable-2026-02-10";
|
||||
version = "0-unstable-2026-04-24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "getAlby";
|
||||
repo = "ldk-node";
|
||||
rev = "3996cf18b10545f54c377212e155bb6bd664888e";
|
||||
hash = "sha256-mjIs7CeTRQ7Xuk9V/6LeXMDRZsd/wljeFHZ2vgEe1hg=";
|
||||
rev = "6d5546ec5fff10d4e560188cfcff6f294944c16e";
|
||||
hash = "sha256-k3AZ1k/hV4Bh+RfOqmpo22wRQ5sdDaFR4bcnw58iwNI=";
|
||||
};
|
||||
|
||||
buildFeatures = [ "uniffi" ];
|
||||
|
||||
@@ -21,16 +21,16 @@ in
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "albyhub";
|
||||
version = "1.21.6";
|
||||
version = "1.22.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "getAlby";
|
||||
repo = "hub";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-xjFEou+mDtEf7079en5ypoU5P0tf+looeHZS4j1jKzg=";
|
||||
hash = "sha256-xP/J9zdh4sZ1x+JUpOf12ft8f2II2Mn1Q7/gnMuFzy8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-NJeIEFc8oc5rMWAuvrgsnOi3j779mhwMKSALswRy+nE=";
|
||||
vendorHash = "sha256-nzdHXY14o4D8NrcXu2JvDagvIfemfVAaGU3IDifhyW0=";
|
||||
proxyVendor = true; # needed for secp256k1-zkp CGO bindings
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -47,7 +47,7 @@ buildGoModule (finalAttrs: {
|
||||
|
||||
frontendYarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = finalAttrs.src + "/frontend/yarn.lock";
|
||||
hash = "sha256-wdKm8Zk2iAPvH+EbQxvznctkqHgx8xl/Im37vHmHnoA=";
|
||||
hash = "sha256-BeuTBLJ/Iakd4jhIkI2+oHc4MFy6DSn8QcygTHEMmQo=";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cell";
|
||||
version = "0.5.0";
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "garritfra";
|
||||
repo = "cell";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-J13D46ttG7KlePyFZYxqjaMF7ZR5m3nTJ8/GLm4VH5o=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-ZQXyt/hL6wamGrFvmrShoUCTSGAo8V5CuejAzO5oCuU=";
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Fast terminal spreadsheet editor with Vim keybindings";
|
||||
homepage = "https://github.com/garritfra/cell";
|
||||
changelog = "https://github.com/garritfra/cell/blob/${finalAttrs.src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ airrnot ];
|
||||
mainProgram = "cell";
|
||||
};
|
||||
})
|
||||
@@ -1,9 +1,13 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
fetchFromGitHub,
|
||||
flutter335,
|
||||
copyDesktopItems,
|
||||
makeDesktopItem,
|
||||
undmg,
|
||||
makeBinaryWrapper,
|
||||
|
||||
alsa-lib,
|
||||
libdisplay-info,
|
||||
@@ -18,82 +22,114 @@
|
||||
|
||||
let
|
||||
flutter = flutter335;
|
||||
in
|
||||
sourceBuild = flutter.buildFlutterApplication (finalAttrs: {
|
||||
pname = "fladder";
|
||||
version = "0.10.3";
|
||||
|
||||
flutter.buildFlutterApplication (finalAttrs: {
|
||||
pname = "fladder";
|
||||
version = "0.10.3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "DonutWare";
|
||||
repo = "Fladder";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-0eFHylRi2UVaKRG7K3tDZVscgoiL5xFrtFhZiJxj4Mk=";
|
||||
};
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DonutWare";
|
||||
repo = "Fladder";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-0eFHylRi2UVaKRG7K3tDZVscgoiL5xFrtFhZiJxj4Mk=";
|
||||
};
|
||||
inherit targetFlutterPlatform;
|
||||
|
||||
inherit targetFlutterPlatform;
|
||||
pubspecLock = lib.importJSON ./pubspec.lock.json;
|
||||
|
||||
pubspecLock = lib.importJSON ./pubspec.lock.json;
|
||||
gitHashes = lib.importJSON ./git-hashes.json;
|
||||
|
||||
gitHashes = lib.importJSON ./git-hashes.json;
|
||||
nativeBuildInputs = lib.optionals (targetFlutterPlatform == "linux") [
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
nativeBuildInputs = lib.optionals (targetFlutterPlatform == "linux") [
|
||||
copyDesktopItems
|
||||
];
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
libdisplay-info
|
||||
mpv-unwrapped
|
||||
libxpresent
|
||||
libxscrnsaver
|
||||
]
|
||||
++ lib.optionals (targetFlutterPlatform == "linux") [
|
||||
libepoxy
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
libdisplay-info
|
||||
mpv-unwrapped
|
||||
libxpresent
|
||||
libxscrnsaver
|
||||
]
|
||||
++ lib.optionals (targetFlutterPlatform == "linux") [
|
||||
libepoxy
|
||||
];
|
||||
postInstall =
|
||||
lib.optionalString (targetFlutterPlatform == "web") (
|
||||
''
|
||||
sed -i 's;base href="/";base href="$out";' $out/index.html
|
||||
''
|
||||
+ lib.optionalString (baseUrl != null) ''
|
||||
echo '{"baseUrl": "${baseUrl}"}' > $out/assets/config/config.json
|
||||
''
|
||||
)
|
||||
+ lib.optionalString (targetFlutterPlatform == "linux") ''
|
||||
# Install SVG icon
|
||||
install -Dm644 icons/fladder_icon.svg \
|
||||
$out/share/icons/hicolor/scalable/apps/fladder.svg
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
lib.optionalString (targetFlutterPlatform == "web") (
|
||||
''
|
||||
sed -i 's;base href="/";base href="$out";' $out/index.html
|
||||
''
|
||||
+ lib.optionalString (baseUrl != null) ''
|
||||
echo '{"baseUrl": "${baseUrl}"}' > $out/assets/config/config.json
|
||||
''
|
||||
)
|
||||
+ lib.optionalString (targetFlutterPlatform == "linux") ''
|
||||
# Install SVG icon
|
||||
install -Dm644 icons/fladder_icon.svg \
|
||||
$out/share/icons/hicolor/scalable/apps/fladder.svg
|
||||
desktopItems = lib.optionals (targetFlutterPlatform == "linux") [
|
||||
(makeDesktopItem {
|
||||
name = "fladder";
|
||||
desktopName = "Fladder";
|
||||
genericName = "Jellyfin Client";
|
||||
exec = "Fladder";
|
||||
icon = "fladder";
|
||||
comment = "Simple Jellyfin Frontend built on top of Flutter";
|
||||
categories = [
|
||||
"AudioVideo"
|
||||
"Video"
|
||||
"Player"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = {
|
||||
description = "Simple Jellyfin Frontend built on top of Flutter";
|
||||
homepage = "https://github.com/DonutWare/Fladder";
|
||||
downloadPage = "https://github.com/DonutWare/Fladder/releases";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [
|
||||
ratcornu
|
||||
schembriaiden
|
||||
];
|
||||
mainProgram = "Fladder";
|
||||
};
|
||||
});
|
||||
|
||||
darwin = stdenv.mkDerivation {
|
||||
pname = sourceBuild.pname;
|
||||
inherit (sourceBuild) version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/DonutWare/Fladder/releases/download/v${sourceBuild.version}/Fladder-macOS-${sourceBuild.version}.dmg";
|
||||
hash = "sha256-Vnz0jtmDptcrehE7DrgyTzFJJopirsLaO+lu1V/Xd+o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
undmg
|
||||
makeBinaryWrapper
|
||||
];
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/Applications
|
||||
cp -r Fladder.app $out/Applications
|
||||
makeBinaryWrapper $out/Applications/Fladder.app/Contents/MacOS/Fladder $out/bin/Fladder
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
desktopItems = lib.optionals (targetFlutterPlatform == "linux") [
|
||||
(makeDesktopItem {
|
||||
name = "fladder";
|
||||
desktopName = "Fladder";
|
||||
genericName = "Jellyfin Client";
|
||||
exec = "Fladder";
|
||||
icon = "fladder";
|
||||
comment = "Simple Jellyfin Frontend built on top of Flutter";
|
||||
categories = [
|
||||
"AudioVideo"
|
||||
"Video"
|
||||
"Player"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = {
|
||||
description = "Simple Jellyfin Frontend built on top of Flutter";
|
||||
homepage = "https://github.com/DonutWare/Fladder";
|
||||
downloadPage = "https://github.com/DonutWare/Fladder/releases";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [
|
||||
ratcornu
|
||||
schembriaiden
|
||||
];
|
||||
mainProgram = "Fladder";
|
||||
meta = sourceBuild.meta // {
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
platforms = lib.platforms.darwin;
|
||||
};
|
||||
};
|
||||
})
|
||||
in
|
||||
if stdenv.hostPlatform.isDarwin then darwin else sourceBuild
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lcevcdec";
|
||||
version = "4.0.5";
|
||||
version = "4.1.0";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "v-novaltd";
|
||||
repo = "LCEVCdec";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-Ib+2B9o9XUbiEqlP43jKYzvY2pzsFRaS/ZjMn1YgvHE=";
|
||||
hash = "sha256-QzejWq0XGPLu+YVNetfbzczNuZ6Gp5QJP5G2RZUan6M=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
"@rollup/rollup-win32-x64-gnu@npm:4.60.0": "1400b3aace00dc90638bfd39d68275bb5f16143d240b9c36eb70f242ed2080c26fe14192fd3375120308ff94a7da1e169a8e0e56efbe41483f59731602d3be84",
|
||||
"@rollup/rollup-win32-x64-msvc@npm:4.60.0": "c948b3a8ed6e73f2382dc41ffab3e9928f95c4a0e3481272b26ad04a5f73084ca13fd5c253887f9077c37cb1c91bd8494b4a45a7764c874aa105684e8424289a",
|
||||
"dmg-license@npm:1.0.11": "feef35cfb45270a72daadcca9584be5cb840f924448b9d4e543fcd61f1b6d471151049f277c91de1d8b003fad6203d0176066a5f427a01df5fb073402cb8c8b7",
|
||||
"electron-installer-flatpak@npm:0.8.0": "aeaadb5f8f3de96640d3616544700e2c458262f61c7923afd96686223450ed9dbf6d284c1fc6943a6e995957be65cdd140bc4b1c00dd28bf1015fd81ae1e155d",
|
||||
"iconv-corefoundation@npm:1.1.7": "bc6f08ac421e5e92ed20f3825f123fd705e036612b2b6aa687958de753c06f32e54f0203ef55540869e3ee189eaea15e43a2757f3a90e555c4dd512c9422da43",
|
||||
"lightningcss-android-arm64@npm:1.32.0": "1cb326ad39dcb02cf9f45025c167b6900e3a04b08f5149d3c5ee26054b00d08db3736fb69183a6c3ed1cb32dddd148608c784b6631b4777623f7dd0c032c392d",
|
||||
"lightningcss-darwin-arm64@npm:1.32.0": "da954d0c215d0e95f15a92c8717f871017586e1332b98fd40e96196571d2fd3d51a727dc530768afee9f6a04da210510740574dd0c8dbf2ecced79e5996f1a06",
|
||||
|
||||
@@ -13,19 +13,19 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "r2modman";
|
||||
version = "3.2.15";
|
||||
version = "3.2.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ebkr";
|
||||
repo = "r2modmanPlus";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-AU2fswh2gNJr1JWTHjtxJh/vVwvDqFXjaaF+QaLprFo=";
|
||||
hash = "sha256-ya7VPb+bmOvtXNex9R80N6rZLSCVoyntqCzaHXIwb1M=";
|
||||
};
|
||||
|
||||
missingHashes = ./missing-hashes.json;
|
||||
offlineCache = yarn-berry.fetchYarnBerryDeps {
|
||||
inherit (finalAttrs) src patches missingHashes;
|
||||
hash = "sha256-6WfpOAt9XRw4fC+Ix9OoDPvg7oIxcdKRX5ttIywG14E=";
|
||||
hash = "sha256-RAQgaxcQl15JqZsLA9ISfOiGgob4yYuc4bhjZFzW8xk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
./steam-launch-fix.patch
|
||||
|
||||
# Remove after upstream updates to Yarn 4.14
|
||||
# https://github.com/ebkr/r2modmanPlus/blob/develop/package.json#L117
|
||||
# https://github.com/ebkr/r2modmanPlus/blob/develop/package.json#L118
|
||||
./yarn-4.14-support.patch
|
||||
];
|
||||
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "vacuum-go";
|
||||
version = "0.26.4";
|
||||
version = "0.26.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "daveshanley";
|
||||
repo = "vacuum";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-shJblJz5+DhVUju8L/KJ3rFixq3CpvV5o0fC9hx7ivk=";
|
||||
hash = "sha256-Em+wmDt2kI4mfqS9u/Jq499tQiLh3w/CiZlrkixZjg4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-kyKPWbDFPWmIJmn3Np8Geogen3+OxePcSulWBeJFrD4=";
|
||||
vendorHash = "sha256-AWn/J/BAPIFKXpTdUej1uMBkwh3r5v8DpZHh4D7GRKg=";
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
ldflags = [
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
python3Packages,
|
||||
atomicparsley,
|
||||
deno,
|
||||
# Override jsRuntime with `nodejs`, `bun`, `quickjs`, or `quickjs-ng` if you want to use another default JS runtime.
|
||||
# You still need to enable them in your yt-dlp config with `--js-runtimes [runtime]`.
|
||||
jsRuntime ? deno,
|
||||
fetchFromGitHub,
|
||||
ffmpeg-headless,
|
||||
installShellFiles,
|
||||
@@ -16,6 +19,12 @@
|
||||
withAlias ? false, # Provides bin/youtube-dl for backcompat
|
||||
withSecretStorage ? !stdenvNoCC.hostPlatform.isDarwin,
|
||||
nix-update-script,
|
||||
# required for tests
|
||||
yt-dlp,
|
||||
nodejs,
|
||||
bun,
|
||||
quickjs,
|
||||
quickjs-ng,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
@@ -37,11 +46,11 @@ python3Packages.buildPythonApplication rec {
|
||||
substituteInPlace yt_dlp/version.py \
|
||||
--replace-fail "UPDATE_HINT = None" 'UPDATE_HINT = "Nixpkgs/NixOS likely already contain an updated version.\n To get it run nix-channel --update or nix flake update in your config directory."'
|
||||
${lib.optionalString javascriptSupport ''
|
||||
# deno is required for full YouTube support (since 2025.11.12).
|
||||
# This makes yt-dlp find deno even if it is used as a python dependency, i.e. in kodiPackages.sendtokodi.
|
||||
# Crafted so people can replace deno with one of the other JS runtimes.
|
||||
# A JavaScript runtime is required for full YouTube support (since 2025.11.12).
|
||||
# This makes yt-dlp find `jsRuntime` even if it is used as a python dependency, i.e. in kodiPackages.sendtokodi.
|
||||
# Crafted so people can replace the default deno with one of the other JS runtimes.
|
||||
substituteInPlace yt_dlp/utils/_jsruntime.py \
|
||||
--replace-fail "path = _determine_runtime_path(self._path, '${deno.meta.mainProgram}')" "path = '${lib.getExe deno}'"
|
||||
--replace-fail "path = _determine_runtime_path(self._path, '${jsRuntime.meta.mainProgram}')" "path = '${lib.getExe jsRuntime}'"
|
||||
''}
|
||||
'';
|
||||
|
||||
@@ -136,6 +145,15 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
# Try to build with each of the supported JS runtimes
|
||||
tests = lib.genAttrs' [ nodejs bun quickjs quickjs-ng ] (
|
||||
runtime:
|
||||
lib.nameValuePair runtime.pname (
|
||||
yt-dlp.override {
|
||||
jsRuntime = runtime;
|
||||
}
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sbt";
|
||||
version = "1.12.4";
|
||||
version = "1.12.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/sbt/sbt/releases/download/v${finalAttrs.version}/sbt-${finalAttrs.version}.tgz";
|
||||
hash = "sha256-OgLUzZhn/OJZgvmxaMJF/05HjddpQV21QuW+65+fuHo=";
|
||||
hash = "sha256-X5cqedKlv48pFBp0w15oa7CGCmtuxneviS+Uz5sSRkU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
Reference in New Issue
Block a user