bulk versions.json

This commit is contained in:
mjallen18
2026-01-21 12:53:13 -06:00
parent 7cc4e8c99e
commit 2b9908e760
52 changed files with 1033 additions and 335 deletions

View File

@@ -9,19 +9,21 @@
udev,
systemd,
withVoutDrm ? true,
pkgs,
}:
let
extraVersion = "rpi";
inherit (lib.trivial) importJSON;
versionSpec = importJSON ./version.json;
versioning = import ../../../lib/versioning.nix { inherit lib pkgs; };
selected = versioning.selectVariant versionSpec null null;
vars = selected.variables or {};
sources = versioning.mkAllSources selected;
extraVersion = vars.extraVersion or "rpi";
# https://github.com/jc-kynesim/rpi-ffmpeg/tree/test/7.1.2/main
ffmpegVersion = "7.1.2";
rpiFfmpegSrc = fetchFromGitHub {
owner = "jc-kynesim";
repo = "rpi-ffmpeg";
# rev = "test/${ffmpegVersion}/main"; # this branch is being forced-push to
rev = "de943d66dab18e89fc10c74459bea1d787edc49d";
hash = "sha256-Qbgos7uzYXF5E557kR2EXhX9eJRmO0LVmSE2NOpEZY0=";
};
ffmpegVersion = vars.ffmpegVersion or "7.1.2";
rpiFfmpegSrc = sources."rpi-ffmpeg";
in
(ffmpeg.overrideAttrs (old: {

View File

@@ -0,0 +1,16 @@
{
"schemaVersion": 1,
"variables": {
"ffmpegVersion": "7.1.2",
"extraVersion": "rpi"
},
"sources": {
"rpi-ffmpeg": {
"fetcher": "github",
"owner": "jc-kynesim",
"repo": "rpi-ffmpeg",
"rev": "de943d66dab18e89fc10c74459bea1d787edc49d",
"hash": "sha256-Qbgos7uzYXF5E557kR2EXhX9eJRmO0LVmSE2NOpEZY0="
}
}
}

View File

@@ -4,17 +4,20 @@
fetchFromGitHub,
cmake,
pkg-config,
pkgs,
}:
let
inherit (lib.trivial) importJSON;
versionSpec = importJSON ./version.json;
versioning = import ../../../lib/versioning.nix { inherit lib pkgs; };
selected = versioning.selectVariant versionSpec null null;
sources = versioning.mkAllSources selected;
in
stdenv.mkDerivation (_finalAttrs: {
pname = "libraspberrypi";
version = "unstable-2024-12-23";
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "userland";
rev = "a54a0dbb2b8dcf9bafdddfc9a9374fb51d97e976";
hash = "sha256-Edca6nkykdXKFF5MGq6LeKirMLHTZBCbFWvHTNHMWJ4=";
};
src = sources.userland;
nativeBuildInputs = [
cmake

View File

@@ -0,0 +1,12 @@
{
"schemaVersion": 1,
"sources": {
"userland": {
"fetcher": "github",
"owner": "raspberrypi",
"repo": "userland",
"rev": "a54a0dbb2b8dcf9bafdddfc9a9374fb51d97e976",
"hash": "sha256-Edca6nkykdXKFF5MGq6LeKirMLHTZBCbFWvHTNHMWJ4="
}
}
}

View File

@@ -4,15 +4,22 @@
lib,
fetchFromGitHub,
buildLinux,
pkgs,
rpiVersion ? 5,
...
}@args:
let
# stdenv = ccacheStdenv;
modDirVersion = "6.12.47";
tag = "stable_20250916";
hash = "sha256-HG8Oc04V2t54l0SOn4gKmNJWQUrZfjWusgKcWvx74H0==";
inherit (lib.trivial) importJSON;
versionSpec = importJSON ./version.json;
versioning = import ../../../lib/versioning.nix { inherit lib pkgs; };
selected = versioning.selectVariant versionSpec null null;
vars = selected.variables or {};
sources = versioning.mkAllSources selected;
modDirVersion = vars.modDirVersion;
tag = vars.tag;
# NOTE: raspberrypifw & raspberryPiWirelessFirmware should be updated with this
# all of these fail for various reasons
@@ -43,11 +50,7 @@ lib.overrideDerivation
inherit modDirVersion;
pname = "linux-rpi${toString rpiVersion}";
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "linux";
inherit tag hash;
};
src = sources.kernel;
defconfig =
{

View File

@@ -0,0 +1,19 @@
{
"schemaVersion": 1,
"variables": {
"modDirVersion": "6.12.47",
"tag": "stable_20250916"
},
"sources": {
"kernel": {
"fetcher": "github",
"owner": "raspberrypi",
"repo": "linux",
"tag": "${tag}",
"hash": "sha256-HG8Oc04V2t54l0SOn4gKmNJWQUrZfjWusgKcWvx74H0=="
}
},
"notes": {
"hint": "raspberrypifw & raspberryPiWirelessFirmware should be updated alongside this."
}
}

View File

@@ -2,27 +2,23 @@
lib,
stdenvNoCC,
fetchFromGitHub,
pkgs,
}:
let
inherit (lib.trivial) importJSON;
versionSpec = importJSON ./version.json;
versioning = import ../../../lib/versioning.nix { inherit lib pkgs; };
selected = versioning.selectVariant versionSpec null null;
sources = versioning.mkAllSources selected;
in
stdenvNoCC.mkDerivation {
pname = "raspberrypi-wireless-firmware";
version = "0-unstable-2025-04-08";
srcs = [
(fetchFromGitHub {
name = "bluez-firmware";
owner = "RPi-Distro";
repo = "bluez-firmware";
rev = "cdf61dc691a49ff01a124752bd04194907f0f9cd";
hash = "sha256-35pnbQV/zcikz9Vic+2a1QAS72riruKklV8JHboL9NY=";
})
(fetchFromGitHub {
name = "firmware-nonfree";
owner = "RPi-Distro";
repo = "firmware-nonfree";
rev = "40dea60e27078fac57a3fed51010e2c26865d49b";
hash = "sha256-yXKzrkr7zdw/ba8GEi0r+XjnZEsQ59LPEuXj0HaKwxU=";
})
sources."bluez-firmware"
sources."firmware-nonfree"
];
sourceRoot = ".";

View File

@@ -0,0 +1,21 @@
{
"schemaVersion": 1,
"sources": {
"bluez-firmware": {
"fetcher": "github",
"name": "bluez-firmware",
"owner": "RPi-Distro",
"repo": "bluez-firmware",
"rev": "cdf61dc691a49ff01a124752bd04194907f0f9cd",
"hash": "sha256-35pnbQV/zcikz9Vic+2a1QAS72riruKklV8JHboL9NY="
},
"firmware-nonfree": {
"fetcher": "github",
"name": "firmware-nonfree",
"owner": "RPi-Distro",
"repo": "firmware-nonfree",
"rev": "40dea60e27078fac57a3fed51010e2c26865d49b",
"hash": "sha256-yXKzrkr7zdw/ba8GEi0r+XjnZEsQ59LPEuXj0HaKwxU="
}
}
}

View File

@@ -2,19 +2,23 @@
lib,
stdenvNoCC,
fetchFromGitHub,
pkgs,
}:
let
inherit (lib.trivial) importJSON;
versionSpec = importJSON ./version.json;
versioning = import ../../../lib/versioning.nix { inherit lib pkgs; };
selected = versioning.selectVariant versionSpec null null;
vars = selected.variables or {};
sources = versioning.mkAllSources selected;
in
stdenvNoCC.mkDerivation rec {
# NOTE: this should be updated with linux_rpi
pname = "raspberrypi-dtoverlays";
version = "stable_20250916";
version = vars.version;
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "linux";
tag = version;
hash = "sha256-HG8Oc04V2t54l0SOn4gKmNJWQUrZfjWusgKcWvx74H0==";
};
src = sources.linux;
installPhase = ''
mkdir -p $out/dtbs/raspberrypi-overlays/

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "stable_20250916"
},
"sources": {
"linux": {
"fetcher": "github",
"owner": "raspberrypi",
"repo": "linux",
"tag": "${version}",
"hash": "sha256-HG8Oc04V2t54l0SOn4gKmNJWQUrZfjWusgKcWvx74H0=="
}
}
}

