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

Build only wide character library variants #76

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

mbargull
Copy link
Member

But still provide symlinks for w for backward compatibility.

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

closes gh-21

NOTE: This is not yet tested and marked as draft to be merged (if acceptable) only after the holidays.

refs:

I don't know what (if any) downsides there are to not having the wide character supported merged in to the non-*w named libraries.

@conda-forge-webservices
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@ismail
Copy link

ismail commented Dec 22, 2023

This should be macOS only imho, on Linux it's normal to have non-wide and wide versions side by side.

@mbargull
Copy link
Member Author

This should be macOS only imho, on Linux it's normal to have non-wide and wide versions side by side.

No, we have a heterogeneous landscape, see OP.
Most have separate non-wide variants, but some, e.g., Arch- or Nix-based do not.

For conda-forge it makes sense to look for homogeneity in its packages.
If there are no downsides in providing wide chars symbols in non-w libraries, then having separate libraries is just added complexity without benefit.

That said, I expect this to be carefully reviewed (e.g., ensure all non-wide symbols are properly exported, etc.).

@mbargull mbargull force-pushed the ncursesw-is-ncurses branch 2 times, most recently from 2e2432c to d358f48 Compare December 22, 2023 19:38
But still provide symlinks for <lib>w for backward compatibility.

Signed-off-by: Marcel Bargull <[email protected]>
…nda-forge-pinning 2023.12.22.11.33.24

Signed-off-by: Marcel Bargull <[email protected]>
@mbargull mbargull force-pushed the ncursesw-is-ncurses branch from d358f48 to 9bbba42 Compare December 22, 2023 19:54
Linux builds failed while linking the internal tests with
  ncurses.c:(.text.show_wbox_chars+0x92): undefined reference to `_nc_wacs'
No idea why that symbol is missing...

Signed-off-by: Marcel Bargull <[email protected]>
@mbargull
Copy link
Member Author

Linux builds didn't like to have libncursesw -> libncurses links, so I switched this around to be libncurses -> libncursesw.
This in turn makes the layout similar to

There are some more subtleties we'd want to iron out (e.g., only link main headers into top-level include?, replace some symlinks with linker scripts?, tinfo handling, build shared library for c++ binding?).

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.

Switch to widec only
2 participants