Skip to content

Conversation

@arbormoss
Copy link
Contributor

@arbormoss arbormoss commented Dec 22, 2025

This adds tooling for uxn, the uxn half of the uxn/varvara computing stack.

This is a draft dependent on a rolling release version in addition to the current permanently frozen stable version.

See this Discord message for the full versioning issue or this backup of the conversion for conversation on the versioning issue.

The stable version is currently functional.

Implementing the nightly version is TODO at time of initial draft PR.

This should close #8538

@arbormoss arbormoss mentioned this pull request Dec 22, 2025
@arbormoss arbormoss changed the title add: uxn virtual machine add: uxn Dec 22, 2025
@arbormoss arbormoss marked this pull request as ready for review December 31, 2025 21:35
@arbormoss
Copy link
Contributor Author

arbormoss commented Dec 31, 2025

This PR is ready.

The files are currently in uxn/stable in anticipation of a nightly.

uxn nightly is dependent on a sourcehut nightly macro, which has some issues in #8538 .

This PR was tested on terra-43 because of issues right now with frawhide.

# is permanently frozen. A nightly will be added once the
# sourcehut versioning script is done.

%define debug_package %nil
Copy link
Member

@metcya metcya Dec 31, 2025

Choose a reason for hiding this comment

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

Is this needed?

Looking around build.sh, you might be able to just patch CFLAGS to include the -g flag.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Patching -g directly doesn't work because if the internal debug variable isn't set to 1 it will make sure to not debug:

# ./build.sh
. . .
if [ $debug = 1 ];
then
	echo "[debug]"
	CFLAGS="${CFLAGS} -DDEBUG -Wpedantic -Wshadow -Wextra -Werror=implicit-int -Werror=incompatible-pointer-types -Werror=int-conversion -Wvla -g -Og -fsanitize=address -fsanitize=undefined"
else
	CFLAGS="${CFLAGS} -DNDEBUG -O2 -g0 -s"
fi
. . .

I just pushed a fix that just uses sed to set the debug var within build.sh.

Copy link
Member

@metcya metcya Dec 31, 2025

Choose a reason for hiding this comment

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

In that case I think it would be better to keep the %global debug_package %{nil} than set the debug var. I think its better to not have the debug package than to distribute an unoptimized debug build of the package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Uxn Versioning

3 participants