Skip to content

[libxml2] Migrate to Nanvix SDK#111

Merged
ppenna merged 1 commit into
nanvix/v2.12.9from
migration/nanvix-sdk
Jul 12, 2026
Merged

[libxml2] Migrate to Nanvix SDK#111
ppenna merged 1 commit into
nanvix/v2.12.9from
migration/nanvix-sdk

Conversation

@ppenna

@ppenna ppenna commented Jul 12, 2026

Copy link
Copy Markdown

Summary

  • build libxml2 with the verified Nanvix Clang SDK digest
  • consume the SDK-built zlib 1.3.1-nanvix-0.20.0 release from buildroot
  • keep runtime downloads execution-only and link through the SDK driver
  • emit relocatable xml2-config and pkg-config metadata
  • target Nanvix v0.20.0 microvm standalone at 256mb

Local validation

  • clean setup and build
  • functional test
  • Python formatting and type checks
  • release archive verification

Build against the verified Clang SDK and SDK-built zlib while keeping downloaded Nanvix artifacts runtime-only.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 3a354ddf-0f65-44b2-a2cb-81d4662a3587
Copilot AI review requested due to automatic review settings July 12, 2026 16:50

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Nanvix port of libxml2 to build against the Nanvix Clang/LLVM SDK (v0.20.0), consuming zlib from the Nanvix buildroot, and adjusts CI/docs to match the new toolchain and target support.

Changes:

  • Switch Nanvix build + CI to a pinned Nanvix Clang SDK container digest and require buildroot-provided headers/libs (zlib).
  • Update Nanvix target metadata to Nanvix v0.20.0 and microvm-only builds at 256MB.
  • Emit relocatable Nanvix xml2-config and pkg-config (libxml-2.0.pc) artifacts as part of the staged outputs.
Show a summary per file
File Description
README.md Documents Nanvix SDK pin, build commands, and microvm-only runtime constraints for v0.20.0.
.nanvix/z.py Pins default SDK docker image, enforces buildroot presence, and stages xml2-config + .pc outputs.
.nanvix/nanvix.toml Bumps Nanvix version to 0.20.0 and limits build matrix to microvm.
.nanvix/Makefile.nanvix Migrates to SDK clang/llvm-* tools and generates relocatable xml2-config/libxml-2.0.pc.
.github/workflows/nanvix-ci.yml Updates CI to use the pinned Nanvix Clang SDK docker image digest.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 5/5 changed files
  • Comments generated: 2
  • Review effort level: Low

Comment thread .nanvix/Makefile.nanvix
Comment on lines +97 to +103
@echo '#!/bin/sh' > $(BIN_OUT)/xml2-config
@echo 'prefix=$$(CDPATH= cd -- "$$(dirname -- "$$0")/.." && pwd)' >> $(BIN_OUT)/xml2-config
@echo 'case "$$1" in' >> $(BIN_OUT)/xml2-config
@echo ' --cflags) echo "-I$$prefix/include/libxml2" ;;' >> $(BIN_OUT)/xml2-config
@echo ' --libs) echo "-L$$prefix/lib -lxml2 -lz" ;;' >> $(BIN_OUT)/xml2-config
@echo ' --version) echo "2.12.9" ;;' >> $(BIN_OUT)/xml2-config
@echo 'esac' >> $(BIN_OUT)/xml2-config
Comment thread .nanvix/Makefile.nanvix
Comment on lines +105 to +107
@echo 'prefix=$${pcfiledir}/../..' > $(LIB_OUT)/pkgconfig/libxml-2.0.pc
@echo 'libdir=$${prefix}/lib' >> $(LIB_OUT)/pkgconfig/libxml-2.0.pc
@echo 'includedir=$${prefix}/include' >> $(LIB_OUT)/pkgconfig/libxml-2.0.pc
@ppenna
ppenna merged commit 691c1ed into nanvix/v2.12.9 Jul 12, 2026
14 checks passed
@ppenna
ppenna deleted the migration/nanvix-sdk branch July 12, 2026 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants