mapbox / mapbox/mason

Revisiting system packages

Open
#273 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ng
Dominant language
Python
Stars
258
Forks
68
PR merge metrics
No merged PRs in 30d

Description

Per chat with @kkaefer - Mason `system` packages are no longer in common use. We should consider fixing the problems we've experienced in using them. And if this is not viable or desirable we should move on deprecating and removing them.

The are not in common use because of the relative ease, for example, of just doing `-lz` instead of trying to get `zlib system` working on multiple architectures.

Another problem with system packages is that they are not published, which makes their usage inconsistent and not viable currently from `mason.cmake`. Originally there was no need to publish them because they were empty anyway and all of the logic was in the script.sh. That’s no longer true now that we are using mason.ini.
- previously: #65

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the system package behavior described in this issue and the prior discussion in #65, including how mason.ini and mason.cmake handle unpublished packages. Determine whether system packages can work consistently across architectures; done means either a viable fix is defined or a deprecation and removal path is agreed.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system, tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.