Skip to content

Commit 8ebad2a

Browse files
Update stacked: 9 packages (#577)
* Update mesa to 26.2.0 * Update cloudflared to 2026.7.3 * Update crane to 0.21.9 * Update uv to 0.12.2 * Update grafana to 13.1.2 * Update grype to 0.116.1 * Update pulumi to 3.256.0 * Update vim to 9.2.0914 * Update zola to 0.23.1 * grafana: 13 ships one binary — drop the removed grafana-server / grafana-cli The 12.4.3 -> 13.1.2 bump in this bundle fails to build on BOTH arches: + install -m 755 bin/grafana-server /build/output/usr/bin/grafana-server install: cannot stat 'bin/grafana-server': No such file or directory Upstream removed them. Verified by listing both tarballs: 12.4.3 bin/grafana 462,138,731 bin/grafana-server 2,557,169 bin/grafana-cli 2,557,169 13.1.2 bin/grafana 511,622,560 <- the only bin The two 12.x extras are byte-identical in SIZE — the same forwarder shipped twice — i.e. they were already shims for the `grafana server` / `grafana cli` subcommands, long deprecated. Grafana 13 finished the job. So this is not a packaging error, and not a bad sha: upstream changed which binaries the artifact ships. A version check cannot see that; only a build can. Dropped rather than re-created as local shims: nothing else in pkgs referenced either name (grepped *.ncl/*.sh/*.toml — the only hits were grafana's own build.sh and its outputs block, both fixed here). ## Tests The package had NONE. Added two, because "upstream changed which binaries the tarball ships" is exactly the class that hid here and the class that will recur: - smoketest — `grafana --version` - subcommands_replace_the_dropped_bins — asserts `grafana server --help` and `grafana cli --help` both work, so "we dropped two bins" can never quietly become "we dropped the functionality" Mutation-verified: pointing the second test at a nonexistent subcommand turns the suite red (`standalone tests...Fail`), so it can fail for the reason it exists. Built and checked on both the fixed and mutated trees: 15/15 Pass. --------- Co-authored-by: gominimal-pkgmgr-mgr[bot] <285843623+gominimal-pkgmgr-mgr[bot]@users.noreply.github.com> Co-authored-by: bryan <bryan@minimal.dev>
1 parent 85e65c3 commit 8ebad2a

10 files changed

Lines changed: 53 additions & 26 deletions

File tree

packages/cloudflared/build.ncl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ let go = import "../go/build.ncl" in
44
let toolchain = import "../toolchain/build.ncl" in
55
let glibc = import "../glibc/build.ncl" in
66

7-
let version = "2026.7.2" in
7+
let version = "2026.7.3" in
88
{
99
name = "cloudflared",
1010
build_deps = [
1111
{ file = "build.sh" } | Local,
1212
{
1313
url = "https://github.com/cloudflare/cloudflared/archive/refs/tags/%{version}.tar.gz",
14-
sha256 = "7c437dcf6c2b2efb25b93eaca4724f9be582d48fa97e020a11a177b36d14d606",
14+
sha256 = "8e452b1630064f5951e18a2537e66274e006eb2e83daa0d42a0adb3fab3ee788",
1515
extract = true,
1616
strip_prefix = "cloudflared-%{version}",
1717
} | Source,

packages/crane/build.ncl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ let go = import "../go/build.ncl" in
44
let toolchain = import "../toolchain/build.ncl" in
55
let glibc = import "../glibc/build.ncl" in
66

7-
let version = "0.21.8" in
7+
let version = "0.21.9" in
88
{
99
name = "crane",
1010
build_deps = [
1111
{ file = "build.sh" } | Local,
1212
{
1313
url = "https://github.com/google/go-containerregistry/archive/refs/tags/v%{version}.tar.gz",
14-
sha256 = "29a1b525881f89bf07c50537e40ea3609e2fe5d6851b9f62cf7452ab1104445d",
14+
sha256 = "6d8bce869afcc485b518cc0d59ea0ffe1090026db965806bc3be8793182528cc",
1515
extract = true,
1616
strip_prefix = "go-containerregistry-%{version}",
1717
} | Source,

packages/grafana/build.ncl

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
let { Attrs, BuildSpec, Local, OutputBin, OutputData, Source, .. } = import "minimal.ncl" in
1+
let { standaloneTest, Attrs, BuildSpec, Local, OutputBin, OutputData, Source, Test, .. } = import "minimal.ncl" in
22
let { target, .. } = import "config.ncl" in
33
let base = import "../base/build.ncl" in
44
let glibc = import "../glibc/build.ncl" in
55

6-
let version = "12.4.3" in
6+
let version = "13.1.2" in
77

8-
let amd64_sha256 = "64707f35d54a5441ecbc63c0b3b633b7e73fe404fac118e88574f56d70b08a93" in
9-
let arm64_sha256 = "825e31eb0aafcf026d7f04dd540042eedef42cb81a3d2832c296b27dacf7e95d" in
8+
let amd64_sha256 = "2215a38a59b573f114128e05f3836cb8708ac9b04b9283021ad28fdb88d71290" in
9+
let arm64_sha256 = "660cc31dbd159d98a3804ac5104b0aca0e0d95ee4e88a164ff63ddd72f9fda2e" in
1010

1111
{
1212
name = "grafana",
@@ -42,8 +42,6 @@ let arm64_sha256 = "825e31eb0aafcf026d7f04dd540042eedef42cb81a3d2832c296b27dacf7
4242

4343
outputs = {
4444
grafana = { glob = "usr/bin/grafana" } | OutputBin,
45-
grafana-server = { glob = "usr/bin/grafana-server" } | OutputBin,
46-
grafana-cli = { glob = "usr/bin/grafana-cli" } | OutputBin,
4745
public = { glob = "usr/share/grafana/public/**" } | OutputData,
4846
conf = { glob = "usr/share/grafana/conf/**" } | OutputData,
4947
},
@@ -58,4 +56,27 @@ let arm64_sha256 = "825e31eb0aafcf026d7f04dd540042eedef42cb81a3d2832c296b27dacf7
5856
repo = "grafana",
5957
},
6058
} | Attrs,
59+
60+
tests = {
61+
# The package had NO tests until the 12.4.3 -> 13.1.2 bump failed at
62+
# `install: cannot stat 'bin/grafana-server'`. That failure was loud only
63+
# because build.sh runs with `set -e`; the shape it belongs to — upstream
64+
# changing which binaries a tarball ships — is otherwise invisible until a
65+
# user runs the missing command.
66+
smoketest = standaloneTest "/bin/grafana --version",
67+
68+
subcommands_replace_the_dropped_bins =
69+
{
70+
class = 'Standalone,
71+
test_deps = [base],
72+
cmds = [
73+
# `grafana-server` and `grafana-cli` are gone as of 13. Assert the
74+
# subcommands that replaced them actually exist, so "we dropped two
75+
# bins" can never quietly become "we dropped the functionality".
76+
["/bin/bash", "-c", "/bin/grafana server --help >/dev/null"],
77+
["/bin/bash", "-c", "/bin/grafana cli --help >/dev/null"],
78+
],
79+
}
80+
| Test,
81+
},
6182
} | BuildSpec

packages/grafana/build.sh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,15 @@ set -ex
44
mkdir -p $OUTPUT_DIR/usr/bin
55
mkdir -p $OUTPUT_DIR/usr/share/grafana
66

7+
# Grafana 13 ships ONE binary. `grafana-server` and `grafana-cli` were removed
8+
# upstream — through 12.x they were two shims of 2,557,169 bytes each (identical
9+
# size, i.e. the same forwarder built twice) sitting next to the real ~500MB
10+
# `grafana`, long deprecated in favour of the `grafana server` / `grafana cli`
11+
# subcommands. Installing them unconditionally is what broke 12.4.3 -> 13.1.2:
12+
# install: cannot stat 'bin/grafana-server': No such file or directory
13+
# Nothing else in pkgs referenced either name, so they are dropped rather than
14+
# re-created as local shims.
715
install -m 755 bin/grafana $OUTPUT_DIR/usr/bin/grafana
8-
install -m 755 bin/grafana-server $OUTPUT_DIR/usr/bin/grafana-server
9-
install -m 755 bin/grafana-cli $OUTPUT_DIR/usr/bin/grafana-cli
1016

1117
cp -r public $OUTPUT_DIR/usr/share/grafana/
1218
cp -r conf $OUTPUT_DIR/usr/share/grafana/

packages/grype/build.ncl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ let go = import "../go/build.ncl" in
44
let toolchain = import "../toolchain/build.ncl" in
55
let glibc = import "../glibc/build.ncl" in
66

7-
let version = "0.116.0" in
7+
let version = "0.116.1" in
88
{
99
name = "grype",
1010
build_deps = [
1111
{ file = "build.sh" } | Local,
1212
{
1313
url = "gs://minimal-staging-archives/anchore/grype/v%{version}.tar.gz",
14-
sha256 = "5e8aa8cf1ae21e46f1f5aa8349af1416153a9a3299cd80f5bb1ef38fd9d38252",
14+
sha256 = "e64bd796bc93092ac9af1955193903d37f33ffbd4667a64a6b97c8f0dc61a2a7",
1515
extract = true,
1616
strip_prefix = "grype-%{version}",
1717
} | Source,

packages/mesa/build.ncl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@ let expat = import "../expat/build.ncl" in
2222
let zlib = import "../zlib/build.ncl" in
2323
let glibc = import "../glibc/build.ncl" in
2424

25-
let version = "26.1.6" in
25+
let version = "26.2.0" in
2626
{
2727
name = "mesa",
2828
build_deps = [
2929
{ file = "build.sh" } | Local,
3030
{
31-
# https://archive.mesa3d.org/mesa-26.1.6.tar.xz
31+
# https://archive.mesa3d.org/mesa-26.2.0.tar.xz
3232
# (mesa is developed at gitlab.freedesktop.org/mesa/mesa; archive.mesa3d.org
3333
# serves the release tarballs. The gs:// URL is a staged mirror of that.)
3434
url = "gs://minimal-staging-archives/mesa-%{version}.tar.xz",
35-
sha256 = "5296b88a0f1e012e2cb9ada150a2bbadf728ca81e5a4fb2ab43c83a4d2158606",
35+
sha256 = "efd4bb08cdb7c365a812cd4e6c9202ab55b2f22cdcd13c7d6c4f9647b799a4ef",
3636
extract = true,
3737
strip_prefix = "mesa-%{version}",
3838
} | Source,

packages/pulumi/build.ncl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ let go = import "../go/build.ncl" in
44
let toolchain = import "../toolchain/build.ncl" in
55
let glibc = import "../glibc/build.ncl" in
66

7-
let version = "3.255.0" in
7+
let version = "3.256.0" in
88
{
99
name = "pulumi",
1010
build_deps = [
1111
{ file = "build.sh" } | Local,
1212
{
1313
url = "gs://minimal-staging-archives/pulumi/pulumi/v%{version}.tar.gz",
14-
sha256 = "c0ed8c10910d73d484547ab5146b12de3f607d84b63414f7d51bed1017497a8b",
14+
sha256 = "43887337b91f4d61cb81d917947193337d4718dfe3ad21497857b431b279d886",
1515
extract = true,
1616
strip_prefix = "pulumi-%{version}",
1717
} | Source,

packages/uv/build.ncl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ let make = import "../make/build.ncl" in
66
let rust = import "../rust/build.ncl" in
77
let toolchain = import "../toolchain/build.ncl" in
88

9-
let version = "0.12.1" in
9+
let version = "0.12.2" in
1010
{
1111
name = "uv",
1212
build_deps = [
1313
{ file = "build.sh" } | Local,
1414
{
1515
url = "gs://minimal-staging-archives/uv-%{version}.tar.gz",
16-
sha256 = "4e87a6c0e5feddb55e080ba2e8b7ecc1379361471d724071b0c0e0ba5df72981"
16+
sha256 = "62e876d5ed5494f42bf72bc850022d6fb2137d0849503461176dd3fa27edbb81"
1717
} | Source,
1818
base,
1919
make,

packages/vim/build.ncl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ let toolchain = import "../toolchain/build.ncl" in
66
let acl = import "../acl/build.ncl" in
77
let ncurses = import "../ncurses/build.ncl" in
88

9-
let version = "9.2.0901" in
9+
let version = "9.2.0914" in
1010
{
1111
name = "vim",
1212
build_deps = [
1313
{ file = "build.sh" } | Local,
1414
{
1515
url = "gs://minimal-staging-archives/vim-%{version}.tar.gz",
16-
sha256 = "97389396da7de9bbcf6f4fa14dda5671557bbda8213324fd4040277057010b54"
16+
sha256 = "94f44ff0d08ceb717140906b70cbe613f3f3016e20e79cac43034d11322c6280"
1717
} | Source,
1818
base,
1919
make,

packages/zola/build.ncl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ let toolchain = import "../toolchain/build.ncl" in
77
let make = import "../make/build.ncl" in
88
let glibc = import "../glibc/build.ncl" in
99
let gcc = import "../gcc/build.ncl" in
10-
let version = "0.22.1" in
10+
let version = "0.23.1" in
1111
{
1212
name = "zola",
1313
build_deps = [
1414
{ file = "build.sh" } | Local,
1515
{
1616
url = "gs://minimal-staging-archives/getzola/zola/v%{version}.tar.gz",
17-
sha256 = "0f59479e05bce79e8d5860dc7e807ea818986094469ed8bf0bb46588ade95982",
17+
sha256 = "331240b037bbef0a15e6c1db5a2eb572097f12a362deb075a331dbb849928f83",
1818
extract = true,
1919
strip_prefix = "zola-%{version}",
2020
} | Source,
@@ -37,7 +37,7 @@ let version = "0.22.1" in
3737
{
3838
upstream_version = version,
3939
source_provenance = { category = 'GithubRepo, owner = "getzola", repo = "zola" },
40-
# zola relicensed to EUPL-1.2 at v0.22 (commit 3c9131d); v0.22.1 declares
40+
# zola relicensed to EUPL-1.2 at v0.22 (commit 3c9131d); v0.23.1 declares
4141
# `license = "EUPL-1.2"` in Cargo.toml and ships only the EUPL LICENSE file.
4242
license_spdx = "EUPL-1.2",
4343
} | Attrs,

0 commit comments

Comments
 (0)