Github messages for voidlinux
 help / color / mirror / Atom feed
From: meator <meator@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: New package: gazou-0.3.3
Date: Fri, 12 Jan 2024 21:20:43 +0100	[thread overview]
Message-ID: <20240112202043.DkBS3SMrht4J3drp5GZlkp2cw05ueKQEIcENLI2wTLc@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-48160@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 3371 bytes --]

New comment by meator on void-packages repository

https://github.com/void-linux/void-packages/pull/48160#issuecomment-1889900817

Comment:
This isn't really a place to ask about the basics of xbps-src, but I'll try to explain it a bit anyway.

> Is this generally true for build instructions more broadly? The extra instructions are just for intermitiary steps?

The build proces has several [phases](https://github.com/void-linux/void-packages/blob/master/Manual.md#package-build-phases). They correspond to a `do_<phase>()` function in the template. Only `do_install()` is mandatory, but `do_configure()` and `do_build()` are needed most of the time. The [build styles](https://github.com/void-linux/void-packages/blob/master/Manual.md#build_scripts) provide generic definitions of these. For example `do_configure()` of `build_style=cmake` is defined here: https://github.com/void-linux/void-packages/blob/master/common/build-style/cmake.sh#L4C1-L89 It is much more complex than `cmake .` because it needs to handle Void linux specific things, cross compilation (this is an important step that gets abstracted away by the build style which is great because you don't have to deal with it), set prefix to `/usr` and more. Void linux has two libc implementations (glibc and musl) and a bunch of supported architectures. The template should support all of these (unless it can't). The build styles are written to handle this. You should prefer using predefined build styles instead of writing it from scratch (which you can do by just defining the function in the template) because you would have to do all these things yourself.

You can influence these build styles by setting some variables like `configure_args`, `make_build_args` etc. (it depends on the build style chosen). There are also `pre_<phase>()` and `post_<phase>()` functions that get executed before and after the phase runs. You can use these to do some setup, [fixup the upstream build system a bit if necessary](https://github.com/void-linux/void-packages/blob/master/srcpkgs/windowchef/template#L14-L17) or [install a license if required](https://github.com/void-linux/void-packages/blob/master/srcpkgs/windowchef/template#L19-L21)[^1]. [^2]

Then you have the variables like `version`, `short_desc` etc. They are pretty self explanatory. Read the [manual](https://github.com/void-linux/void-packages/blob/master/Manual.md) for more info.

If you're having trouble, try looking at some other templates for inspiration. And read the [manual](https://github.com/void-linux/void-packages/blob/master/Manual.md). Use `xlint` on your templates.

> In terms of moving this package forward into the repos, what else do we have left in the process?

Merging of PRs can take some time. I believe that this PR is ready to be merged, some maintainer just has to take a look at it and merge it. Merging of new packages can take longer compared to simple package update PRs. See [CONTRIBUTING](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md)

[^1]: Some licenses state that a copy of the license must be distributed alongside the program. You usually don't have to worry about it. `xlint` will warn you if your program is using one of these licenses.
[^2]: I have chosen the `windowchef` at random as an example to link to, it demonstrates the usage of these functions.

  parent reply	other threads:[~2024-01-12 20:20 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-10 22:19 [PR PATCH] " meator
2024-01-10 22:47 ` [PR PATCH] [Updated] " meator
2024-01-11  3:39 ` jaminW55
2024-01-11  3:43 ` jaminW55
2024-01-11  3:43 ` jaminW55
2024-01-11  3:44 ` jaminW55
2024-01-11  3:44 ` jaminW55
2024-01-11  3:44 ` jaminW55
2024-01-11  8:11 ` meator
2024-01-11 22:47 ` jaminW55
2024-01-12  7:03 ` meator
2024-01-12 17:13 ` jaminW55
2024-01-12 17:15 ` jaminW55
2024-01-12 20:20 ` meator [this message]
2024-01-17  7:55 ` jaminW55
2024-01-31  3:37 ` jaminW55
2024-01-31 17:42 ` meator
2024-02-01 23:46 ` jaminW55
2024-02-01 23:47 ` jaminW55
2024-02-02  0:00 ` [PR REVIEW] " jaminW55
2024-02-02  0:00 ` jaminW55
2024-02-02  7:45 ` [PR PATCH] [Updated] " meator
2024-02-05 22:20 ` [PR REVIEW] " Piraty
2024-02-05 22:21 ` Piraty
2024-02-05 22:22 ` Piraty
2024-02-05 22:25 ` [PR PATCH] [Updated] " meator
2024-02-05 22:26 ` [PR REVIEW] " meator
2024-02-05 22:28 ` meator
2024-02-05 22:34 ` [PR PATCH] [Updated] " meator
2024-02-05 22:39 ` [PR REVIEW] " meator
2024-02-05 23:18 ` [PR PATCH] [Merged]: " Piraty

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240112202043.DkBS3SMrht4J3drp5GZlkp2cw05ueKQEIcENLI2wTLc@z \
    --to=meator@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).