bulk versions.json
This commit is contained in:
@@ -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: {
|
||||
|
||||
16
packages/raspberrypi/ffmpeg-rpi/version.json
Normal file
16
packages/raspberrypi/ffmpeg-rpi/version.json
Normal 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="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
12
packages/raspberrypi/libraspberrypi/version.json
Normal file
12
packages/raspberrypi/libraspberrypi/version.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"sources": {
|
||||
"userland": {
|
||||
"fetcher": "github",
|
||||
"owner": "raspberrypi",
|
||||
"repo": "userland",
|
||||
"rev": "a54a0dbb2b8dcf9bafdddfc9a9374fb51d97e976",
|
||||
"hash": "sha256-Edca6nkykdXKFF5MGq6LeKirMLHTZBCbFWvHTNHMWJ4="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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 =
|
||||
{
|
||||
|
||||
19
packages/raspberrypi/linux-rpi/version.json
Normal file
19
packages/raspberrypi/linux-rpi/version.json
Normal 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."
|
||||
}
|
||||
}
|
||||
@@ -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 = ".";
|
||||
|
||||
@@ -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="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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/
|
||||
|
||||
15
packages/raspberrypi/raspberrypi-overlays/version.json
Normal file
15
packages/raspberrypi/raspberrypi-overlays/version.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"variables": {
|
||||
"version": "stable_20250916"
|
||||
},
|
||||
"sources": {
|
||||
"linux": {
|
||||
"fetcher": "github",
|
||||
"owner": "raspberrypi",
|
||||
"repo": "linux",
|
||||
"tag": "${version}",
|
||||
"hash": "sha256-HG8Oc04V2t54l0SOn4gKmNJWQUrZfjWusgKcWvx74H0=="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
12
packages/raspberrypi/raspberrypi-utils/version.json
Normal file
12
packages/raspberrypi/raspberrypi-utils/version.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"sources": {
|
||||
"utils": {
|
||||
"fetcher": "github",
|
||||
"owner": "raspberrypi",
|
||||
"repo": "utils",
|
||||
"rev": "230d67ad28e74b17a42064453b2163991cb51a5e",
|
||||
"hash": "sha256-x3E8DwKKCmjxloCRB8djqNwuyrR4rok+JcNgPQ1ZH3Y="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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/
|
||||
|
||||
15
packages/raspberrypi/raspberrypifw/version.json
Normal file
15
packages/raspberrypi/raspberrypifw/version.json
Normal 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="
|
||||
}
|
||||
}
|
||||
}
|
||||
12
packages/raspberrypi/udev-rules/version.json
Normal file
12
packages/raspberrypi/udev-rules/version.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"sources": {
|
||||
"sys-mods": {
|
||||
"fetcher": "github",
|
||||
"owner": "RPi-Distro",
|
||||
"repo": "raspberrypi-sys-mods",
|
||||
"rev": "063d092c528c09b9dad5d7ed187ebf110a53303b",
|
||||
"hash": "sha256-vi89lzfuLS9xKHDnlpm7Aw1UCOGCcMfd0cQq0rA9yOQ="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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 = ".";
|
||||
|
||||
|
||||
14
packages/raspberrypi/uefi-rpi4/version.json
Normal file
14
packages/raspberrypi/uefi-rpi4/version.json
Normal 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 }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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 = ".";
|
||||
|
||||
|
||||
13
packages/raspberrypi/uefi-rpi5/version.json
Normal file
13
packages/raspberrypi/uefi-rpi5/version.json
Normal 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="
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user