diff --git a/packages/graphviz/build.ncl b/packages/graphviz/build.ncl index 7e03331d..01997274 100644 --- a/packages/graphviz/build.ncl +++ b/packages/graphviz/build.ncl @@ -21,14 +21,25 @@ let libwebp = import "../libwebp/build.ncl" in let pango = import "../pango/build.ncl" in let zlib = import "../zlib/build.ncl" in -let version = "14.1.1" in +let version = "15.1.0" in { name = "graphviz", build_deps = [ { file = "build.sh" } | Local, { - url = "gs://minimal-staging-archives/graphviz-%{version}.tar.bz2", - sha256 = "975f4b9a7a7a7b614900ecd12919ccbd36a680818cc6fc527389b93e919410f0", + # The GitLab REPO archive, not the release-registry tarball. + # + # graphviz 15.x stopped shipping CMake build files in its release + # tarball: `graphviz-15.1.0.tar.xz` is an autotools `make dist` output + # with ZERO CMakeLists.txt in it, while this recipe is CMake-based + # (`sed -i lib/CMakeLists.txt`, `cmake ...`). 14.1.1's tarball DID + # include them, so this is an upstream packaging change. + # + # The repo archive carries all 78 CMakeLists.txt — and, incidentally, + # none of the hardlink the dist tarball added, which the prefix-strip + # extraction path can't place. One artifact fixes both. + url = "https://gitlab.com/graphviz/graphviz/-/archive/%{version}/graphviz-%{version}.tar.gz", + sha256 = "cc673e3eb9013f40761590b2b071c0fb89ad5c5d694e25d4e1238c74df86c697", extract = true, strip_prefix = "graphviz-%{version}", } | Source, @@ -57,6 +68,11 @@ let version = "14.1.1" in ], cmd = "./build.sh", + # Exposes MINIMAL_ARG_VERSION so build.sh can enter the unstripped + # source directory. + build_args = { + include version, + }, outputs = { dot = { glob = "usr/bin/dot" } | OutputBin,