Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libui-ng #46

Closed
kojix2 opened this issue Jan 14, 2022 · 8 comments
Closed

libui-ng #46

kojix2 opened this issue Jan 14, 2022 · 8 comments

Comments

@kojix2
Copy link
Owner

kojix2 commented Jan 14, 2022

In future releases, we will consider including libui-ng in the package instead of the original libui.

andlabs/libui#547
https://github.com/libui-ng/libui-ng

AndyObtiva/glimmer-dsl-libui#17

@rubyFeedback
Copy link
Collaborator

This would be nice. There were some API changes already, from the changelog:

https://github.com/libui-ng/libui-ng/blob/master/CHANGELOG.md

Added

uiBoxNumChildren() API
uiFormNumChildren() API
uiComboboxInsertAt() API
uiComboboxDelete() API
uiComboboxClear() API
uiWindowResizeable() API
uiWindowSetResizeable() API
uiDrawPathEnded() API
uiFreeFontDescriptor() API
uiLoadControlFont() API

@kojix2
Copy link
Owner Author

kojix2 commented Jan 28, 2022

Think about packing a more "static" DLL into the gem instead of a shared version to prevent problems on Windows. Or, consider packing the necessary DLLs into the gem.
See #32 (comment)

Can I bundle the Visual Studio 2015 C++ Redistributable DLL's with my application?

@kojix2
Copy link
Owner Author

kojix2 commented Feb 16, 2022

There is an undocumented environment variable called LIBUIDIR. You can use this environment variable to specify the path to the directory where the shared LibUI libraries are located.

git clone https://github.com/libui-ng/libui-ng
cd libui-ng
meson setup build
ninja -C build

cd build/meson-out
ln -s libui.so.0 libui.so # Linux
export LIBUIDIR=$(pwd)

@kojix2
Copy link
Owner Author

kojix2 commented Mar 22, 2022

libui-ng provides Github Actions for build.
Each time a commit is pushed to the repository, libui-ng is automatically built and the artifacts are uploaded to the Actions page.

For example,
https://github.com/libui-ng/libui-ng/actions/runs/1801977866

@kojix2
Copy link
Owner Author

kojix2 commented May 21, 2022

Added Rake task to build libui-ng

rake libui-ng:build

Confirmed to work on GithubActions macOS and Ubuntu.

@kojix2
Copy link
Owner Author

kojix2 commented May 23, 2022

Added rake task to download develoment build.

rake libui-ng:mac         # Download dev build for Mac to vendor directory
rake libui-ng:ubuntu_x64  # Download dev build for Ubuntu to vendor directory

@kojix2
Copy link
Owner Author

kojix2 commented Nov 13, 2022

Added rake task to download pre-build shared library for each platform.

rake vendor:kojix2:auto           # Download kojix2 pre-build for your platform to vendor directory
rake vendor:kojix2:mac            # Download kojix2 pre-build for Mac to vendor directory
rake vendor:kojix2:ubuntu_x64     # Download kojix2 pre-build for Ubuntu to vendor directory
rake vendor:kojix2:windows_x64    # Download kojix2 pre-build for Windows to vendor directory
rake vendor:kojix2:windows_x86    # Download kojix2 pre-build for Windows to vendor directory

I have released a preview version of the Gem.

  • gem build --platform x86_64-linux did not work as expected. It needs to be improved.

@kojix2
Copy link
Owner Author

kojix2 commented Nov 12, 2023

The rake tasks to download the original libui libraries has been removed from the Rakefile.
The project has been moved to libui-ng.

@kojix2 kojix2 closed this as completed Nov 12, 2023
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

No branches or pull requests

2 participants