push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "u-config";
version = "0.33.1";
src = fetchFromGitHub {
owner = "skeeto";
repo = "u-config";
tag = "v${finalAttrs.version}";
hash = "sha256-r1zcXKLqw/gK+9k3SX7OCBaZhvV2ya5VC9O3h+WdkyY=";
};
makeFlags = [
"CROSS=${stdenv.cc.targetPrefix}"
"CC=${lib.getExe stdenv.cc}"
];
nativeBuildInputs = [ pkg-config ];
buildFlags = [ "pkg-config" ];
installPhase = ''
runHook preInstall
install -Dm755 pkg-config -t $out/bin
runHook postInstall
'';
meta = {
description = "Smaller, simpler, portable pkg-config clone";
homepage = "https://github.com/skeeto/u-config";
license = lib.licenses.unlicense;
maintainers = with lib.maintainers; [ sigmanificient ];
platforms = lib.platforms.all;
};
})

View File

@@ -0,0 +1,204 @@
{
lib,
u-root,
which,
}:
u-root.overrideAttrs (prevAttrs: {
subPackages = [
"cmds/boot/boot"
"cmds/boot/fitboot"
"cmds/boot/pxeboot"
"cmds/cluster/nodestats"
"cmds/contrib/fbptcat"
"cmds/core/backoff"
"cmds/core/base64"
"cmds/core/basename"
"cmds/core/blkid"
"cmds/core/brctl"
"cmds/core/cat"
"cmds/core/chmod"
"cmds/core/chroot"
"cmds/core/cmp"
"cmds/core/comm"
"cmds/core/cp"
"cmds/core/cpio"
"cmds/core/date"
"cmds/core/dd"
"cmds/core/df"
"cmds/core/dhclient"
"cmds/core/dirname"
"cmds/core/dmesg"
"cmds/core/du"
"cmds/core/echo"
"cmds/core/false"
"cmds/core/find"
"cmds/core/free"
"cmds/core/fusermount"
"cmds/core/gosh"
"cmds/core/gpgv"
"cmds/core/gpt"
"cmds/core/grep"
"cmds/core/gzip"
"cmds/core/head"
"cmds/core/hexdump"
"cmds/core/hostname"
"cmds/core/hwclock"
"cmds/core/id"
"cmds/core/init"
"cmds/core/insmod"
"cmds/core/io"
"cmds/core/ip"
"cmds/core/kexec"
"cmds/core/kill"
"cmds/core/lddfiles"
"cmds/core/ln"
"cmds/core/lockmsrs"
"cmds/core/losetup"
"cmds/core/ls"
"cmds/core/lsdrivers"
"cmds/core/lsmod"
"cmds/core/man"
"cmds/core/md5sum"
"cmds/core/mkdir"
"cmds/core/mkfifo"
"cmds/core/mknod"
"cmds/core/mktemp"
"cmds/core/more"
"cmds/core/mount"
"cmds/core/msr"
"cmds/core/mv"
"cmds/core/netcat"
"cmds/core/netstat"
"cmds/core/nohup"
"cmds/core/ntpdate"
"cmds/core/pci"
"cmds/core/ping"
"cmds/core/poweroff"
"cmds/core/printenv"
"cmds/core/ps"
"cmds/core/pwd"
"cmds/core/readlink"
"cmds/core/realpath"
"cmds/core/rm"
"cmds/core/rmmod"
"cmds/core/rsdp"
"cmds/core/scp"
"cmds/core/seq"
"cmds/core/shasum"
"cmds/core/shutdown"
"cmds/core/sleep"
"cmds/core/sluinit"
"cmds/core/sort"
"cmds/core/sshd"
"cmds/core/strace"
"cmds/core/strings"
"cmds/core/stty"
"cmds/core/switch_root"
"cmds/core/sync"
"cmds/core/tail"
"cmds/core/tar"
"cmds/core/tee"
"cmds/core/time"
"cmds/core/timeout"
"cmds/core/touch"
"cmds/core/tr"
"cmds/core/true"
"cmds/core/truncate"
"cmds/core/ts"
"cmds/core/tty"
"cmds/core/umount"
"cmds/core/uname"
"cmds/core/uniq"
"cmds/core/unmount"
"cmds/core/unshare"
"cmds/core/uptime"
"cmds/core/watchdog"
"cmds/core/watchdogd"
"cmds/core/wc"
"cmds/core/wget"
"cmds/core/which"
"cmds/core/xargs"
"cmds/core/yes"
"cmds/exp/acpicat"
"cmds/exp/acpigrep"
"cmds/exp/ansi"
"cmds/exp/bootvars"
"cmds/exp/bzimage"
"cmds/exp/cbmem"
"cmds/exp/console"
"cmds/exp/crc"
"cmds/exp/disk_unlock"
"cmds/exp/dmidecode"
"cmds/exp/dumpebda"
"cmds/exp/dumpmemmap"
"cmds/exp/ectool"
"cmds/exp/ed"
"cmds/exp/efivarfs"
"cmds/exp/esxiboot"
"cmds/exp/fbnetboot"
"cmds/exp/fbsplash"
"cmds/exp/fdtdump"
"cmds/exp/field"
"cmds/exp/fixrsdp"
"cmds/exp/forth"
"cmds/exp/freq"
"cmds/exp/getty"
"cmds/exp/hdparm"
"cmds/exp/ipmidump"
"cmds/exp/kconf"
"cmds/exp/localboot"
"cmds/exp/lsfabric"
"cmds/exp/madeye"
"cmds/exp/modprobe"
"cmds/exp/netbootxyz"
"cmds/exp/newsshd"
"cmds/exp/nvme_unlock"
"cmds/exp/page"
"cmds/exp/partprobe"
"cmds/exp/pflask"
"cmds/exp/pox"
"cmds/exp/pxeserver"
"cmds/exp/readelf"
"cmds/exp/readpe"
"cmds/exp/run"
"cmds/exp/rush"
"cmds/exp/smbios_transfer"
"cmds/exp/smn"
"cmds/exp/srvfiles"
"cmds/exp/ssh"
"cmds/exp/syscallfilter"
"cmds/exp/systemboot"
"cmds/exp/tac"
"cmds/exp/tc"
"cmds/exp/tcpdump"
"cmds/exp/tcz"
"cmds/exp/tftp"
"cmds/exp/traceroute"
"cmds/exp/uefiboot"
"cmds/exp/vboot"
"cmds/exp/vmboot"
"cmds/exp/watch"
"cmds/exp/zbi"
"cmds/exp/zimage"
"cmds/extra/tsort"
"cmds/fwtools/flash"
"cmds/fwtools/spidev"
];
allowGoReference = false;
nativeCheckInputs = [ which ];
preCheck = ''
rm cmds/core/brctl/*_test.go # Error: open /sys/class/net: no such file or directory
rm cmds/core/du/*_test.go # Error: expected 0 got 8
rm cmds/core/mkdir/*_test.go # Error: Mode = 'drwxr-xr-x', want: 'dgrwxrwxrwx'
rm cmds/core/netcat/*_test.go # Error: parseRemoteAddr(tcp, ::1) = [::1 localhost], want a subset of [::1 ip6-localhost]
rm cmds/exp/bzimage/*_test.go # Error: compressed KernelCode too big: was 611116, now 611124
'';
meta = (lib.removeAttrs prevAttrs.meta [ "mainProgram" ]) // {
longDescription = "All u-root commands compiles as standalone binaries";
};
})

View File

@@ -0,0 +1,77 @@
{
lib,
# Build fails with Go 1.25, with the following error:
# 'vendor/golang.org/x/tools/internal/tokeninternal/tokeninternal.go:64:9: invalid array length -delta * delta (constant -256 of type int64)'
# Wait for upstream to update their vendored dependencies before unpinning.
buildGo124Module,
fetchFromGitHub,
coreutils,
bash,
nix-update-script,
linuxManualConfig,
fetchurl,
linux_latest,
}:
buildGo124Module (finalAttrs: {
pname = "u-root";
version = "0.15.0";
src = fetchFromGitHub {
owner = "u-root";
repo = "u-root";
tag = "v${finalAttrs.version}";
hash = "sha256-8B2H3AwGo9friveBk4bijOph9bSSNR7PPKJYEuywgm4=";
};
vendorHash = null;
subPackages = [ "." ];
env.CGO_ENABLED = "0";
ldflags = [ "-s" ];
allowGoReference = true;
# The tests want to copy /bin/bash and /bin/ls, but we don't have those.
# As these are interesting e2e tests to check if things work, we substitute
# them with the actual paths instead of just skipping the tests.
preCheck = ''
substituteInPlace ./uroot_test.go \
--replace-fail '-files=/bin/bash"' '-files=${bash}/bin/bash:bin/bash"' \
--replace-fail '-files=/bin/ls"' '-files=${coreutils}/bin/ls:bin/ls"' \
--replace-fail '-files=/bin/bash' '-files=${bash}/bin/bash'
'';
passthru = {
# Somewhat minimal kernel config for Go/u-root, used by upstream for testing.
# This can be used to quickly run u-root locally with proper serial console output.
kernel-amd64 = linuxManualConfig {
inherit (linux_latest) version src;
configfile = fetchurl {
url = "https://raw.githubusercontent.com/hugelgupf/vmtest/5d9f3d34a58dc7b13bca786e8ac32d3e2ce4e95d/images/kernel-amd64/config_linux.txt";
hash = "sha256-CjhWWK6YwSOXP10mpnJjG5nwLWs2cDtebvlDBLzN5fI=";
};
allowImportFromDerivation = true;
};
updateScript = nix-update-script { };
};
meta = {
description = "Fully Go userland with Linux bootloaders";
longDescription = ''
u-root can create a one-binary root file system (initramfs) containing a busybox-like set of tools written in Go.
The package exposes `u-root.kernel-amd64` passthru for a minimal and pre-configured kernel to be used locally with QEMU.
'';
homepage = "https://u-root.org/";
downloadPage = "https://github.com/u-root/u-root";
changelog = "https://github.com/u-root/u-root/blob/${finalAttrs.src.rev}/RELEASES";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ katexochen ];
mainProgram = "u-root";
platforms = lib.platforms.linux;
};
})