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

[tools] Add system package manger with ncurses as example #177

Merged
merged 23 commits into from
Feb 4, 2025

Conversation

uilianries
Copy link
Member

@uilianries uilianries commented Jan 31, 2025

Related to conan-io/docs#3974

Documentation PR: conan-io/docs#3978

  • Added a new section in tools/ only related to the system namespace.
  • As a real example, added ncurses, it's covered natively by CMake and pkgconfig

@uilianries uilianries requested a review from czoido January 31, 2025 08:32
Copy link
Member

@memsharded memsharded left a comment

Choose a reason for hiding this comment

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

It might be better to not have a test_package() for it, but a regular other package recipe that uses it explicitly, so it is visible the if self.settings.os == "Linux": self.requires("ncurses/system") explicitly

@uilianries
Copy link
Member Author

It might be better to not have a test_package() for it, but a regular other package recipe that uses it explicitly, so it is visible the if self.settings.os == "Linux": self.requires("ncurses/system") explicitly

Addressed on the commit 3874e44

Removed the test package, but added a "consumer" application instead. Also, adapted the CI strip to not only build both packages but also find and execute the new application.

Signed-off-by: Uilian Ries <[email protected]>
@uilianries
Copy link
Member Author

The script test will run only for Linux because we need a system package manager for this example.

Copy link
Member

@memsharded memsharded left a comment

Choose a reason for hiding this comment

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

Almost there, looking good

Signed-off-by: Uilian Ries <[email protected]>
Copy link
Member

@memsharded memsharded left a comment

Choose a reason for hiding this comment

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

Great!

Signed-off-by: Uilian Ries <[email protected]>
Signed-off-by: Uilian Ries <[email protected]>
@uilianries
Copy link
Member Author

Add extra support for Mac (homebrew) and FreeBSD (pkg):

@uilianries

This comment was marked as outdated.

@uilianries
Copy link
Member Author

The commit simplified the consumer example: It shows a colored message on the screen, with ncurses version, then, exits:

Screenshot from 2025-02-03 15-18-41

@memsharded
Copy link
Member

Great, good job!

@uilianries
Copy link
Member Author

@memsharded @czoido I just skipped the example app execution on the commit e3607c1

As we are using ncurses, it will need a configured terminal, which is not the case in the current CI that's building the examples. We could handle terminfo as workaround, but sounds too much. Locally, we should not have this problem when running the application.

@czoido czoido merged commit b8122ad into conan-io:main Feb 4, 2025
4 checks passed
@uilianries uilianries deleted the system/package-manager branch February 4, 2025 15:01
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.

3 participants