View File

@@ -6,17 +6,20 @@
fetchFromGitHub,
cmake,
dtc,
pkgs,
}:
let
inherit (lib.trivial) importJSON;
versionSpec = importJSON ./version.json;
versioning = import ../../../lib/versioning.nix { inherit lib pkgs; };
selected = versioning.selectVariant versionSpec null null;
sources = versioning.mkAllSources selected;
in
stdenv.mkDerivation (_finalAttrs: {
pname = "raspberrypi-utils";
version = "unstable-2025-12-26";
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "utils";
rev = "230d67ad28e74b17a42064453b2163991cb51a5e";
hash = "sha256-x3E8DwKKCmjxloCRB8djqNwuyrR4rok+JcNgPQ1ZH3Y=";
};
src = sources.utils;
buildInputs = [
dtc # dtmerge depends on libfdt

View File

@@ -0,0 +1,12 @@
{
"schemaVersion": 1,
"sources": {
"utils": {
"fetcher": "github",
"owner": "raspberrypi",
"repo": "utils",
"rev": "230d67ad28e74b17a42064453b2163991cb51a5e",
"hash": "sha256-x3E8DwKKCmjxloCRB8djqNwuyrR4rok+JcNgPQ1ZH3Y="
}
}
}

View File

@@ -2,19 +2,22 @@
lib,
stdenvNoCC,
fetchFromGitHub,
pkgs,
}:
let
inherit (lib.trivial) importJSON;
versionSpec = importJSON ./version.json;
versioning = import ../../../lib/versioning.nix { inherit lib pkgs; };
selected = versioning.selectVariant versionSpec null null;
vars = selected.variables or {};
sources = versioning.mkAllSources selected;
in
stdenvNoCC.mkDerivation rec {
# NOTE: this should be updated with linux_rpi
pname = "raspberrypi-firmware";
version = "1.20250915";
version = vars.version;
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "firmware";
rev = version;
hash = "sha256-DqVgsPhppxCsZ+H6S7XY5bBoRhOgPipKibDwikqBk08=";
};
src = sources.firmware;
installPhase = ''
mkdir -p $out/share/raspberrypi/

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "1.20250915"
},
"sources": {
"firmware": {
"fetcher": "github",
"owner": "raspberrypi",
"repo": "firmware",
"tag": "${version}",
"hash": "sha256-DqVgsPhppxCsZ+H6S7XY5bBoRhOgPipKibDwikqBk08="
}
}
}

