tauri-apps / tauri-apps/libappindicator-rs
Consider `pkg-config` for finding system dependencies at build time
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 48
- Forks
- 20
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 1
Description
Is your feature request related to a problem? Please describe.
When packaging applications that relies on libappindicator-rs, it's required to wrap the final binary with a LD_LIBRARY_PATH or a LD_PRELOAD or to patch this dependency to find the actual dependency.
Most packagers are not used to these techniques and therefore spends some time discovering what is the right method.
Describe the solution you'd like
If we could rely on pre-existing mechanisms such as pkg-config (that are often used in -sys variants in Rust ecosystem), this problem would entirely go away by itself. Record the proper path at build-time where pkg-config would point where the dynamic library would be.
Describe alternatives you've considered
Do one of the above hack.
Additional context
This came up while packaging https://github.com/tchapgouv/tchap-desktop for NixOS which relies on libappindicator-rs indirectly.
In NixOS, dependencies are usually injected at build-time, so it's unexpected that a program would rely on the ambient environment and expect that the library would appear "magically" without declaring a dependency upon it in the build process.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue does not name a source file or test. Start by reviewing the Rust build configuration and how libappindicator is located at build time, then investigate the project's existing dependency setup and pkg-config conventions. Done means packaged binaries locate the system library without LD_LIBRARY_PATH, LD_PRELOAD, or downstream patching.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, rust
- Domain
- build-system, operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100