mesonbuild / mesonbuild/mesonwrap

Feature request: let patches point directly to Git repos

Open
#143 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
26
Forks
7
PR merge metrics
No merged PRs in 30d

Description

I think requiring patches to be tarballs adds an extra intermediate step that's (a) a bit of a burden, and (b) actually more friction than forking a 3rd party repo. For example, say I want to add a Meson config for a 3rd party repo that multiple projects use. Currently my options are...

### Option 1: non-VCS-ed config code:

1. Create a tarball with the `meson.build` file etc. and upload it somewhere.
2. Point the wrap file at this tarball.

Downside: the Meson config is code, and not versioning code is asking for trouble.

### Option 2: VCS-ed tarball:

1. Create a new repo, for my meson config additions.
2. Create a release tarball from this repository.
3. Point the wrap file at this tarball.

Downsides: I have to create release tarballs repeatedly*. I have to get the tarball URL repeatedly*.

(*any time I update the Meson config and need the updates in a project.)

### Option 3: fork upstream

1. Fork the 3rd party code into my own repo.
2. Point the wrap file at this repo.

Downsides: I have to get the commit hash repeatedly (see * above).

IMO option 3 is by far the least work, which is a bit weird to me.

It would be nice if there was an option to point at a patch that is simply a commit in a Git repo ie. eliminate step 2 from option 2 above. Then I neither need a fork, nor to upload tarballs.

Does this seem like a reasonable addition to the wrap system?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the wrap system's current tarball patch handling and the wrap-file format described in the issue. Define how a patch commit in a Git repository would be referenced, fetched, and applied, then identify the tests needed to cover the new reference form. Done means the proposal is implemented with coverage for fetching and applying a Git-backed patch.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, python
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.