View File

@@ -0,0 +1,12 @@
{
"schemaVersion": 1,
"sources": {
"sys-mods": {
"fetcher": "github",
"owner": "RPi-Distro",
"repo": "raspberrypi-sys-mods",
"rev": "063d092c528c09b9dad5d7ed187ebf110a53303b",
"hash": "sha256-vi89lzfuLS9xKHDnlpm7Aw1UCOGCcMfd0cQq0rA9yOQ="
}
}
}

View File

@@ -2,17 +2,21 @@
lib,
stdenvNoCC,
fetchzip,
pkgs,
}:
let
inherit (lib.trivial) importJSON;
versionSpec = importJSON ./version.json;
versioning = import ../../../lib/versioning.nix { inherit lib pkgs; };
selected = versioning.selectVariant versionSpec null null;
vars = selected.variables or {};
sources = versioning.mkAllSources selected;
in
stdenvNoCC.mkDerivation rec {
pname = "uefi-rpi4";
version = "1.50";
version = vars.version;
src = fetchzip {
url = "https://github.com/pftf/RPi4/releases/download/v${version}/RPi4_UEFI_Firmware_v${version}.zip";
stripRoot = false;
hash = "sha256-g8046/Ox0hZgvU6u3ZfC6HMqoTME0Y7NsZD6NvUsp7w=";
};
src = sources.firmware;
sourceRoot = ".";

View File

@@ -0,0 +1,14 @@
{
"schemaVersion": 1,
"variables": {
"version": "1.50"
},
"sources": {
"firmware": {
"fetcher": "url",
"urlTemplate": "https://github.com/pftf/RPi4/releases/download/v${version}/RPi4_UEFI_Firmware_v${version}.zip",
"hash": "sha256-g8046/Ox0hZgvU6u3ZfC6HMqoTME0Y7NsZD6NvUsp7w=",
"extra": { "unpack": "zip", "stripRoot": false }
}
}
}

View File

@@ -2,8 +2,16 @@
lib,
stdenvNoCC,
fetchurl,
pkgs,
}:
let
inherit (lib.trivial) importJSON;
versionSpec = importJSON ./version.json;
versioning = import ../../../lib/versioning.nix { inherit lib pkgs; };
selected = versioning.selectVariant versionSpec null null;
vars = selected.variables or {};
sources = versioning.mkAllSources selected;
defaultConfig = ''
EOF
armstub=RPI_EFI.fd
@@ -41,12 +49,9 @@ let
in
stdenvNoCC.mkDerivation rec {
pname = "uefi-rpi5";
version = "test1";
version = vars.version;
src = fetchurl {
url = "https://github.com/NumberOneGit/rpi5-uefi/releases/download/${version}/RPI_EFI.fd";
hash = "sha256-GIgru10KCol9PXcdgR2d1BHf2In07OQ2P1kru7GUupY=";
};
src = sources.firmware;
sourceRoot = ".";

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"variables": {
"version": "test1"
},
"sources": {
"firmware": {
"fetcher": "url",
"urlTemplate": "https://github.com/NumberOneGit/rpi5-uefi/releases/download/${version}/RPI_EFI.fd",
"hash": "sha256-GIgru10KCol9PXcdgR2d1BHf2In07OQ2P1kru7GUupY="
}
}
}